import { useEffect } from 'react'; import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { useAuthStore } from './stores/authStore'; import { authApi } from './api/auth'; import { LoginPage } from './pages/LoginPage'; import { RegisterPage } from './pages/RegisterPage'; import { DashboardPage } from './pages/DashboardPage'; import { ProtectedRoute } from './components/ProtectedRoute'; import './App.css'; const queryClient = new QueryClient({ defaultOptions: { queries: { retry: 1, staleTime: 5 * 60 * 1000, // 5 minutes }, }, }); function AuthChecker({ children }: { children: React.ReactNode }) { const { setUser, setLoading } = useAuthStore(); useEffect(() => { // Check if user is authenticated on app load authApi.getMe() .then((user) => setUser(user)) .catch(() => setUser(null)); }, [setUser, setLoading]); return <>{children}; } function App() { return ( } /> } /> }> } /> } /> ); } export default App;