@@ -98,66 +98,70 @@ export const useNavigationEnhancements = () => {
9898 router . navigate ( { to : '/' } ) ;
9999 } , [ router ] ) ;
100100
101- // Keyboard navigation handling
102- const useKeyboardNavigation = useCallback ( ( ) => {
103- useEffect ( ( ) => {
104- const handleKeyDown = ( event : KeyboardEvent ) => {
105- // Only handle navigation keys when not focused on input fields
106- if (
107- event . target instanceof HTMLInputElement ||
108- event . target instanceof HTMLTextAreaElement ||
109- event . target instanceof HTMLSelectElement ||
110- ( event . target as HTMLElement ) ?. contentEditable === 'true'
111- ) {
112- return ;
113- }
101+ // Keyboard navigation is now handled directly in the hook
102+ // Components using this hook automatically get keyboard navigation
103+ useEffect ( ( ) => {
104+ const handleKeyDown = ( event : KeyboardEvent ) => {
105+ // Only handle navigation keys when not focused on input fields
106+ if (
107+ event . target instanceof HTMLInputElement ||
108+ event . target instanceof HTMLTextAreaElement ||
109+ event . target instanceof HTMLSelectElement ||
110+ ( event . target as HTMLElement ) ?. contentEditable === 'true'
111+ ) {
112+ return ;
113+ }
114114
115- // Alt + Arrow keys for navigation
116- if ( event . altKey ) {
117- switch ( event . key ) {
118- case 'ArrowLeft' :
119- navigateWithKeyboard ( 'left' , event ) ;
120- break ;
121- case 'ArrowRight' :
122- navigateWithKeyboard ( 'right' , event ) ;
123- break ;
124- case 'ArrowUp' :
125- navigateWithKeyboard ( 'up' , event ) ;
126- break ;
127- case 'ArrowDown' :
128- navigateWithKeyboard ( 'down' , event ) ;
129- break ;
130- }
115+ // Alt + Arrow keys for navigation
116+ if ( event . altKey ) {
117+ switch ( event . key ) {
118+ case 'ArrowLeft' :
119+ navigateWithKeyboard ( 'left' , event ) ;
120+ break ;
121+ case 'ArrowRight' :
122+ navigateWithKeyboard ( 'right' , event ) ;
123+ break ;
124+ case 'ArrowUp' :
125+ navigateWithKeyboard ( 'up' , event ) ;
126+ break ;
127+ case 'ArrowDown' :
128+ navigateWithKeyboard ( 'down' , event ) ;
129+ break ;
131130 }
131+ }
132132
133- // Ctrl/Cmd + [ and ] for history navigation
134- if ( ( event . ctrlKey || event . metaKey ) ) {
135- switch ( event . key ) {
136- case '[' :
137- navigateWithKeyboard ( 'left' , event ) ;
138- break ;
139- case ']' :
140- navigateWithKeyboard ( 'right' , event ) ;
141- break ;
142- case 'k' :
143- case 'K' : {
144- // Focus search input
145- event . preventDefault ( ) ;
146- const searchInput = document . querySelector ( 'input[aria-label="Global search input"]' ) ;
147- if ( searchInput ) {
148- ( searchInput as HTMLInputElement ) . focus ( ) ;
149- }
150- break ;
133+ // Ctrl/Cmd + [ and ] for history navigation
134+ if ( ( event . ctrlKey || event . metaKey ) ) {
135+ switch ( event . key ) {
136+ case '[' :
137+ navigateWithKeyboard ( 'left' , event ) ;
138+ break ;
139+ case ']' :
140+ navigateWithKeyboard ( 'right' , event ) ;
141+ break ;
142+ case 'k' :
143+ case 'K' : {
144+ // Focus search input
145+ event . preventDefault ( ) ;
146+ const searchInput = document . querySelector ( 'input[aria-label="Global search input"]' ) ;
147+ if ( searchInput ) {
148+ ( searchInput as HTMLInputElement ) . focus ( ) ;
151149 }
150+ break ;
152151 }
153152 }
154- } ;
153+ }
154+ } ;
155155
156- document . addEventListener ( 'keydown' , handleKeyDown ) ;
157- return ( ) => document . removeEventListener ( 'keydown' , handleKeyDown ) ;
158- } , [ navigateWithKeyboard ] ) ;
156+ document . addEventListener ( 'keydown' , handleKeyDown ) ;
157+ return ( ) => document . removeEventListener ( 'keydown' , handleKeyDown ) ;
159158 } , [ navigateWithKeyboard ] ) ;
160159
160+ // Legacy function for backwards compatibility - now a no-op
161+ const useKeyboardNavigation = useCallback ( ( ) => {
162+ // Keyboard navigation is now automatically enabled when using this hook
163+ } , [ ] ) ;
164+
161165 // Get navigation context information
162166 const getNavigationContext = useCallback ( ( ) => {
163167 const parts = location . pathname . replace ( / ^ \/ / , "" ) . split ( "/" ) ;
0 commit comments