// Sidebar Component const Sidebar = ({ currentView, onViewChange, queueData }) => { const { user, isAdmin, logout } = useAuth(); const { jobs = [], pending_count = 0 } = queueData || {}; const running = jobs.filter(j => j.status === 'running').length; const pending = pending_count || jobs.filter(j => j.status === 'queued').length; const navItems = [ { id: 'dashboard', icon: '🏠', label: 'Panoramica', count: running > 0 ? running : null, countType: 'warning' }, { id: 'new', icon: '➕', label: 'Nuova Registrazione' }, { id: 'queue', icon: '📋', label: 'Coda Lavori', count: pending + running, countType: pending > 0 ? 'info' : 'default' }, { id: 'profiles', icon: '📬', label: 'Profili Email' }, { id: 'analytics', icon: '📊', label: 'Statistiche' }, { id: 'archive', icon: '📦', label: 'Archivio' }, ]; // Gestione items const adminItems = [ // Welcome screen for all users { id: 'welcome', icon: '🏠', label: 'Panoramica' }, // Pratiche for all users - permissions checked in the view { id: 'projects', icon: '📁', label: 'Pratiche' }, // Referenti available for all users { id: 'referenti', icon: '👤', label: 'Referenti' }, // Admin only items ...(isAdmin ? [ { id: 'performance', icon: '📈', label: 'Performance' }, { id: 'users', icon: '👥', label: 'Utenti' }, ] : []), ]; return ( ); }; window.Sidebar = Sidebar;