import { Toaster } from "@/components/ui/sonner"; import { TooltipProvider } from "@/components/ui/tooltip"; import { lazy, Suspense } from "react"; import { Route, Switch, Redirect } from "wouter"; import ErrorBoundary from "./components/ErrorBoundary"; import { ThemeProvider } from "./contexts/ThemeContext"; import { LocalAuthProvider, useLocalAuth } from "./contexts/LocalAuthContext"; import { AppLayout } from "./components/AppLayout"; import { Loader2 } from "lucide-react"; // Chaque page est chargée à la demande : la connexion reste rapide et les écrans // d'administration lourds ne sont téléchargés que lorsqu'ils sont effectivement ouverts. const NotFound = lazy(() => import("@/pages/NotFound")); const Login = lazy(() => import("./pages/Login")); const VeilleDashboard = lazy(() => import("./pages/VeilleDashboard")); const AAPDashboard = lazy(() => import("./pages/AAPDashboard")); const Settings = lazy(() => import("./pages/Settings")); const UsersAdmin = lazy(() => import("./pages/UsersAdmin")); const ImportLogs = lazy(() => import("./pages/ImportLogs")); const ClassificationErrors = lazy(() => import("./pages/ClassificationErrors")); const BoiteAIdees = lazy(() => import("@/pages/BoiteAIdees")); const RssFeeds = lazy(() => import("@/pages/RssFeeds")); const AzureCallback = lazy(() => import("@/pages/AzureCallback")); // ─── Guard d'authentification ───────────────────────────────────────────────── function AuthGuard({ children }: { children: React.ReactNode }) { const { user, loading } = useLocalAuth(); if (loading) { return (