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;