import { Routes, Route, Navigate } from 'react-router-dom'; import { Suspense, lazy } from 'react'; import PageLoader from './components/common/PageLoader'; import ProtectedRoute from './components/auth/ProtectedRoute'; import RoleProtectedRoute from './components/auth/RoleProtectedRoute'; import SuperuserBlockedRoute from './components/auth/SuperuserBlockedRoute'; import RoleBasedRedirect from './components/auth/RoleBasedRedirect'; import { useAuth } from './contexts/AuthContext'; import { TenantProvider } from './contexts/TenantContext'; import { ThemeProvider } from './contexts/ThemeContext'; const Terms = lazy(() => import('./pages/Terms')); const Privacy = lazy(() => import('./pages/Privacy')); // Lazy-loaded components const Login = lazy(() => import('./pages/auth/Login')); const Register = lazy(() => import('./pages/auth/Register')); const OAuthCallback = lazy(() => import('./pages/auth/OAuthCallback')); const Dashboard = lazy(() => import('./pages/dashboard/Dashboard')); const SingleEvaluation = lazy(() => import('./pages/evaluations/SingleEvaluation')); const BulkEvaluation = lazy(() => import('./pages/evaluations/BulkEvaluation')); const BulkEvaluationResults = lazy(() => import('./pages/evaluations/BulkEvaluationResults')); const BulkEvaluationProgress = lazy(() => import('./pages/evaluations/BulkEvaluationProgress')); const EvaluationResults = lazy(() => import('./pages/evaluations/EvaluationResults')); const Progress = lazy(() => import('./pages/evaluations/Progress')); const AdminLayout = lazy(() => import('./components/layouts/AdminLayout')); const DashboardLayout = lazy(() => import('./components/layouts/DashboardLayout')); const AdminDashboard = lazy(() => import('./pages/admin/AdminDashboard')); const TenantUsers = lazy(() => import('./pages/tenant/TenantUsers')); const TenantSettings = lazy(() => import('./pages/tenant/TenantSettings')); const TenantLpalto = lazy(() => import('./pages/tenant/TenantLpalto')); const TenantLpmedio = lazy(() => import('./pages/tenant/TenantLpmedio')); // const SummariesPage = lazy(() => import('./pages/tenant/SummariesPage')); const CompanyLookup = lazy(() => import('./pages/CompanyLookup')); const NotFound = lazy(() => import('./pages/NotFound')); const LandingPage = lazy(() => import('./pages/LandingPage')); const SheriffDataLogsPage = lazy(() => import('./pages/evaluations/EvaluationsSummaryPage')); // Changed import name const SheriffLogDetailPage = lazy(() => import('./pages/admin/SheriffLogDetailPage')); // Added import for detail page const HowToUse = lazy(() => import('./pages/HowToUse')); const Consultas = lazy(() => import('./pages/Consultas')); const ConsultaDetailPage = lazy(() => import('./pages/ConsultaDetailPage')); const AlertingPage = lazy(() => import('./pages/AlertingPage')); const AlertingDetailPage = lazy(() => import('./pages/AlertingDetailPage')); const FastCheckConsolidado = lazy(() => import('./pages/FastCheckConsolidado')); const FastCheckEX = lazy(() => import('./pages/FastCheckEX')); const EvaluationSettingsPage = lazy(() => import('./pages/admin/EvaluationSettingsPage')); const MonitoringPage = lazy(() => import('./pages/MonitoringPage')); const HistoricalConsultas = lazy(() => import('./pages/HistoricalConsultas')); const AdminRoutes = lazy(() => import('./routes/AdminRoutes')); const AuditOverviewDebug = lazy(() => import('./pages/debug/AuditOverviewDebug')); function App() { const { isAuthenticated, loading } = useAuth(); if (loading) { return ; } return ( }> {/* Public routes */} : } /> : } /> : } /> } /> } /> } /> {/* Debug route (public) */} } /> {/* All protected routes wrapped in DashboardLayout */} }> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> {/* This might be the old summary page? */} } /> {/* Changed component */} } /> } /> } /> } /> } /> } /> } /> } /> } /> {/* Tenant admin routes */} }> } /> } /> } /> } /> {/* } /> */} {/* Superuser admin routes */} } /> {/* Not found */} } /> ); } export default App;