// 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 */}
} />
);
}