diff options
Diffstat (limited to 'packages/cli/src/ui/hooks')
| -rw-r--r-- | packages/cli/src/ui/hooks/slashCommandProcessor.test.ts | 4 | ||||
| -rw-r--r-- | packages/cli/src/ui/hooks/slashCommandProcessor.ts | 7 | ||||
| -rw-r--r-- | packages/cli/src/ui/hooks/useSettingsCommand.ts | 25 |
3 files changed, 36 insertions, 0 deletions
diff --git a/packages/cli/src/ui/hooks/slashCommandProcessor.test.ts b/packages/cli/src/ui/hooks/slashCommandProcessor.test.ts index 37407689..66c1b883 100644 --- a/packages/cli/src/ui/hooks/slashCommandProcessor.test.ts +++ b/packages/cli/src/ui/hooks/slashCommandProcessor.test.ts @@ -147,6 +147,7 @@ describe('useSlashCommandProcessor', () => { vi.fn(), // toggleCorgiMode mockSetQuittingMessages, vi.fn(), // openPrivacyNotice + vi.fn(), // openSettingsDialog vi.fn(), // toggleVimEnabled setIsProcessing, ), @@ -864,6 +865,9 @@ describe('useSlashCommandProcessor', () => { vi.fn(), // toggleCorgiMode mockSetQuittingMessages, vi.fn(), // openPrivacyNotice + + vi.fn(), // openSettingsDialog + vi.fn(), // toggleVimEnabled vi.fn().mockResolvedValue(false), // toggleVimEnabled vi.fn(), // setIsProcessing ), diff --git a/packages/cli/src/ui/hooks/slashCommandProcessor.ts b/packages/cli/src/ui/hooks/slashCommandProcessor.ts index ca08abb1..b4ce0d4d 100644 --- a/packages/cli/src/ui/hooks/slashCommandProcessor.ts +++ b/packages/cli/src/ui/hooks/slashCommandProcessor.ts @@ -50,6 +50,7 @@ export const useSlashCommandProcessor = ( toggleCorgiMode: () => void, setQuittingMessages: (message: HistoryItem[]) => void, openPrivacyNotice: () => void, + openSettingsDialog: () => void, toggleVimEnabled: () => Promise<boolean>, setIsProcessing: (isProcessing: boolean) => void, setGeminiMdFileCount: (count: number) => void, @@ -359,6 +360,11 @@ export const useSlashCommandProcessor = ( case 'privacy': openPrivacyNotice(); return { type: 'handled' }; + case 'settings': + openSettingsDialog(); + return { type: 'handled' }; + case 'help': + return { type: 'handled' }; default: { const unhandled: never = result.dialog; throw new Error( @@ -512,6 +518,7 @@ export const useSlashCommandProcessor = ( openPrivacyNotice, openEditorDialog, setQuittingMessages, + openSettingsDialog, setShellConfirmationRequest, setSessionShellAllowlist, setIsProcessing, diff --git a/packages/cli/src/ui/hooks/useSettingsCommand.ts b/packages/cli/src/ui/hooks/useSettingsCommand.ts new file mode 100644 index 00000000..42f535df --- /dev/null +++ b/packages/cli/src/ui/hooks/useSettingsCommand.ts @@ -0,0 +1,25 @@ +/** + * @license + * Copyright 2025 Google LLC + * SPDX-License-Identifier: Apache-2.0 + */ + +import { useState, useCallback } from 'react'; + +export function useSettingsCommand() { + const [isSettingsDialogOpen, setIsSettingsDialogOpen] = useState(false); + + const openSettingsDialog = useCallback(() => { + setIsSettingsDialogOpen(true); + }, []); + + const closeSettingsDialog = useCallback(() => { + setIsSettingsDialogOpen(false); + }, []); + + return { + isSettingsDialogOpen, + openSettingsDialog, + closeSettingsDialog, + }; +} |
