import { useDispatch, useSelector } from 'react-redux'; import { Outlet } from 'react-router-dom'; import AuthGuard from 'utils/route-guard/AuthGuard'; // material-ui import { styled, useTheme } from '@mui/material/styles'; import { AppBar, Box, CssBaseline, Toolbar, useMediaQuery } from '@mui/material'; import AdminContainer from 'ui-component/AdminContainer'; // project imports import Breadcrumbs from 'ui-component/extended/Breadcrumbs'; import Header from './Header'; import Sidebar from './Sidebar'; import navigation from 'menu-items'; import { drawerWidth } from 'store/constant'; import { SET_MENU } from 'store/actions'; // assets import { IconChevronRight } from '@tabler/icons-react'; // styles const Main = styled('main', { shouldForwardProp: (prop) => prop !== 'open' })(({ theme, open }) => ({ ...theme.typography.mainContent, borderBottomLeftRadius: 0, borderBottomRightRadius: 0, transition: theme.transitions.create( 'margin', open ? { easing: theme.transitions.easing.easeOut, duration: theme.transitions.duration.enteringScreen } : { easing: theme.transitions.easing.sharp, duration: theme.transitions.duration.leavingScreen } ), [theme.breakpoints.up('md')]: { marginLeft: open ? 0 : -(drawerWidth - 20), width: `calc(100% - ${drawerWidth}px)` }, [theme.breakpoints.down('md')]: { marginLeft: '20px', width: `calc(100% - ${drawerWidth}px)`, padding: '16px' }, [theme.breakpoints.down('sm')]: { marginLeft: '10px', width: `calc(100% - ${drawerWidth}px)`, padding: '16px', marginRight: '10px' } })); // ==============================|| MAIN LAYOUT ||============================== // const MainLayout = () => { const theme = useTheme(); const matchDownMd = useMediaQuery(theme.breakpoints.down('md')); // Handle left drawer const leftDrawerOpened = useSelector((state) => state.customization.opened); const dispatch = useDispatch(); const handleLeftDrawerToggle = () => { dispatch({ type: SET_MENU, opened: !leftDrawerOpened }); }; return ( {/* header */}
{/* drawer */} {/* main content */}
{/* breadcrumb */}
); }; export default MainLayout;