import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom' import { AppLayout } from '@/components/Layout/AppLayout' import { LoginPage } from '@/pages/Login/LoginPage' import { InboxPage } from '@/pages/Inbox/InboxPage' import { MessageDetailPage } from '@/pages/MessageDetail/MessageDetailPage' import { ComposePage } from '@/pages/Compose/ComposePage' import { MailboxesPage } from '@/pages/Mailboxes/MailboxesPage' import { UsersPage } from '@/pages/Users/UsersPage' import { PermissionsPage } from '@/pages/Permissions/PermissionsPage' import { SettingsPage } from '@/pages/Settings/SettingsPage' import { VirtualBoxesPage } from '@/pages/VirtualBoxes/VirtualBoxesPage' import { NotificationsPage } from '@/pages/Notifications/NotificationsPage' import { MultiTenantPage } from '@/pages/MultiTenant/MultiTenantPage' import { SearchPage } from '@/pages/Search/SearchPage' import { ReportsPage } from '@/pages/Reports/ReportsPage' import { AuditLogPage } from '@/pages/AuditLog/AuditLogPage' import { TemplatesPage } from '@/pages/Templates/TemplatesPage' import { RoutingRulesPage } from '@/pages/RoutingRules/RoutingRulesPage' import { ContactsPage } from '@/pages/Contacts/ContactsPage' import { DeadlinesPage } from '@/pages/Deadlines/DeadlinesPage' import { SignaturesPage } from '@/pages/Signatures/SignaturesPage' import { FascicoliPage } from '@/pages/Fascicoli/FascicoliPage' import { FascicoloDetailPage } from '@/pages/Fascicoli/FascicoloDetailPage' import { TaxonomyPage } from '@/pages/Taxonomy/TaxonomyPage' import { PermissionPresetsPage } from '@/pages/PermissionPresets/PermissionPresetsPage' import { ConservationPage } from '@/pages/Conservation/ConservationPage' /** * Routing principale dell'applicazione PEChub. * * Struttura: * - /login → LoginPage (pubblica) * - /* → AppLayout (richiede autenticazione) * - /inbox → Posta in arrivo (tutte le caselle) * - /sent → Posta inviata (tutte le caselle) * - /starred → Preferiti (tutte le caselle) * - /archived → Archiviati (tutte le caselle) * - /mailbox/:mailboxId/inbox → Posta in arrivo di una specifica casella * - /mailbox/:mailboxId/sent → Posta inviata di una specifica casella * - /mailbox/:mailboxId/starred → Preferiti di una specifica casella * - /mailbox/:mailboxId/archived → Archiviati di una specifica casella * - /messages/:id → Dettaglio messaggio * - /compose → Nuova PEC * - /mailboxes → Gestione caselle (admin) * - /users → Gestione utenti (admin) * - /permissions → Gestione permessi (admin) */ export default function App() { return ( {/* Pagina pubblica */} } /> {/* Pagine protette (dentro AppLayout) */} }> } /> {/* Vista globale: tutte le caselle insieme */} } /> } /> } /> } /> } /> } /> } /> {/* Vista per singola casella PEC */} } /> } /> } /> } /> } /> } /> } /> {/* Vista per Virtual Box assegnata */} } /> } /> } /> } /> } /> } /> {/* Pagine admin */} } /> } /> } /> } /> } /> } /> {/* Super Admin – Gestione Multi-Tenant */} } /> {/* Ricerca avanzata full-text */} } /> {/* Dashboard e Reportistica */} } /> {/* Audit Log */} } /> {/* Nuove funzionalita' */} } /> } /> } /> } /> } /> } /> } /> {/* Tassonomia di classificazione multi-livello (N2) */} } /> {/* Conservazione sostitutiva (admin) */} } /> {/* Profilo utente */} } /> {/* Fallback */} } /> ) }