import { lazy, Suspense } from "react"; import { BrowserRouter, Route, Routes } from "react-router-dom"; import { ErrorNotFound, LoadingPage, Page, SiteContainer, SiteFooter, SiteHeader, SiteMenu, Unhealthy, } from "src/components"; import { useAuthState } from "src/context"; import { useHealth } from "src/hooks"; const Setup = lazy(() => import("src/pages/Setup")); const Login = lazy(() => import("src/pages/Login")); const Dashboard = lazy(() => import("src/pages/Dashboard")); const Settings = lazy(() => import("src/pages/Settings")); const Certificates = lazy(() => import("src/pages/Certificates")); const Access = lazy(() => import("src/pages/Access")); const AuditLog = lazy(() => import("src/pages/AuditLog")); const Users = lazy(() => import("src/pages/Users")); const ProxyHosts = lazy(() => import("src/pages/Nginx/ProxyHosts")); const RedirectionHosts = lazy(() => import("src/pages/Nginx/RedirectionHosts")); const DeadHosts = lazy(() => import("src/pages/Nginx/DeadHosts")); const Streams = lazy(() => import("src/pages/Nginx/Streams")); function Router() { const health = useHealth(); const { authenticated } = useAuthState(); if (health.isLoading) { return ; } if (health.isError || health.data?.status !== "OK") { return ; } if (!health.data?.setup) { return ; } if (!authenticated) { return ( }> ); } return (
}> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } />
); } export default Router;