import { Routes, Route, Navigate } from 'react-router-dom' import { useEffect } from 'react' import { useAuthStore } from './hooks/useAuth' import Layout from './components/ui/Layout' import LoginPage from './pages/LoginPage' import DashboardPage from './pages/DashboardPage' import ActivitiesPage from './pages/ActivitiesPage' import ActivityDetailPage from './pages/ActivityDetailPage' import HealthPage from './pages/HealthPage' import RoutesPage from './pages/RoutesPage' import RecordsPage from './pages/RecordsPage' import UploadPage from './pages/UploadPage' import ProfilePage from './pages/ProfilePage' function RequireAuth({ children }) { const token = useAuthStore((s) => s.token) if (!token) return return children } export default function App() { const { token, fetchUser } = useAuthStore() useEffect(() => { if (token) fetchUser() }, [token]) useEffect(() => { const params = new URLSearchParams(window.location.search) const urlToken = params.get('token') if (urlToken) { localStorage.setItem('token', urlToken) useAuthStore.setState({ token: urlToken }) window.history.replaceState({}, '', '/') } }, []) return ( } /> }> } /> } /> } /> } /> } /> } /> } /> } /> ) }