import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { AuthProvider } from './context/AuthContext'; import { ThemeProvider } from './context/ThemeContext'; import { Layout } from './components/Layout'; import { ProtectedRoute } from './components/ProtectedRoute'; import { Login } from './pages/Login'; import { Register } from './pages/Register'; import { Analysis } from './pages/Analysis'; import { Batch } from './pages/Batch'; import { AnalyticsPage } from './pages/Analytics'; import { About } from './pages/About'; import { AdminUsers } from './pages/AdminUsers'; import { Compare } from './pages/Compare'; const queryClient = new QueryClient({ defaultOptions: { queries: { staleTime: 1000 * 60 * 5, // 5 minutes retry: 1, }, }, }); function App() { return ( {/* Public routes */} } /> } /> {/* Protected routes */} } > } /> } /> } /> } /> } /> {/* Admin routes */} } /> {/* Default redirect */} } /> } /> ); } export default App;