import React from 'react'; import { useAppTranslation } from '@features/localization/renderer'; import { IS_MAC } from '@renderer/utils/platformKeys'; import { X } from 'lucide-react'; interface KeyboardShortcutsHelpProps { open: boolean; onOpenChange: (open: boolean) => void; } const mod = IS_MAC ? '\u2318' : 'Ctrl'; const alt = IS_MAC ? '\u2325' : 'Alt'; const shift = IS_MAC ? '\u21E7' : 'Shift'; const shortcuts = [ { keys: [`${alt}+J`], actionKey: 'nextChange' }, { keys: [`${alt}+K`], actionKey: 'previousChange' }, { keys: [`${alt}+\u2193`], actionKey: 'nextFile' }, { keys: [`${alt}+\u2191`], actionKey: 'previousFile' }, { keys: [`${mod}+Y`], actionKey: 'acceptChange' }, { keys: [`${mod}+N`], actionKey: 'rejectChange' }, { keys: [`${mod}+S`], actionKey: 'saveFile' }, { keys: [`${mod}+Z`], actionKey: 'undo' }, { keys: [`${mod}+${shift}+Z`], actionKey: 'redo' }, { keys: ['?'], actionKey: 'toggleShortcuts' }, { keys: ['Esc'], actionKey: 'closeDialog' }, ] as const; export const KeyboardShortcutsHelp = ({ open, onOpenChange, }: KeyboardShortcutsHelpProps): React.ReactElement | null => { const { t } = useAppTranslation('team'); if (!open) return null; return (
{t('review.shortcuts.title')}
{shortcuts.map(({ keys, actionKey }) => (
{t(`review.shortcuts.actions.${actionKey}` as const)}
{keys.map((key) => ( {key} ))}
))}
); };