Baluduvamsi2006 opened a new pull request, #3313: URL: https://github.com/apache/apisix-dashboard/pull/3313
# Why submit this pull request? - [ ] Bugfix - [x] New feature provided - [ ] Improve performance - [ ] Backport patches --- # What changes will this PR take into? This PR introduces a global command palette (Ctrl + K / Cmd + K) that enables fast, keyboard-driven navigation across dashboard resources such as Routes, Upstreams, Consumers, and Plugins. The goal is to reduce navigation friction in large deployments where manually browsing paginated lists becomes inefficient. --- # Detailed Implementation ## ✨ Feature: Global Command Palette (Spotlight) <img width="1919" height="1012" alt="image" src="https://github.com/user-attachments/assets/798dd06c-dd26-45d3-8e31-d5fb0dbb4df1" /> - Integrated Mantine’s native `@mantine/spotlight` module to provide a polished, accessible command palette experience. - Added a global keyboard shortcut: - `Ctrl + K` (Windows/Linux) - `Cmd + K` (macOS) - Trigger opens a modal overlay that dims the background and focuses user input for immediate interaction. ## 🔍 Resource Search & Navigation - Implements fuzzy search across core dashboard resources: - Routes - Upstreams - Consumers - Plugins - Selecting a result performs an immediate navigation to the corresponding resource detail or list view. - Eliminates the need to manually traverse side menus and paginated tables for commonly accessed resources. ## 🧩 Architecture & Integration - Spotlight provider is mounted at the application root to ensure global availability. - Action definitions are generated dynamically from existing route and resource metadata to avoid duplication. - Fully leverages Mantine’s built-in spotlight lifecycle, accessibility, and keyboard handling without introducing custom modal logic. ## 🎯 UX Considerations - Designed for power users managing large API gateway configurations. - Keyboard-first interaction improves efficiency while remaining optional for mouse-based users. - Visual styling aligns with existing dashboard theming to ensure a consistent look and feel. --- This feature is fully self-contained, does not affect existing navigation behavior, and introduces no breaking changes. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
