import React from "react"; import { NavLink, Navigate, Route, Routes, useLocation, useNavigate } from "react-router-dom"; import { useAuth } from "./state"; import { LoginPage } from "./pages/LoginPage"; import { DashboardPage } from "./pages/DashboardPage"; import { TargetsPage } from "./pages/TargetsPage"; import { TargetDetailPage } from "./pages/TargetDetailPage"; import { QueryInsightsPage } from "./pages/QueryInsightsPage"; import { AlertsPage } from "./pages/AlertsPage"; import { AdminUsersPage } from "./pages/AdminUsersPage"; import { ServiceInfoPage } from "./pages/ServiceInfoPage"; import { UserSettingsPage } from "./pages/UserSettingsPage"; function Protected({ children }) { const { tokens } = useAuth(); const location = useLocation(); if (!tokens?.accessToken) return ; return children; } function Layout({ children }) { const { me, logout, uiMode, setUiMode, alertToasts, dismissAlertToast, serviceUpdateAvailable } = useAuth(); const navigate = useNavigate(); const navClass = ({ isActive }) => `nav-btn${isActive ? " active" : ""}`; const fullName = [me?.first_name, me?.last_name].filter(Boolean).join(" ").trim(); return (
{children}
{alertToasts.map((toast) => (
{toast.severity === "alert" ? "New Alert" : "New Warning"}
{toast.title}
{toast.target}
{toast.message}
))}
); } export function App() { return ( } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> ); }