You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

74 line
2.3 KiB

  1. import { useEffect, useState } from 'react';
  2. import { Outlet } from 'react-router-dom';
  3. import { useDispatch, useSelector } from 'react-redux';
  4. // material-ui
  5. import { useTheme } from '@mui/material/styles';
  6. import { Box, useMediaQuery } from '@mui/material';
  7. import Loadable from 'components/Loadable';
  8. import { lazy } from 'react';
  9. // import { Toolbar, useMediaQuery } from '@mui/material';
  10. // project import
  11. // import Drawer from './Drawer';
  12. // import Header from './Header';
  13. const Header = Loadable(lazy(() => import('./Header')));
  14. const Footer = Loadable(lazy(() => import('components/cards/AuthFooter')));
  15. // import Footer from 'components/cards/AuthFooter';
  16. // import navigation from 'menu-items';
  17. // import Breadcrumbs from 'components/@extended/Breadcrumbs';
  18. // types
  19. import { openDrawer } from 'store/reducers/menu';
  20. // import "assets/style/styles.css";
  21. // ==============================|| MAIN LAYOUT ||============================== //
  22. const MainLayout = () => {
  23. const theme = useTheme();
  24. const matchDownLG = useMediaQuery(theme.breakpoints.down('lg'));
  25. const dispatch = useDispatch();
  26. const { drawerOpen } = useSelector((state) => state.menu);
  27. // drawer toggler
  28. const [open, setOpen] = useState(drawerOpen);
  29. // const handleDrawerToggle = () => {
  30. // setOpen(!open);
  31. // dispatch(openDrawer({ drawerOpen: !open }));
  32. // };
  33. // set media wise responsive drawer
  34. useEffect(() => {
  35. setOpen(!matchDownLG);
  36. dispatch(openDrawer({ drawerOpen: !matchDownLG }));
  37. // eslint-disable-next-line react-hooks/exhaustive-deps
  38. }, [matchDownLG]);
  39. useEffect(() => {
  40. if (open !== drawerOpen) setOpen(drawerOpen);
  41. // eslint-disable-next-line react-hooks/exhaustive-deps
  42. }, [drawerOpen]);
  43. return (
  44. <Box sx={{backgroundColor:'#ffffff', display: 'flex', width: '100%', flexDirection: "column", paddingTop: { xs: "5px", sm: "43px" }}}>
  45. <Header/>
  46. {/* <Drawer open={open} handleDrawerToggle={handleDrawerToggle} /> */}
  47. <Box style={{ width: '100%', flexGrow: 1 } } sx={{ paddingTop: "50px" }}>
  48. {/* <Toolbar /> */}
  49. {/* <Breadcrumbs navigation={navigation} title /> */}
  50. <Outlet />
  51. </Box>
  52. <Box sx={{borderTop: "3px solid #0C489E"}}>
  53. <Footer/>
  54. </Box>
  55. </Box>
  56. );
  57. };
  58. export default MainLayout;