File tree Expand file tree Collapse file tree
packages/workshop-app/app/routes/_app+ Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -1553,13 +1553,23 @@ function NavToggle({
15531553 React . useEffect ( ( ) => {
15541554 if ( ! isMenuOpened ) return
15551555
1556- function handleKeyUp ( event : KeyboardEvent ) {
1557- if ( event . key === 'Escape' ) {
1556+ function handleKeyDown ( event : KeyboardEvent ) {
1557+ if ( event . key !== 'Escape' || event . defaultPrevented ) {
1558+ return
1559+ }
1560+
1561+ const hasOpenDialog = Boolean (
1562+ document . querySelector (
1563+ '[role="dialog"][data-state="open"], [role="alertdialog"][data-state="open"]' ,
1564+ ) ,
1565+ )
1566+
1567+ if ( ! hasOpenDialog ) {
15581568 menuButtonRef . current ?. click ( )
15591569 }
15601570 }
1561- document . addEventListener ( 'keyup ' , handleKeyUp )
1562- return ( ) => document . removeEventListener ( 'keyup ' , handleKeyUp )
1571+ document . addEventListener ( 'keydown ' , handleKeyDown )
1572+ return ( ) => document . removeEventListener ( 'keydown ' , handleKeyDown )
15631573 } , [ isMenuOpened ] )
15641574
15651575 return (
You can’t perform that action at this time.
0 commit comments