summaryrefslogtreecommitdiff
path: root/packages/cli/src/ui/components/ShellConfirmationDialog.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'packages/cli/src/ui/components/ShellConfirmationDialog.tsx')
-rw-r--r--packages/cli/src/ui/components/ShellConfirmationDialog.tsx16
1 files changed, 10 insertions, 6 deletions
diff --git a/packages/cli/src/ui/components/ShellConfirmationDialog.tsx b/packages/cli/src/ui/components/ShellConfirmationDialog.tsx
index ec137a6d..04e57364 100644
--- a/packages/cli/src/ui/components/ShellConfirmationDialog.tsx
+++ b/packages/cli/src/ui/components/ShellConfirmationDialog.tsx
@@ -5,13 +5,14 @@
*/
import { ToolConfirmationOutcome } from '@google/gemini-cli-core';
-import { Box, Text, useInput } from 'ink';
+import { Box, Text } from 'ink';
import React from 'react';
import { Colors } from '../colors.js';
import {
RadioButtonSelect,
RadioSelectItem,
} from './shared/RadioButtonSelect.js';
+import { useKeypress } from '../hooks/useKeypress.js';
export interface ShellConfirmationRequest {
commands: string[];
@@ -30,11 +31,14 @@ export const ShellConfirmationDialog: React.FC<
> = ({ request }) => {
const { commands, onConfirm } = request;
- useInput((_, key) => {
- if (key.escape) {
- onConfirm(ToolConfirmationOutcome.Cancel);
- }
- });
+ useKeypress(
+ (key) => {
+ if (key.name === 'escape') {
+ onConfirm(ToolConfirmationOutcome.Cancel);
+ }
+ },
+ { isActive: true },
+ );
const handleSelect = (item: ToolConfirmationOutcome) => {
if (item === ToolConfirmationOutcome.Cancel) {