import { useState } from "react"; import { useLocalData } from "../context/useLocalData"; import { AthleteList, ActiviteList, CoachList, SessionList} from "./ressourceList"; import { Activite, Athlete, Coach , Session } from "../classes"; export default function RessourcePanel() { const { user } = useLocalData(); const [showAthletes, setShowAthletes] = useState(false); const [showActivites, setShowActivites] = useState(false); const [showCoachs,setShowCoachs] = useState(false); const [showSessions, setShowSessions] = useState(false); console.log("Rôle utilisateur:", user.role); if (user.role === "Athlete") return null; const athleteMap: Map = new Map(); user.sessions.forEach(session => { session.athletes?.forEach(a => athleteMap.set(a.id, a)); }); const allAthletes: Athlete[] = Array.from(athleteMap.values()); const activiteMap: Map = new Map(); user.sessions.forEach(session => { session.activites?.forEach(act => activiteMap.set(act.id, act)); }); const allActivites: Activite[] = Array.from(activiteMap.values()); const coachMap: Map = new Map(); user.sessions.forEach(session => { if (session.coach) { coachMap.set(session.coach.id, session.coach); } }); const allCoachs: Coach[] = Array.from(coachMap.values()); const sessionMap: Map = new Map(); user.sessions.forEach(session => { sessionMap.set(session.id, session); }); const allSessions: Session[] = Array.from(sessionMap.values()); function onAthletesClick(): void { setShowAthletes(prev => !prev); setShowActivites(false); setShowCoachs(false); setShowSessions(false); } function onActivitiesClick(): void { setShowActivites(prev => !prev); setShowAthletes(false); setShowCoachs(false); setShowSessions(false); } function onCoachClick(): void { setShowCoachs(prev => !prev); setShowActivites(false); setShowAthletes(false); setShowSessions(false); } function onSessionClick(): void { setShowSessions(prev => !prev); setShowActivites(false); setShowAthletes(false); setShowCoachs(false); } return (
{showAthletes && (

Liste des athlètes

)} {showActivites && (

Liste des activités

)} {showCoachs && (

Liste des coachs

)} {showSessions && (

Liste des sessions

)}
); }