feat(ui): Implement Global Command Palette for Enhanced Navigation and Search - #8387
Conversation
|
@nishtha-agarwal-211 is attempting to deploy a commit to the jhasourav07's projects Team on Vercel. A member of the Team first needs to authorize it. |
|
This PR adds a Command Palette feature that enhances navigation and search capabilities through keyboard shortcuts, aligning with our previous decisions to improve accessibility and user productivity. Similar enhancements have been validated in past decisions, such as adding keyboard shortcuts for common actions and improving accessibility with ARIA support. This implementation not only streamlines user interactions but also adheres to our commitment to accessibility standards. Great work on this feature! Looking forward to your updates. |
📦 Next.js Bundle Size Report (Gzipped Sizes)
📊 Summary of Totals
|
Aamod007
left a comment
There was a problem hiding this comment.
The Command Palette implementation is well structured — clean keyboard shortcut handling (Cmd+K with typing-target guard), proper dialog accessibility (aria-modal, aria-label), and comprehensive test coverage with search filtering and keyboard navigation. The fade-in/out animation with mount/unmount timing is a nice UX touch.
CI is failing though. Please check the logs and push fixes.
Labels: level:intermediate (3 files, 499 lines, full feature + tests), quality:clean, type:feature, type:testing, mentor:Aamod007
Aamod007
left a comment
There was a problem hiding this comment.
Re-reviewing after noting the only CI failure is Vercel authorization (not code-related). All other checks (Format · Lint · Typecheck · Test, Production Build, CodeQL) pass. Approving — the Vercel deploy auth is a repo-level config issue, not a code problem.
Description
Fixes #8357
Implements a global Command Palette modal (
Cmd+K/Ctrl+K) for CommitPulse, enabling instant keyboard-driven search, page navigation, theme shortcuts, and external repository links from anywhere in the application.Key Enhancements
components/CommandPalette.tsx): Real-time fuzzy search filtering, arrow key navigation (ArrowUp/ArrowDown), item execution (Enter), escape key dismiss (Esc), and proper ARIA accessibility attributes (role="dialog",aria-modal="true",aria-label="Command Palette").app/components/navbar.tsx): Wired up globalCmd+K/Ctrl+Kkeyboard event listener across all routes, safely scoped so it does not trigger when typing inside text input elements.components/CommandPalette.test.tsx): Added 7 new unit tests covering initial hidden state, search query filtering, empty results fallback, keyboard navigation, and accessibility standards.Pillar
Visual Preview
Cmd + K(macOS) /Ctrl + K(Windows & Linux)/), SVG Generator (/generator), Developer Compare (/compare), Burnout Radar (/burnout-analyzer), Customization Studio (/#customization-studio).?), Scroll to Top.Checklist before requesting a review:
CONTRIBUTING.mdfile.localhost:3000).npm run formatandnpm run lintlocally and resolved all errors.feat(ui): add Command Palette (Cmd+K / Ctrl+K) for global navigation and search).components/CommandPalette.test.tsx&app/components/navbar).