MCPcopy Create free account
hub / github.com/anus-dev/ANUS / useAutoAcceptIndicator

Function useAutoAcceptIndicator

packages/cli/src/ui/hooks/useAutoAcceptIndicator.ts:16–53  ·  view source on GitHub ↗
({
  config,
}: UseAutoAcceptIndicatorArgs)

Source from the content-addressed store, hash-verified

14}
15
16export function useAutoAcceptIndicator({
17 config,
18}: UseAutoAcceptIndicatorArgs): ApprovalMode {
19 const currentConfigValue = config.getApprovalMode();
20 const [showAutoAcceptIndicator, setShowAutoAcceptIndicator] =
21 useState(currentConfigValue);
22
23 useEffect(() => {
24 setShowAutoAcceptIndicator(currentConfigValue);
25 }, [currentConfigValue]);
26
27 useKeypress(
28 (key) => {
29 let nextApprovalMode: ApprovalMode | undefined;
30
31 if (key.ctrl && key.name === 'y') {
32 nextApprovalMode =
33 config.getApprovalMode() === ApprovalMode.YOLO
34 ? ApprovalMode.DEFAULT
35 : ApprovalMode.YOLO;
36 } else if (key.shift && key.name === 'tab') {
37 nextApprovalMode =
38 config.getApprovalMode() === ApprovalMode.AUTO_EDIT
39 ? ApprovalMode.DEFAULT
40 : ApprovalMode.AUTO_EDIT;
41 }
42
43 if (nextApprovalMode) {
44 config.setApprovalMode(nextApprovalMode);
45 // Update local state immediately for responsiveness
46 setShowAutoAcceptIndicator(nextApprovalMode);
47 }
48 },
49 { isActive: true },
50 );
51
52 return showAutoAcceptIndicator;
53}

Callers 2

AppFunction · 0.85

Calls 3

useKeypressFunction · 0.85
getApprovalModeMethod · 0.80
setApprovalModeMethod · 0.80

Tested by

no test coverage detected