Global command pallete#158
Open
Rohan-Shridhar wants to merge 5 commits into
Open
Conversation
…d shortcut and navigation - Add useCommandPalette hook for Ctrl/Cmd+K toggle - Add CommandPalette modal with grouped results, arrow-key nav, ARIA roles - Responsive Tailwind v4 styling for mobile and desktop Refs nensii21#109
…ts, developers - Add useCommandSearch with 250ms debounce and AbortController cancellation - Add substring match utility for static page filtering - Stub searchProjects/searchUsers in lib/api.ts if not already present Refs nensii21#109
…- Mount global CommandPalette in app/layout.tsx wired to useCommandSearch - Add router-based navigation on item select for pages, projects, developers - Add discoverable ⌘K trigger badge in navbar Refs nensii21#109
Owner
|
Thanks for the contribution. Some of the required CI checks is currently failing. Please take a look at the workflow logs, identify the cause, and push a fix. Once all required checks pass, I'll review and proceed with the PR. |
Contributor
Author
|
@nensii21 , PR passes all the required checks now, and the conflict with main is also resolved |
Owner
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Summary
Implemented a global command palette (Ctrl+K / Cmd+K) that lets users quickly search and navigate to app pages, projects, and developers from anywhere in DevLink, with full keyboard navigation and responsive design.
Related Issue
Closes #109
Type of Change
Please check the relevant option(s):
Changes Made
Describe the key changes included in this pull request.
useCommandPalettehook to manage open/close state and register the global Ctrl+K / Cmd+K keyboard listenerCommandPalettecomponent: modal overlay with autofocused search input, grouped results (Pages, Projects, Developers), arrow-key/Tab navigation, Enter-to-select, and ARIA roles for accessibilityuseCommandSearchhook with 250ms debounce, parallel search across projects and developers, AbortController-based request cancellation, and static page filtering via substring matchCommandPaletteinto the root layout, with router-based navigation to the correct route on selection (pages,/projects/[slug],/developers/[username])Testing
Describe how you tested your changes.
Additional testing notes:
Checklist
Before submitting this pull request, confirm the following:
Additional Notes
No new external dependencies were added — search matching uses a lightweight in-house substring filter rather than a fuzzy-search library, keeping the bundle size impact minimal. Happy to swap in
cmdkorFuse.jsif maintainers prefer a library-based approach.