vbox funzionanti

This commit is contained in:
2026-03-19 11:41:10 +01:00
parent 538d6a6bec
commit b7f7c1f7c0
32 changed files with 6043 additions and 262 deletions
+45 -18
View File
@@ -7,44 +7,71 @@ 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'
/**
* Routing principale dell'applicazione PecFlow.
*
* Struttura:
* - /login → LoginPage (pubblica)
* - /login → LoginPage (pubblica)
* - /* → AppLayout (richiede autenticazione)
* - /inbox → InboxPage
* - /sent → InboxPage (filtrata su outbound)
* - /messages/:id → MessageDetailPage
* - /compose → ComposePage
* - /mailboxes → MailboxesPage (admin)
* - /users → UsersPage (admin)
* - /permissions → PermissionsPage (admin)
* - / → redirect a /inbox
* - /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 (
<BrowserRouter>
<Routes>
{/* Pagine pubbliche */}
{/* Pagina pubblica */}
<Route path="/login" element={<LoginPage />} />
{/* Pagine protette (dentro AppLayout) */}
<Route element={<AppLayout />}>
<Route path="/" element={<Navigate to="/inbox" replace />} />
<Route path="/inbox" element={<InboxPage />} />
<Route
path="/sent"
element={<InboxPage />}
/>
{/* Vista globale: tutte le caselle insieme */}
<Route path="/inbox" element={<InboxPage viewMode="inbox" />} />
<Route path="/sent" element={<InboxPage viewMode="sent" />} />
<Route path="/starred" element={<InboxPage viewMode="starred" />} />
<Route path="/archived" element={<InboxPage viewMode="archived" />} />
{/* Vista per singola casella PEC */}
<Route path="/mailbox/:mailboxId/inbox" element={<InboxPage viewMode="inbox" />} />
<Route path="/mailbox/:mailboxId/sent" element={<InboxPage viewMode="sent" />} />
<Route path="/mailbox/:mailboxId/starred" element={<InboxPage viewMode="starred" />} />
<Route path="/mailbox/:mailboxId/archived" element={<InboxPage viewMode="archived" />} />
{/* Vista per Virtual Box assegnata */}
<Route path="/virtual-box/:vboxId/inbox" element={<InboxPage viewMode="inbox" />} />
<Route path="/virtual-box/:vboxId/sent" element={<InboxPage viewMode="sent" />} />
<Route path="/virtual-box/:vboxId/starred" element={<InboxPage viewMode="starred" />} />
<Route path="/virtual-box/:vboxId/archived" element={<InboxPage viewMode="archived" />} />
<Route path="/messages/:id" element={<MessageDetailPage />} />
<Route path="/compose" element={<ComposePage />} />
{/* Pagine admin */}
<Route path="/mailboxes" element={<MailboxesPage />} />
<Route path="/users" element={<UsersPage />} />
<Route path="/permissions" element={<PermissionsPage />} />
<Route path="/mailboxes" element={<MailboxesPage />} />
<Route path="/users" element={<UsersPage />} />
<Route path="/permissions" element={<PermissionsPage />} />
<Route path="/virtual-boxes" element={<VirtualBoxesPage />} />
<Route path="/notifications" element={<NotificationsPage />} />
{/* Profilo utente */}
<Route path="/settings" element={<SettingsPage />} />
{/* Fallback */}
<Route path="*" element={<Navigate to="/inbox" replace />} />