import { memo, useMemo } from 'react'; import useMediaQuery from '@mui/material/useMediaQuery'; import Chip from '@mui/material/Chip'; import Drawer from '@mui/material/Drawer'; import Stack from '@mui/material/Stack'; import Box from '@mui/material/Box'; // project imports import MenuCard from './MenuCard'; import MenuList from '../MenuList'; import LogoSection from '../LogoSection'; import MiniDrawerStyled from './MiniDrawerStyled'; import useConfig from 'hooks/useConfig'; import { drawerWidth } from 'store/constant'; import SimpleBar from 'ui-component/third-party/SimpleBar'; import { handlerDrawerOpen, useGetMenuMaster } from 'api/menu'; // ==============================|| SIDEBAR DRAWER ||============================== // function Sidebar() { const downMD = useMediaQuery((theme) => theme.breakpoints.down('md')); const { menuMaster } = useGetMenuMaster(); const drawerOpen = menuMaster.isDashboardDrawerOpened; const { state: { miniDrawer } } = useConfig(); const logo = useMemo( () => ( ), [] ); const drawer = useMemo(() => { const drawerContent = ( <> ); let drawerSX = { paddingLeft: '0px', paddingRight: '0px', marginTop: '20px' }; if (drawerOpen) drawerSX = { paddingLeft: '16px', paddingRight: '16px', marginTop: '0px' }; return ( <> {downMD ? ( {drawerOpen && drawerContent} ) : ( {drawerOpen && drawerContent} )} ); }, [downMD, drawerOpen]); return ( {downMD || (miniDrawer && drawerOpen) ? ( handlerDrawerOpen(!drawerOpen)} slotProps={{ paper: { sx: { mt: downMD ? 0 : 11, zIndex: 1099, width: drawerWidth, bgcolor: 'background.default', color: 'text.primary', borderRight: 'none' } } }} ModalProps={{ keepMounted: true }} color="inherit" > {downMD && logo} {drawer} ) : ( {logo} {drawer} )} ); } export default memo(Sidebar);