// frontend/src/App.jsx import React from "react"; import { Routes, Route, Navigate } from "react-router-dom"; import LoginPage from "./pages/Login"; import StudentDashboard from "./pages/StudentDashboard"; import StudentExams from "./pages/StudentExams"; import AdminLogin from "./pages/AdminLogin"; import AdminDashboard from "./pages/AdminDashboard"; import AdminMembers from "./pages/AdminMembers"; import AdminClasses from "./pages/AdminClasses"; import AdminExams from "./pages/AdminExams"; import InviteAcceptance from "./pages/InviteAcceptance"; import StudentProfile from "./pages/StudentProfile"; import CoachLogin from "./pages/CoachLogin"; import CoachDashboard from "./pages/CoachDashboard"; function RequireStudent({ children }) { const stored = localStorage.getItem("karateStudent"); if (!stored) { return ; } return children; } function RequireAdmin({ children }) { const stored = sessionStorage.getItem("admin"); if (!stored) { return ; } return children; } function RequireCoach({ children }) { const stored = localStorage.getItem("karateCoach"); if (!stored) { return ; } return children; } function RequireAdminOrCoach({ children }) { const storedAdmin = sessionStorage.getItem("admin"); const storedCoach = localStorage.getItem("karateCoach"); if (!storedAdmin && !storedCoach) { return ; } return children; } export default function App() { return ( {/* Root goes to student login for now */} } /> {/* Student auth */} } /> } /> } /> } /> {/* Admin auth */} } /> } /> {/* Coach auth */} } /> } /> } /> } /> } /> } /> {/* Fallback */} } /> ); }