Describe the bug
The application's global Escape key functionality (used to close side drawers, modals, and the search overlay) is broken. The RouteAwareChrome component registers a custom escape handler via useKeyboardShortcuts to close the Shortcut Legend. Because the hook architecture executes custom handlers before global default handlers and immediately returns, the global fallback for Escape is completely shadowed and never reached.
To Reproduce
Steps to reproduce the behavior:
- Go to any page on the DevPath application.
- Press
Ctrl+K (or click the Search icon) to open the global Search Modal.
- Press the
Escape key on your keyboard.
- See error: The Search Modal remains open, and the escape key is entirely ignored.
Expected behavior
Pressing the Escape key should reliably close any currently open overlay, including the Search Modal, Mobile Menu, Bookmark Drawer, and the Shortcut Legend.
Screenshots
N/A
Desktop (please complete the following information):
- OS: All
- Browser: All
- Version: Latest
Smartphone (please complete the following information):
- Device: N/A
- OS: N/A
- Browser: N/A
Additional context
Files affected: src/components/layout/RouteAwareChrome.tsx and src/hooks/useKeyboardShortcuts.ts. The custom escape handler in RouteAwareChrome prevents the hook from dispatching the close-all-overlays event.
Describe the bug
The application's global
Escapekey functionality (used to close side drawers, modals, and the search overlay) is broken. TheRouteAwareChromecomponent registers a customescapehandler viauseKeyboardShortcutsto close the Shortcut Legend. Because the hook architecture executes custom handlers before global default handlers and immediately returns, the global fallback forEscapeis completely shadowed and never reached.To Reproduce
Steps to reproduce the behavior:
Ctrl+K(or click the Search icon) to open the global Search Modal.Escapekey on your keyboard.Expected behavior
Pressing the
Escapekey should reliably close any currently open overlay, including the Search Modal, Mobile Menu, Bookmark Drawer, and the Shortcut Legend.Screenshots
N/A
Desktop (please complete the following information):
Smartphone (please complete the following information):
Additional context
Files affected:
src/components/layout/RouteAwareChrome.tsxandsrc/hooks/useKeyboardShortcuts.ts. The custom escape handler inRouteAwareChromeprevents the hook from dispatching theclose-all-overlaysevent.