import type { KeyboardShortcut } from "../hooks/useKeyboardShortcuts"; import { formatShortcutKey } from "../hooks/useKeyboardShortcuts"; import { useI18n } from "../contexts/I18nContext"; interface KeyboardShortcutsHelpProps { shortcuts: KeyboardShortcut[]; onClose: () => void; } export default function KeyboardShortcutsHelp({ shortcuts, onClose, }: KeyboardShortcutsHelpProps) { const { t } = useI18n(); // Group shortcuts by category const groupedShortcuts = shortcuts.reduce((acc, shortcut) => { if (!acc[shortcut.category]) { acc[shortcut.category] = []; } acc[shortcut.category].push(shortcut); return acc; }, {} as Record); // Translate category names const categoryTranslations: Record = { "General": t.keyboardShortcuts.general, "Navigation": t.keyboardShortcuts.navigation, "Tour": t.keyboardShortcuts.tour, "View": t.keyboardShortcuts.view, }; return (
e.stopPropagation()} > {/* Header */}

{t.keyboardShortcuts.title}

{t.keyboardShortcuts.toggleHint}

{/* Shortcuts list */}
{Object.entries(groupedShortcuts).map(([category, categoryShortcuts]) => (

{categoryTranslations[category] ?? category}

{categoryShortcuts.map((shortcut, index) => (
{shortcut.description} {formatShortcutKey(shortcut)}
))}
))}
{/* Footer */}

{t.keyboardShortcuts.closeHint}

); }