diff --git a/ui/desktop/src/components/ChatInput.tsx b/ui/desktop/src/components/ChatInput.tsx index 5d70cf790ccb..4c6c48e8ef9e 100644 --- a/ui/desktop/src/components/ChatInput.tsx +++ b/ui/desktop/src/components/ChatInput.tsx @@ -37,6 +37,7 @@ import { trackCreateRecipeOpened, trackEditRecipeOpened, } from '../utils/analytics'; +import { getNavigationShortcutText } from '../utils/keyboardShortcuts'; interface QueuedMessage { id: string; @@ -1212,7 +1213,7 @@ export default function ChatInput({ data-testid="chat-input" autoFocus id="dynamic-textarea" - placeholder={isRecording ? '' : '⌘↑/⌘↓ to navigate messages'} + placeholder={isRecording ? '' : getNavigationShortcutText()} value={displayValue} onChange={handleChange} onCompositionStart={handleCompositionStart} diff --git a/ui/desktop/src/components/extensions/ExtensionsView.tsx b/ui/desktop/src/components/extensions/ExtensionsView.tsx index 23ed1c444b4c..405744f5389e 100644 --- a/ui/desktop/src/components/extensions/ExtensionsView.tsx +++ b/ui/desktop/src/components/extensions/ExtensionsView.tsx @@ -17,6 +17,7 @@ import { import { activateExtension } from '../settings/extensions'; import { useConfig } from '../ConfigContext'; import { SearchView } from '../conversation/SearchView'; +import { getSearchShortcutText } from '../../utils/keyboardShortcuts'; export type ExtensionsViewOptions = { deepLinkConfig?: ExtensionConfig; @@ -101,8 +102,8 @@ export default function ExtensionsView({
These extensions use the Model Context Protocol (MCP). They can expand Goose's - capabilities using three main components: Prompts, Resources, and Tools. ⌘F/Ctrl+F to - search. + capabilities using three main components: Prompts, Resources, and Tools.{' '} + {getSearchShortcutText()} to search.
{/* Action Buttons */} diff --git a/ui/desktop/src/components/recipes/RecipesView.tsx b/ui/desktop/src/components/recipes/RecipesView.tsx index f6119780b8f4..0d8b6c7f9117 100644 --- a/ui/desktop/src/components/recipes/RecipesView.tsx +++ b/ui/desktop/src/components/recipes/RecipesView.tsx @@ -55,6 +55,7 @@ import { DropdownMenuTrigger, DropdownMenuSeparator, } from '../ui/dropdown-menu'; +import { getSearchShortcutText } from '../../utils/keyboardShortcuts'; export default function RecipesView() { const setView = useNavigation(); @@ -694,7 +695,7 @@ export default function RecipesView() {View and manage your saved recipes to quickly start new sessions with predefined - configurations. ⌘F/Ctrl+F to search. + configurations. {getSearchShortcutText()} to search.
diff --git a/ui/desktop/src/components/sessions/SessionListView.tsx b/ui/desktop/src/components/sessions/SessionListView.tsx index bfd6ba385cb3..e35aa92ae1ca 100644 --- a/ui/desktop/src/components/sessions/SessionListView.tsx +++ b/ui/desktop/src/components/sessions/SessionListView.tsx @@ -30,6 +30,7 @@ import { Session, updateSessionName, } from '../../api'; +import { getSearchShortcutText } from '../../utils/keyboardShortcuts'; interface EditSessionModalProps { session: Session | null; @@ -740,7 +741,8 @@ const SessionListView: React.FC- View and search your past conversations with Goose. ⌘F/Ctrl+F to search. + View and search your past conversations with Goose. {getSearchShortcutText()} to + search.
diff --git a/ui/desktop/src/utils/keyboardShortcuts.ts b/ui/desktop/src/utils/keyboardShortcuts.ts new file mode 100644 index 000000000000..720f94bb99e6 --- /dev/null +++ b/ui/desktop/src/utils/keyboardShortcuts.ts @@ -0,0 +1,11 @@ +function isMac(): boolean { + return window.electron?.platform === 'darwin'; +} + +export function getNavigationShortcutText(): string { + return isMac() ? '⌘↑/⌘↓ to navigate messages' : 'Ctrl+↑/Ctrl+↓ to navigate messages'; +} + +export function getSearchShortcutText(): string { + return isMac() ? '⌘F' : 'Ctrl+F'; +}