import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom'; import { useState, useEffect } from 'react'; import Daily from './pages/Daily'; import AddEntry from './pages/AddEntry'; import EntryDetail from './pages/EntryDetail'; import Login from './pages/Login'; import Admin from './pages/Admin'; import Weekly from './pages/Weekly'; import Leaderboard from './pages/Leaderboard'; import Photos from './pages/Photos'; import Goals from './pages/Goals'; function PrivateRoute({ children }) { const [user, setUser] = useState(null); const [loading, setLoading] = useState(true); useEffect(() => { const storedUser = localStorage.getItem('user'); if (storedUser) setUser(JSON.parse(storedUser)); setLoading(false); }, []); if (loading) return
Loading...
; return user ? children : ; } function AdminRoute() { const [user, setUser] = useState(null); const [loading, setLoading] = useState(true); useEffect(() => { const storedUser = localStorage.getItem('user'); if (storedUser) setUser(JSON.parse(storedUser)); setLoading(false); }, []); if (loading) return
Loading...
; if (!user || user.username !== 'admin') return ; return ; } export default function App() { return ( } /> } /> } /> } /> } /> } /> } /> } /> } /> ); }