import { BrowserRouter, Route, Routes, Navigate } from 'react-router-dom'; import { Layout } from './pages/Layout'; import { DashboardPage } from './pages/Dashboard'; import { Login } from './pages/Login'; import { SettingsPage } from './pages/Settings'; import { Servers } from './pages/Servers'; import { useUserStore } from './store/user'; import { Register } from './pages/Register'; import { QueryClientProvider } from '@tanstack/react-query'; import { queryClient } from './api/cache'; import { TokenLoginContainer } from './components/TokenLoginContainer'; import React, { useRef } from 'react'; import { trpc, trpcClient } from './api/trpc'; import { MonitorPage } from './pages/Monitor'; import { WebsitePage } from './pages/Website'; import { useGlobalConfig } from './hooks/useConfig'; import { useInjectWebsiteScript } from './hooks/useInjectWebsiteScript'; import { ConfigProvider, theme } from 'antd'; import clsx from 'clsx'; import { useSettingsStore } from './store/settings'; import { StatusPage } from './pages/Status'; import { TelemetryPage } from './pages/Telemetry'; export const AppRoutes: React.FC = React.memo(() => { const { info: userInfo } = useUserStore(); const { allowRegister } = useGlobalConfig(); useInjectWebsiteScript(); return ( {userInfo ? ( }> } /> } /> } /> } /> } /> } /> ) : ( } /> {allowRegister && } />} )} } /> } /> ); }); AppRoutes.displayName = 'AppRoutes'; export const App: React.FC = React.memo(() => { const rootRef = useRef(null); const colorScheme = useSettingsStore((state) => state.colorScheme); const algorithm = colorScheme === 'dark' ? theme.darkAlgorithm : theme.defaultAlgorithm; return (
rootRef.current!} >
); }); App.displayName = 'App';