diff options
Diffstat (limited to 'packages/cli/src/ui/components/AutoAcceptIndicator.tsx')
| -rw-r--r-- | packages/cli/src/ui/components/AutoAcceptIndicator.tsx | 45 |
1 files changed, 37 insertions, 8 deletions
diff --git a/packages/cli/src/ui/components/AutoAcceptIndicator.tsx b/packages/cli/src/ui/components/AutoAcceptIndicator.tsx index dc23d5e2..dbdb3e9a 100644 --- a/packages/cli/src/ui/components/AutoAcceptIndicator.tsx +++ b/packages/cli/src/ui/components/AutoAcceptIndicator.tsx @@ -7,12 +7,41 @@ import React from 'react'; import { Box, Text } from 'ink'; import { Colors } from '../colors.js'; +import { ApprovalMode } from '@gemini-code/core'; -export const AutoAcceptIndicator: React.FC = () => ( - <Box> - <Text color={Colors.AccentGreen}> - accepting edits - <Text color={Colors.SubtleComment}> (shift + tab to disable)</Text> - </Text> - </Box> -); +interface AutoAcceptIndicatorProps { + approvalMode: ApprovalMode; +} + +export const AutoAcceptIndicator: React.FC<AutoAcceptIndicatorProps> = ({ + approvalMode, +}) => { + let textColor = ''; + let textContent = ''; + let subText = ''; + + switch (approvalMode) { + case ApprovalMode.AUTO_EDIT: + textColor = Colors.AccentGreen; + textContent = 'accepting edits'; + subText = ' (shift + tab to toggle)'; + break; + case ApprovalMode.YOLO: + textColor = Colors.AccentRed; + textContent = 'YOLO mode'; + subText = ' (ctrl + y to toggle)'; + break; + case ApprovalMode.DEFAULT: + default: + break; + } + + return ( + <Box> + <Text color={textColor}> + {textContent} + {subText && <Text color={Colors.SubtleComment}>{subText}</Text>} + </Text> + </Box> + ); +}; |
