import { useEffect } from "react"; import { BrowserRouter as Router, Routes, Route, Navigate } from "react-router-dom"; import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; import { AppLayout } from "./components/layout/AppLayout"; import { Toaster } from "./components/ui/toaster"; import { useAuthStore } from "./store/auth"; import { Dashboard } from "./pages/Dashboard"; import { Analytics } from "./pages/Analytics"; import { UsageLogs } from "./pages/UsageLogs"; import { Channels } from "./pages/Channels"; import { Tokens } from "./pages/Tokens"; import { Pricing } from "./pages/Pricing"; import { ApiTest } from "./pages/ApiTest"; import { NotFound } from "./pages/NotFound"; import { SystemSettings } from "./pages/SystemSettings"; const queryClient = new QueryClient({ defaultOptions: { queries: { retry: 1, refetchOnWindowFocus: false, }, }, }); function ProtectedRoute({ children }: { children: React.ReactNode }) { const { isAuthenticated, isLoading } = useAuthStore(); if (isLoading) { return null; } if (!isAuthenticated) { return ; } return <>{children}; } function HomeRoute() { const { isAuthenticated, isLoading } = useAuthStore(); if (isLoading) { return null; } if (isAuthenticated) { return ; } return ; } function App() { const { checkAuth } = useAuthStore(); useEffect(() => { checkAuth(); }, [checkAuth]); return ( } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> ); } export default App;