import { lazy, Suspense } from "react"; import { BrowserRouter, Routes, Route } from "react-router-dom"; import { SiteWrapper, SpinnerPage, Unhealthy } from "src/components"; import { useAuthState, useLocaleState } from "src/context"; import { useHealth } from "src/hooks"; const AccessLists = lazy(() => import("src/pages/AccessLists")); const AuditLog = lazy(() => import("src/pages/AuditLog")); const Certificates = lazy(() => import("src/pages/Certificates")); const CertificateAuthorities = lazy( () => import("src/pages/CertificateAuthorities"), ); const Dashboard = lazy(() => import("src/pages/Dashboard")); const DNSProviders = lazy(() => import("src/pages/DNSProviders")); const Hosts = lazy(() => import("src/pages/Hosts")); const NginxTemplates = lazy(() => import("src/pages/NginxTemplates")); const Login = lazy(() => import("src/pages/Login")); const GeneralSettings = lazy(() => import("src/pages/Settings")); const Setup = lazy(() => import("src/pages/Setup")); const Upstreams = lazy(() => import("src/pages/Upstreams")); const Users = lazy(() => import("src/pages/Users")); function Router() { const health = useHealth(); const { authenticated } = useAuthState(); const { locale } = useLocaleState(); const Spinner = ; if (health.isLoading) { return Spinner; } if (health.isError || !health.data?.healthy) { return ; } if (health.data?.healthy && !health.data?.setup) { return ( ); } if (!authenticated) { return ( ); } return ( } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> ); } export default Router;