Skip to content

feat(nav): add cmd/ctrl+b nav toggle hotkey#111503

Merged
JonasBa merged 3 commits intomasterfrom
jb/ref/nav-cmdb
Mar 25, 2026
Merged

feat(nav): add cmd/ctrl+b nav toggle hotkey#111503
JonasBa merged 3 commits intomasterfrom
jb/ref/nav-cmdb

Conversation

@JonasBa
Copy link
Member

@JonasBa JonasBa commented Mar 25, 2026

Add a keyboard shortcut (Cmd+B on macOS, Ctrl+B on Windows/Linux) to toggle the secondary sidebar between expanded and collapsed states.

Add a keyboard shortcut (Cmd+B on macOS, Ctrl+B on Windows/Linux) to
toggle the secondary sidebar between expanded and collapsed states.

This follows the convention established by VS Code, Zed, and Cursor,
which all use the same binding, making it the de-facto standard for
sidebar toggling in modern developer tools.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@JonasBa JonasBa requested a review from a team as a code owner March 25, 2026 02:18
@github-actions github-actions bot added the Scope: Frontend Automatically applied to PRs that change frontend components label Mar 25, 2026
@JonasBa JonasBa changed the title feat(navigation): Toggle secondary sidebar with Cmd/Ctrl+B feat(nav): add cmd/ctrl+b nav toggle hotkey Mar 25, 2026
Copy link
Contributor

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

The hotkey callback had the toggle condition inverted relative to the
button logic. Using 'view === collapsed ? expanded : collapsed' treated
the peek state as expanded and would collapse it, while the button
correctly treats peek as collapsed and expands it.

Fix by aligning the hotkey condition with the button:
'view === expanded ? collapsed : expanded'

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Two test functions used async without any await expressions, triggering the @typescript-eslint/require-await lint rule. Since fireEvent is synchronous, async is not needed.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copy link
Member

@natemoo-re natemoo-re left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very nice touch!

@JonasBa JonasBa merged commit 94cd354 into master Mar 25, 2026
77 of 79 checks passed
@JonasBa JonasBa deleted the jb/ref/nav-cmdb branch March 25, 2026 15:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Scope: Frontend Automatically applied to PRs that change frontend components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants