# Module: `src/components/HelpModal.tsx` > **Source**: `src/components/HelpModal.tsx` (62 lines) > **Topo batch**: B2 (uses `react-i18next` for the language flag only; no intra-repo deps) ## Purpose A modal dialog that surfaces annotation guidelines and the keyboard-shortcut cheat-sheet. Triggered from `Header.tsx` → "Help" entry. Replaces the legacy WPF `HelpWindow.xaml` (`_docs/legacy/wpf-era.md` §4). ## Public interface ```ts interface Props { open: boolean onClose: () => void } export default function HelpModal(props: Props): JSX.Element | null ``` When `open === false`, returns `null`. Otherwise renders a centered `
` overlay. ## Internal logic - Reads `i18n.language` from `useTranslation()`; treats anything other than `'ua'` as English (`lang = i18n.language === 'ua' ? 'ua' : 'en'`). - `GUIDELINES`: a hardcoded array of 6 `{ en, ua }` rules covering annotation quality. **Hardcoded — not loaded via the `i18n` resource bundle**, despite the module already importing `useTranslation`. (Inconsistency vs. the rest of the SPA — flag for Step 4.) - Renders the guidelines as a numbered list and a 12-row keyboard-shortcut grid (`Space`, `← →`, `Ctrl + ← →`, `Enter`, …). - Click on the dim backdrop closes the modal; click inside is `stopPropagation`'d. - `Close` button is a styled `