File tree Expand file tree Collapse file tree
frontend/main/src/components/algolia Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1- import React , { useState } from 'react' ;
1+ import React , { useCallback , useEffect , useState } from 'react' ;
22import AlgoliaInstantSearch from './algoliaInstantSearch' ;
33
44export default function SearchModal ( ) : JSX . Element {
@@ -12,6 +12,29 @@ export default function SearchModal(): JSX.Element {
1212 setShow ( false ) ;
1313 } ;
1414
15+ const escFunction = useCallback ( ( e ) => {
16+ e . preventDefault ( ) ;
17+ if ( e . keyCode === 27 ) {
18+ setShow ( false ) ;
19+ }
20+ } , [ ] ) ;
21+
22+ const cmdKFunction = useCallback ( ( e ) => {
23+ e . preventDefault ( ) ;
24+ if ( ( e . metaKey || e . ctrlKey ) && e . code === 'KeyK' ) {
25+ setShow ( true ) ;
26+ }
27+ } , [ ] ) ;
28+
29+ useEffect ( ( ) => {
30+ document . addEventListener ( 'keydown' , escFunction , false ) ;
31+ document . addEventListener ( 'keydown' , cmdKFunction , false ) ;
32+ return ( ) => {
33+ document . removeEventListener ( 'keydown' , escFunction , false ) ;
34+ document . removeEventListener ( 'keydown' , cmdKFunction , false ) ;
35+ } ;
36+ } , [ ] ) ;
37+
1538 const Modal = ( { handleClose, show, children } : any ) => {
1639 const showHideclassNameName = show
1740 ? 'fixed inset-0 z-50 bg-basics-900 dark:bg-basics-900 dark:bg-opacity-50 bg-opacity-50 grid place-items-center h-screen'
You can’t perform that action at this time.
0 commit comments