summaryrefslogtreecommitdiff
path: root/packages/cli/src/ui/hooks/useAutoAcceptIndicator.ts
diff options
context:
space:
mode:
authorJacob Richman <[email protected]>2025-08-12 14:05:49 -0700
committerGitHub <[email protected]>2025-08-12 21:05:49 +0000
commitd219f9013206aad5a1361e436ad4a45114e9cd49 (patch)
tree58216dc659e809bc896b03de21a9a1c713126d6b /packages/cli/src/ui/hooks/useAutoAcceptIndicator.ts
parent74fd0841d0d7148127e586fce4c550a01ff40e90 (diff)
Switch from useInput to useKeypress. (#6056)
Diffstat (limited to 'packages/cli/src/ui/hooks/useAutoAcceptIndicator.ts')
-rw-r--r--packages/cli/src/ui/hooks/useAutoAcceptIndicator.ts43
1 files changed, 23 insertions, 20 deletions
diff --git a/packages/cli/src/ui/hooks/useAutoAcceptIndicator.ts b/packages/cli/src/ui/hooks/useAutoAcceptIndicator.ts
index 8af3cea1..2cc16077 100644
--- a/packages/cli/src/ui/hooks/useAutoAcceptIndicator.ts
+++ b/packages/cli/src/ui/hooks/useAutoAcceptIndicator.ts
@@ -5,8 +5,8 @@
*/
import { useState, useEffect } from 'react';
-import { useInput } from 'ink';
import { ApprovalMode, type Config } from '@google/gemini-cli-core';
+import { useKeypress } from './useKeypress.js';
export interface UseAutoAcceptIndicatorArgs {
config: Config;
@@ -23,27 +23,30 @@ export function useAutoAcceptIndicator({
setShowAutoAcceptIndicator(currentConfigValue);
}, [currentConfigValue]);
- useInput((input, key) => {
- let nextApprovalMode: ApprovalMode | undefined;
+ useKeypress(
+ (key) => {
+ let nextApprovalMode: ApprovalMode | undefined;
- if (key.ctrl && input === 'y') {
- nextApprovalMode =
- config.getApprovalMode() === ApprovalMode.YOLO
- ? ApprovalMode.DEFAULT
- : ApprovalMode.YOLO;
- } else if (key.tab && key.shift) {
- nextApprovalMode =
- config.getApprovalMode() === ApprovalMode.AUTO_EDIT
- ? ApprovalMode.DEFAULT
- : ApprovalMode.AUTO_EDIT;
- }
+ if (key.ctrl && key.name === 'y') {
+ nextApprovalMode =
+ config.getApprovalMode() === ApprovalMode.YOLO
+ ? ApprovalMode.DEFAULT
+ : ApprovalMode.YOLO;
+ } else if (key.shift && key.name === 'tab') {
+ nextApprovalMode =
+ config.getApprovalMode() === ApprovalMode.AUTO_EDIT
+ ? ApprovalMode.DEFAULT
+ : ApprovalMode.AUTO_EDIT;
+ }
- if (nextApprovalMode) {
- config.setApprovalMode(nextApprovalMode);
- // Update local state immediately for responsiveness
- setShowAutoAcceptIndicator(nextApprovalMode);
- }
- });
+ if (nextApprovalMode) {
+ config.setApprovalMode(nextApprovalMode);
+ // Update local state immediately for responsiveness
+ setShowAutoAcceptIndicator(nextApprovalMode);
+ }
+ },
+ { isActive: true },
+ );
return showAutoAcceptIndicator;
}