summaryrefslogtreecommitdiff
path: root/packages/cli/src
diff options
context:
space:
mode:
authorTaylor Mullen <[email protected]>2025-05-18 22:16:57 -0700
committerN. Taylor Mullen <[email protected]>2025-05-18 22:18:49 -0700
commitdb93ea736b0af04d9205de81f5d0b44de8fe1af6 (patch)
tree1e84173bb71af57cf94068521c2b505df13f1ce6 /packages/cli/src
parent6cc00871054f9749db96b3eb5a99f02542ca45f8 (diff)
feat(cli): Add ShellModeIndicator component
This commit introduces a new ShellModeIndicator component to visually signify when shell mode is active. - Displays "shell mode enabled (! to toggle)" in the UI. - The AutoAcceptIndicator is now hidden when shell mode is active to prevent UI clutter.
Diffstat (limited to 'packages/cli/src')
-rw-r--r--packages/cli/src/ui/App.tsx8
-rw-r--r--packages/cli/src/ui/components/ShellModeIndicator.tsx18
2 files changed, 25 insertions, 1 deletions
diff --git a/packages/cli/src/ui/App.tsx b/packages/cli/src/ui/App.tsx
index 3a747ae8..68933f10 100644
--- a/packages/cli/src/ui/App.tsx
+++ b/packages/cli/src/ui/App.tsx
@@ -16,6 +16,7 @@ import { useAutoAcceptIndicator } from './hooks/useAutoAcceptIndicator.js';
import { Header } from './components/Header.js';
import { LoadingIndicator } from './components/LoadingIndicator.js';
import { AutoAcceptIndicator } from './components/AutoAcceptIndicator.js';
+import { ShellModeIndicator } from './components/ShellModeIndicator.js';
import { EditorState, InputPrompt } from './components/InputPrompt.js';
import { Footer } from './components/Footer.js';
import { ThemeDialog } from './components/ThemeDialog.js';
@@ -352,7 +353,12 @@ export const App = ({
</Text>
</>
</Box>
- {showAutoAcceptIndicator && <AutoAcceptIndicator />}
+ <Box>
+ {showAutoAcceptIndicator && !shellModeActive && (
+ <AutoAcceptIndicator />
+ )}
+ {shellModeActive && <ShellModeIndicator />}
+ </Box>
</Box>
{isInputActive && (
<>
diff --git a/packages/cli/src/ui/components/ShellModeIndicator.tsx b/packages/cli/src/ui/components/ShellModeIndicator.tsx
new file mode 100644
index 00000000..e4147035
--- /dev/null
+++ b/packages/cli/src/ui/components/ShellModeIndicator.tsx
@@ -0,0 +1,18 @@
+/**
+ * @license
+ * Copyright 2025 Google LLC
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+import React from 'react';
+import { Box, Text } from 'ink';
+import { Colors } from '../colors.js';
+
+export const ShellModeIndicator: React.FC = () => (
+ <Box>
+ <Text color={Colors.AccentYellow}>
+ shell mode enabled
+ <Text color={Colors.SubtleComment}> (! to toggle)</Text>
+ </Text>
+ </Box>
+);