summaryrefslogtreecommitdiff
path: root/packages/cli/src/ui/privacy
diff options
context:
space:
mode:
Diffstat (limited to 'packages/cli/src/ui/privacy')
-rw-r--r--packages/cli/src/ui/privacy/CloudFreePrivacyNotice.tsx16
-rw-r--r--packages/cli/src/ui/privacy/CloudPaidPrivacyNotice.tsx16
-rw-r--r--packages/cli/src/ui/privacy/GeminiPrivacyNotice.tsx16
3 files changed, 30 insertions, 18 deletions
diff --git a/packages/cli/src/ui/privacy/CloudFreePrivacyNotice.tsx b/packages/cli/src/ui/privacy/CloudFreePrivacyNotice.tsx
index 25e14281..d4c13097 100644
--- a/packages/cli/src/ui/privacy/CloudFreePrivacyNotice.tsx
+++ b/packages/cli/src/ui/privacy/CloudFreePrivacyNotice.tsx
@@ -4,12 +4,13 @@
* SPDX-License-Identifier: Apache-2.0
*/
-import { Box, Newline, Text, useInput } from 'ink';
+import { Box, Newline, Text } from 'ink';
import { RadioButtonSelect } from '../components/shared/RadioButtonSelect.js';
import { usePrivacySettings } from '../hooks/usePrivacySettings.js';
import { CloudPaidPrivacyNotice } from './CloudPaidPrivacyNotice.js';
import { Config } from '@google/gemini-cli-core';
import { Colors } from '../colors.js';
+import { useKeypress } from '../hooks/useKeypress.js';
interface CloudFreePrivacyNoticeProps {
config: Config;
@@ -23,11 +24,14 @@ export const CloudFreePrivacyNotice = ({
const { privacyState, updateDataCollectionOptIn } =
usePrivacySettings(config);
- useInput((input, key) => {
- if (privacyState.error && key.escape) {
- onExit();
- }
- });
+ useKeypress(
+ (key) => {
+ if (privacyState.error && key.name === 'escape') {
+ onExit();
+ }
+ },
+ { isActive: true },
+ );
if (privacyState.isLoading) {
return <Text color={Colors.Gray}>Loading...</Text>;
diff --git a/packages/cli/src/ui/privacy/CloudPaidPrivacyNotice.tsx b/packages/cli/src/ui/privacy/CloudPaidPrivacyNotice.tsx
index e50dcd4b..f0adbb68 100644
--- a/packages/cli/src/ui/privacy/CloudPaidPrivacyNotice.tsx
+++ b/packages/cli/src/ui/privacy/CloudPaidPrivacyNotice.tsx
@@ -4,8 +4,9 @@
* SPDX-License-Identifier: Apache-2.0
*/
-import { Box, Newline, Text, useInput } from 'ink';
+import { Box, Newline, Text } from 'ink';
import { Colors } from '../colors.js';
+import { useKeypress } from '../hooks/useKeypress.js';
interface CloudPaidPrivacyNoticeProps {
onExit: () => void;
@@ -14,11 +15,14 @@ interface CloudPaidPrivacyNoticeProps {
export const CloudPaidPrivacyNotice = ({
onExit,
}: CloudPaidPrivacyNoticeProps) => {
- useInput((input, key) => {
- if (key.escape) {
- onExit();
- }
- });
+ useKeypress(
+ (key) => {
+ if (key.name === 'escape') {
+ onExit();
+ }
+ },
+ { isActive: true },
+ );
return (
<Box flexDirection="column" marginBottom={1}>
diff --git a/packages/cli/src/ui/privacy/GeminiPrivacyNotice.tsx b/packages/cli/src/ui/privacy/GeminiPrivacyNotice.tsx
index 57030ac3..c0eaa74f 100644
--- a/packages/cli/src/ui/privacy/GeminiPrivacyNotice.tsx
+++ b/packages/cli/src/ui/privacy/GeminiPrivacyNotice.tsx
@@ -4,19 +4,23 @@
* SPDX-License-Identifier: Apache-2.0
*/
-import { Box, Newline, Text, useInput } from 'ink';
+import { Box, Newline, Text } from 'ink';
import { Colors } from '../colors.js';
+import { useKeypress } from '../hooks/useKeypress.js';
interface GeminiPrivacyNoticeProps {
onExit: () => void;
}
export const GeminiPrivacyNotice = ({ onExit }: GeminiPrivacyNoticeProps) => {
- useInput((input, key) => {
- if (key.escape) {
- onExit();
- }
- });
+ useKeypress(
+ (key) => {
+ if (key.name === 'escape') {
+ onExit();
+ }
+ },
+ { isActive: true },
+ );
return (
<Box flexDirection="column" marginBottom={1}>