From fc21d1cae3c867a9593abcf7b0f957765961fdeb Mon Sep 17 00:00:00 2001 From: Tommaso Sciortino Date: Sun, 29 Jun 2025 00:50:53 -0700 Subject: [PATCH] Esc to exit privacy screen in error state (#2527) --- .../src/ui/privacy/CloudFreePrivacyNotice.tsx | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/packages/cli/src/ui/privacy/CloudFreePrivacyNotice.tsx b/packages/cli/src/ui/privacy/CloudFreePrivacyNotice.tsx index f9341bf9..25e14281 100644 --- a/packages/cli/src/ui/privacy/CloudFreePrivacyNotice.tsx +++ b/packages/cli/src/ui/privacy/CloudFreePrivacyNotice.tsx @@ -4,7 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -import { Box, Newline, Text } from 'ink'; +import { Box, Newline, Text, useInput } from 'ink'; import { RadioButtonSelect } from '../components/shared/RadioButtonSelect.js'; import { usePrivacySettings } from '../hooks/usePrivacySettings.js'; import { CloudPaidPrivacyNotice } from './CloudPaidPrivacyNotice.js'; @@ -23,15 +23,24 @@ export const CloudFreePrivacyNotice = ({ const { privacyState, updateDataCollectionOptIn } = usePrivacySettings(config); + useInput((input, key) => { + if (privacyState.error && key.escape) { + onExit(); + } + }); + if (privacyState.isLoading) { return Loading...; } if (privacyState.error) { return ( - - Error loading Opt-in settings: {privacyState.error} - + + + Error loading Opt-in settings: {privacyState.error} + + Press Esc to exit. + ); }