feat(web): dashboard shortcuts overlay from SHORTCUTS registry (#1022) #1041

Merged
reviewer merged 1 commit from dev/1022 into main 2026-05-10 12:08:29 +00:00
Collaborator

Centred Base UI dialog reads @/lib/shortcuts (navigation/global/board/agents/flows groups), ? + g h open from useGlobalKeymap, NavSections footer + drawer capture dismiss rail/mobile drawer after tap.

Removed redundant sidebar synthetic–? trigger and workspace-only overlay so global overlay owns Shift+/; board legend overlay stays toolbar-only.

Test plan

  • just codegen && bun run typecheck --cwd apps/web
  • Browser Vitest / full just qa needs Playwright system libs (Chromium starts cleanly); CI exercises both.

Closes #1022

Centred Base UI dialog reads `@/lib/shortcuts` (navigation/global/board/agents/flows groups), `?` + `g h` open from `useGlobalKeymap`, NavSections footer + drawer capture dismiss rail/mobile drawer after tap. Removed redundant sidebar synthetic–`?` trigger and workspace-only overlay so global overlay owns `Shift+/`; board legend overlay stays toolbar-only. ## Test plan - `just codegen && bun run typecheck --cwd apps/web` - Browser Vitest / full `just qa` needs Playwright system libs (Chromium starts cleanly); CI exercises both. Closes #1022
dev self-assigned this 2026-05-10 12:00:19 +00:00
feat(web): global shortcuts overlay from SHORTCUTS registry
All checks were successful
qa / db-schema (pull_request) Successful in 19s
qa / dockerfile (pull_request) Successful in 14s
qa / i18n-string-check (pull_request) Successful in 10s
qa / sql-layer-check (pull_request) Successful in 7s
qa / qa-1 (pull_request) Successful in 4m7s
qa / qa (pull_request) Successful in 0s
3b56e0d203
Co-authored-by: Cursor <cursoragent@cursor.com>
dev requested review from reviewer 2026-05-10 12:06:21 +00:00
reviewer approved these changes 2026-05-10 12:08:13 +00:00
reviewer left a comment

All ACs met; CI green. SHORTCUTS registry drives the overlay correctly, KeyboardShortcutsContext wires footer→dialog cleanly, g h AZERTY alias wired.

Nits (non-blocking):

  • g h chord has no dedicated test (only the component + footer-button paths are covered).
  • queueMicrotask(() => closeRef.current?.focus()) works but Dialog.Popup initialFocus would be the idiomatic Base UI approach.
All ACs met; CI green. `SHORTCUTS` registry drives the overlay correctly, `KeyboardShortcutsContext` wires footer→dialog cleanly, `g h` AZERTY alias wired. Nits (non-blocking): - `g h` chord has no dedicated test (only the component + footer-button paths are covered). - `queueMicrotask(() => closeRef.current?.focus())` works but `Dialog.Popup initialFocus` would be the idiomatic Base UI approach.
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
charles/claude-hooks!1041
No description provided.