import { useLocation, useNavigate } from 'react-router-dom'; import { useSelector } from 'react-redux'; import { Drawer, List, ListItemButton, ListItemIcon, ListItemText, Toolbar, Box, } from '@mui/material'; import DashboardIcon from '@mui/icons-material/Dashboard'; import DescriptionIcon from '@mui/icons-material/Description'; import AddCircleIcon from '@mui/icons-material/AddCircle'; import { selectSidebarOpen } from '../app/slices/uiSlice'; import { selectUser } from '../app/slices/authSlice'; import type { RootState } from '../app/store'; const DRAWER_WIDTH = 240; const dispatcherNav = [ { label: 'Dashboard', path: '/', icon: }, { label: 'My Proposals', path: '/proposals', icon: }, { label: 'New Proposal', path: '/proposals/new', icon: }, ]; export default function Sidebar() { const navigate = useNavigate(); const location = useLocation(); const open = useSelector((state: RootState) => selectSidebarOpen(state)); const user = useSelector((state: RootState) => selectUser(state)); const navItems = dispatcherNav; return ( {navItems.map((item) => ( navigate(item.path)} > {item.icon} ))} {user && ( {user.displayName} {user.role} )} ); }