import { Calendar, Shield, MapPin, Users, BarChart3, Bell, Settings, LogOut, UserCog, ClipboardList, } from "lucide-react"; import { Link, useLocation } from "wouter"; import { Sidebar, SidebarContent, SidebarGroup, SidebarGroupContent, SidebarGroupLabel, SidebarMenu, SidebarMenuButton, SidebarMenuItem, SidebarHeader, SidebarFooter, } from "@/components/ui/sidebar"; import { useAuth } from "@/hooks/useAuth"; import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"; import { Button } from "@/components/ui/button"; import { ThemeToggle } from "@/components/theme-toggle"; const menuItems = [ { title: "Dashboard", url: "/", icon: Shield, roles: ["admin", "coordinator", "guard", "client"], }, { title: "Turni", url: "/shifts", icon: Calendar, roles: ["admin", "coordinator", "guard"], }, { title: "Pianificazione", url: "/planning", icon: ClipboardList, roles: ["admin", "coordinator"], }, { title: "Guardie", url: "/guards", icon: Users, roles: ["admin", "coordinator"], }, { title: "Siti", url: "/sites", icon: MapPin, roles: ["admin", "coordinator", "client"], }, { title: "Report", url: "/reports", icon: BarChart3, roles: ["admin", "coordinator", "client"], }, { title: "Notifiche", url: "/notifications", icon: Bell, roles: ["admin", "coordinator", "guard"], }, { title: "Utenti", url: "/users", icon: UserCog, roles: ["admin"], }, ]; export function AppSidebar() { const { user } = useAuth(); const [location] = useLocation(); const filteredItems = menuItems.filter( (item) => user && item.roles.includes(user.role) ); return (

VigilanzaTurni

Sistema Gestione

Menu Principale {filteredItems.map((item) => ( {item.title} ))}
{user?.firstName?.[0]}{user?.lastName?.[0]}

{user?.firstName} {user?.lastName}

{user?.role}

); }