Skip to content

Fix hover-only hotkey list; add reusable cheat-sheet (findability fix, part 2) - #122

Closed
alpha5611331 wants to merge 1 commit into
mainfrom
feat/hotkey-cheatsheet
Closed

Fix hover-only hotkey list; add reusable cheat-sheet (findability fix, part 2)#122
alpha5611331 wants to merge 1 commit into
mainfrom
feat/hotkey-cheatsheet

Conversation

@alpha5611331

Copy link
Copy Markdown
Member

Why

Part of the same findability investigation as #121. status-panel.tsx already had a "Show Hotkeys" control - but it only revealed the list on hover, so nothing was visible without pointing at it first. That's the exact antipattern found across the rest of the app (icon-only control bar, hidden hotkeys with no on-screen affordance): the team had already reached for a fix here and landed on the same failure mode.

Separately, the hotkey list itself was duplicated between status-panel.tsx and documentation-dialog.tsx with two different renderings, which is how they could drift.

What changed

  • src/renderer/components/custom/hotkey-cheatsheet.tsx (new) — the grouped hotkey list, extracted once. Exports HotkeyCheatsheet (content) and HotkeyCheatsheetDialog (dialog wrapper).
  • status-panel.tsx — "Show Hotkeys" is now a real button that opens HotkeyCheatsheetDialog on click, plus a new ? shortcut (renderer-local keydown listener, guarded against firing while typing in a field - not a registered global hotkey, since this only needs to work while the window has focus, unlike the stealth-mode-reaching ones in lib/hotkeys.ts).
  • documentation-dialog.tsx — its "Hotkeys" accordion section now renders the same shared HotkeyCheatsheet instead of its own independent copy.

Notes

Test plan

  • pnpm lint clean on changed/new files
  • tsc -b clean
  • Smoke-tested via vite dev server - all three files compile/transform without error
  • Manual walkthrough in the packaged Electron app: click "Show Hotkeys", press ? on /main, confirm the Documentation dialog's Hotkeys section still renders correctly

…only

status-panel.tsx's "Show Hotkeys" control only ever revealed the list
on hover - nothing visible without pointing at it first, the exact
antipattern the rest of the control bar has. Converts it to a proper
dialog opened by click or a new '?' shortcut (local to this window,
not a registered global hotkey - it only needs focus, not stealth-mode
reach).

Extracts the hotkey list itself into hotkey-cheatsheet.tsx so
status-panel.tsx and documentation-dialog.tsx render the same data
instead of two independently-drifting copies.
@gitar-bot

gitar-bot Bot commented Sep 4, 2026

Copy link
Copy Markdown

Important

You are using the Gitar free plan. Upgrade to unlock code review, CI analysis, auto-apply, custom automations, and more.

Gitar

@alpha5611331

Copy link
Copy Markdown
Member Author

Superseded — consolidated into #121 as a single PR per updated scope (one PR resolving the UI/UX findability issue completely, for manual review).

@alpha5611331
alpha5611331 deleted the feat/hotkey-cheatsheet branch September 4, 2026 18:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant