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);