File tree Expand file tree Collapse file tree 1 file changed +9
-2
lines changed
frontend/app/routes/_index/components/page-layout Expand file tree Collapse file tree 1 file changed +9
-2
lines changed Original file line number Diff line number Diff line change 1- import { useCallback , useState } from "react" ;
1+ import { useCallback , useEffect , useState } from "react" ;
22import styles from "./page-layout.module.css" ;
3+ import { useNavigation } from "react-router" ;
34
45export type PageLayoutProps = {
56 topNavComponent : ( props : RequiredTopNavProps ) => React . ReactNode ,
@@ -15,13 +16,19 @@ export type RequiredTopNavProps = {
1516export function PageLayout ( props : PageLayoutProps ) {
1617 // data
1718 const [ isHamburgerMenuOpen , setIsHamburgerMenuOpen ] = useState ( false ) ;
19+ const isNavigating = Boolean ( useNavigation ( ) . location ) ;
20+
21+ // close hamburger-menu when done navigating
22+ useEffect ( ( ) => {
23+ ! isNavigating && setIsHamburgerMenuOpen ( false ) ;
24+ } , [ isNavigating , setIsHamburgerMenuOpen ] ) ;
1825
1926 // events
2027 const onHamburgerMenuClick = useCallback ( function ( ) {
2128 setIsHamburgerMenuOpen ( ! isHamburgerMenuOpen )
2229 } , [ setIsHamburgerMenuOpen , isHamburgerMenuOpen ] ) ;
2330
24- const onBodyClick = useCallback ( function ( ) {
31+ const onBodyClick = useCallback ( function ( ) {
2532 setIsHamburgerMenuOpen ( false ) ;
2633 } , [ setIsHamburgerMenuOpen ] ) ;
2734
You can’t perform that action at this time.
0 commit comments