diff --git a/src/components/studio/sidebar.tsx b/src/components/studio/sidebar.tsx index c136ae5d..db6762d2 100644 --- a/src/components/studio/sidebar.tsx +++ b/src/components/studio/sidebar.tsx @@ -29,6 +29,7 @@ import { translate as t } from '@/lib/i18n/messages/timeline' import { translate as announceT } from '@/lib/i18n/messages/announce' import { useAnnouncer } from '@/lib/a11y/announcer' import { ShortcutsTrigger } from './shortcuts-dialog' +import { COMMAND_PALETTE_SHORTCUT_LABEL } from '@/lib/studio/platform' interface NavItem { id: ViewId @@ -213,7 +214,7 @@ export const Sidebar = () => { Search… - ⌘K + {COMMAND_PALETTE_SHORTCUT_LABEL} {/* Nav groups */} diff --git a/src/components/studio/topbar.tsx b/src/components/studio/topbar.tsx index 746b9def..5f2787c9 100644 --- a/src/components/studio/topbar.tsx +++ b/src/components/studio/topbar.tsx @@ -5,6 +5,7 @@ import type { ViewId } from '@/lib/studio/types' import { translate as timelineT } from '@/lib/i18n/messages/timeline' import { Menu, Plus, Search, X } from 'lucide-react' import type { KeyboardEvent } from 'react' +import { COMMAND_PALETTE_SHORTCUT_LABEL } from '@/lib/studio/platform' /** View title metadata keyed by ViewId (bounded Map retrieval — no dynamic indexing). */ const VIEW_TITLES: ReadonlyMap = new Map([ @@ -124,7 +125,7 @@ export const Topbar = () => { aria-label="Open command palette" className="absolute right-1.5 top-1/2 flex min-h-[44px] min-w-[44px] items-center justify-center -translate-y-1/2 rounded border border-border bg-muted px-1.5 font-mono text-caption text-ink-faint transition-colors hover:bg-muted/70 hover:text-ink-soft focus-ring overflow-hidden" > - ⌘K + {COMMAND_PALETTE_SHORTCUT_LABEL} diff --git a/src/lib/studio/platform.ts b/src/lib/studio/platform.ts new file mode 100644 index 00000000..924c8114 --- /dev/null +++ b/src/lib/studio/platform.ts @@ -0,0 +1,4 @@ +export const IS_MAC = + typeof navigator !== 'undefined' && /mac/i.test(navigator.platform) + +export const COMMAND_PALETTE_SHORTCUT_LABEL = IS_MAC ? '⌘K' : 'Ctrl+K'