import * as React from 'react'; import { useTheme } from '@mui/material/styles'; import useMediaQuery from '@mui/material/useMediaQuery'; import Box from '@mui/material/Box'; import Toolbar from '@mui/material/Toolbar'; import { Outlet } from 'react-router'; import DashboardHeader from './DashboardHeader'; import DashboardSidebar from './DashboardSidebar'; import SitemarkIcon from './SitemarkIcon'; export default function DashboardLayout() { const theme = useTheme(); const [isDesktopNavigationExpanded, setIsDesktopNavigationExpanded] = React.useState(true); const [isMobileNavigationExpanded, setIsMobileNavigationExpanded] = React.useState(false); const isOverMdViewport = useMediaQuery(theme.breakpoints.up('md')); const isNavigationExpanded = isOverMdViewport ? isDesktopNavigationExpanded : isMobileNavigationExpanded; const setIsNavigationExpanded = React.useCallback( (newExpanded) => { if (isOverMdViewport) { setIsDesktopNavigationExpanded(newExpanded); } else { setIsMobileNavigationExpanded(newExpanded); } }, [ isOverMdViewport, setIsDesktopNavigationExpanded, setIsMobileNavigationExpanded, ], ); const handleToggleHeaderMenu = React.useCallback( (isExpanded) => { setIsNavigationExpanded(isExpanded); }, [setIsNavigationExpanded], ); const layoutRef = React.useRef(null); return ( } title="" menuOpen={isNavigationExpanded} onToggleMenu={handleToggleHeaderMenu} /> ); }