import React from 'react'; import { NavLink, useLocation } from 'react-router-dom'; import { LayoutDashboard, CheckSquare, Folder, BarChart3, FileText, Settings, Users, Calendar, MessageSquare, ChevronLeft, ChevronRight } from 'lucide-react'; import { useAuth } from '../hooks/useAuth'; const Sidebar = ({ isOpen, onToggle }) => { const { user } = useAuth(); const location = useLocation(); const menuItems = [ { path: `/${user?.role}`, label: 'Dashboard', icon: LayoutDashboard, roles: ['admin', 'manager', 'employee'] }, { path: '/tasks', label: 'Tasks', icon: CheckSquare, roles: ['admin', 'manager', 'employee'] }, { path: '/documents', label: 'Documents', icon: Folder, roles: ['admin', 'manager', 'employee'] }, { path: '/analytics', label: 'Analytics', icon: BarChart3, roles: ['admin', 'manager'] }, { path: '/reports', label: 'Reports', icon: FileText, roles: ['admin', 'manager'] }, { path: '/users', label: 'Users', icon: Users, roles: ['admin'] }, { path: '/calendar', label: 'Calendar', icon: Calendar, roles: ['admin', 'manager', 'employee'] }, { path: '/messages', label: 'Messages', icon: MessageSquare, roles: ['admin', 'manager', 'employee'] }, { path: '/settings', label: 'Settings', icon: Settings, roles: ['admin', 'manager', 'employee'] }, ]; const filteredMenuItems = menuItems.filter(item => item.roles.includes(user?.role) ); return ( ); }; export default Sidebar;