| import { Navigate, Route, Routes } from "react-router-dom"; | |
| import { useAuth } from "./context/AuthContext"; | |
| import { LoginPage } from "./pages/LoginPage"; | |
| import { AppShell } from "./pages/AppShell"; | |
| import { EntryDetailPage } from "./pages/EntryDetailPage"; | |
| function ProtectedRoute({ children }) { | |
| const { token } = useAuth(); | |
| return token ? children : <Navigate to="/login" replace />; | |
| } | |
| export default function App() { | |
| return ( | |
| <Routes> | |
| <Route path="/login" element={<LoginPage />} /> | |
| <Route | |
| path="/app/entry/:entryId" | |
| element={ | |
| <ProtectedRoute> | |
| <EntryDetailPage /> | |
| </ProtectedRoute> | |
| } | |
| /> | |
| <Route | |
| path="/app/:cardId?" | |
| element={ | |
| <ProtectedRoute> | |
| <AppShell /> | |
| </ProtectedRoute> | |
| } | |
| /> | |
| <Route path="*" element={<Navigate to="/app" replace />} /> | |
| </Routes> | |
| ); | |
| } | |