import { lazy, Suspense } from 'react'; import { Routes, Route, Navigate } from 'react-router-dom'; import { AuthProvider } from './contexts/AuthContext'; import { ProtectedRoute } from './components/shared/ProtectedRoute'; import { IntranetLayout } from './components/layout/IntranetLayout'; import { PageLoader } from './components/shared/PageLoader'; // ── Pages (lazy-loaded) ────────────────────────────────────────────────────── const LoginPage = lazy(() => import('./pages/LoginPage')); const IntranetDashboard = lazy(() => import('./pages/intranet/IntranetDashboard')); const IntranetBugs = lazy(() => import('./pages/intranet/IntranetBugs')); const IntranetFeed = lazy(() => import('./pages/intranet/IntranetFeed')); const IntranetEvents = lazy(() => import('./pages/intranet/IntranetEvents')); const IntranetUsers = lazy(() => import('./pages/intranet/IntranetUsers')); const IntranetModeration = lazy(() => import('./pages/intranet/IntranetModeration')); // ── App ──────────────────────────────────────────────────────────────────────── export default function App() { return ( }> {/* Login */} } /> {/* Intranet (staff only) */} } > } /> } /> } /> } /> } /> } /> {/* Redirect root to intranet */} } /> {/* Catch-all: redirect to intranet */} } /> ); }