Skip to content

feat: Add keyboard shortcuts for rapid navigation (#797) - #845

Merged
Jaydbrown merged 1 commit into
conduit-protocol:mainfrom
0xApana:feature/797-keyboard-shortcuts
Oct 22, 2026
Merged

Jaydbrown merged 1 commit into
conduit-protocol:mainfrom
0xApana:feature/797-keyboard-shortcuts

Conversation

@0xApana

@0xApana 0xApana commented Oct 22, 2026

Copy link
Copy Markdown
Contributor

Closes #797

Description

This PR implements keyboard shortcuts for rapid navigation across the application's main views, addressing the need for power users to navigate without using the command palette or navbar.

Changes

  • Added global keyboard shortcuts for quick navigation:

    • g+d: Jump to Dashboard
    • g+c: Jump to Create stream page
    • g+s: Jump to Streams page
    • g+p: Jump to Profile page
  • Shortcuts work from any page in the application with a 1-second timeout window after pressing 'g'

  • Shortcuts are blocked when Ctrl or Meta modifiers are held (to avoid conflicts with system/browser shortcuts)

  • Updated command palette placeholder to hint at available shortcuts

  • Added comprehensive test suite with 10 test cases covering:

    • Basic navigation shortcuts
    • Case-insensitive shortcut handling
    • Timeout expiration behavior
    • Modifier key constraints
    • Consecutive shortcut execution
    • Invalid key handling
    • Palette interaction compatibility

Testing

All new functionality is covered by unit tests. Tests verify proper shortcut triggering, timeout behavior, and compatibility with existing features.

Related Issue

- Register g+d, g+c, g+s, g+p shortcuts for Dashboard, Create, Streams, Profile
- Shortcuts work globally from any page with 1-second timeout window
- Prevent shortcuts when Ctrl/Meta modifiers are held
- Add placeholder hint showing available shortcuts
- Comprehensive test suite with 10 tests covering:
  * Basic navigation shortcuts (g+d, g+c, g+s, g+p)
  * Case-insensitive shortcut handling
  * Timeout expiration behavior
  * Modifier key constraints (Ctrl, Meta)
  * Consecutive shortcut execution
  * Invalid key handling
  * Palette interaction compatibility
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.

components/CommandPalette.tsx: register shortcuts for navigating between Dashboard, Streams, Create, and Settings

2 participants