import { useState } from 'react' import { Box, Button, Menu, Grid } from '@mui/material' import { ArrowDropDownRounded } from '@mui/icons-material' import { useLocation, useNavigate } from 'react-router-dom' import { useRoutesMap } from '@/configs/routes' import ProductMenuLink from './ProductMenuLink' import type { Nullable } from '@/utils/types' import type { PathRenderProps, To } from '../layout' const ProductDrawser: React.FC = () => { const [anchorEl, setAnchorEl] = useState>(null) const opened = anchorEl === null ? false : true const handleClick = (event: any) => { setAnchorEl(event.currentTarget) } const handleClose = () => { setAnchorEl(null) } const navigate = useNavigate() const location = useLocation() const { pathname } = location const routesMap = useRoutesMap() const pathMeta = routesMap.get(pathname) const renderPath: PathRenderProps[] = [] routesMap.forEach((value, key) => { const { meta } = value if (meta && meta.type === 'LINK') { renderPath.push({ path: key || '/', metaName: meta.name, metaType: meta.type, metaIcon: meta.icon, metaDesc: meta.desc || meta.name || '', }) } }) const jumpto = (path: To) => { handleClose() navigate(path) } return ( {renderPath.map((item) => ( ))} ) } export default ProductDrawser