diff --git a/front_end/src/components/object/detailSession.tsx b/front_end/src/components/object/detailSession.tsx index 7f04360..c9df293 100644 --- a/front_end/src/components/object/detailSession.tsx +++ b/front_end/src/components/object/detailSession.tsx @@ -1,5 +1,5 @@ import { useEffect, useState } from "react"; -import { Activite, Athlete, Session } from "../../classes"; +import { Activite, Admin, Athlete, Coach, Session } from "../../classes"; import { dateToString, hoursToString } from "../edt"; import { Modal } from "../Modal"; import CreateActivite from "../createActivite"; @@ -22,6 +22,8 @@ function DetailSession({session,open,setOpen}:Props){ const [loading,setLoading] = useState(false); const [join,setJoin] = useState(user instanceof Athlete && user.sessions.includes(session)); + //Vérification pour l'ajout et la suppression des activités + const canEdit = user instanceof Admin || user instanceof Coach; const sDate = session.creneau; function handleDeleteActivite(activite:Activite): void { @@ -108,11 +110,15 @@ function DetailSession({session,open,setOpen}:Props){ {activites.map((activite,index)=>(
{activite.nom} - -
+ {canEdit && ( + + )} + ))} - - {loading &&
} + {canEdit && ( + + )} + {loading &&
} diff --git a/front_end/src/components/object/user.tsx b/front_end/src/components/object/user.tsx index 49c68c0..5408acf 100644 --- a/front_end/src/components/object/user.tsx +++ b/front_end/src/components/object/user.tsx @@ -21,7 +21,15 @@ function ObjectUser({user}:Props){ const [open, setOpen] = useState(false); const [open2, setOpen2] = useState(false); const [loading,setLoading] = useState(false); - const [sessions,setSessions] = useState([]); + + // Initialisation sécurisée des sessions + function getInitialSessions(): Session[] { + if (user instanceof Athlete || user instanceof Coach) return [...(user.sessions || [])]; + return []; + } + + const [sessions, setSessions] = useState(getInitialSessions()); + @@ -87,7 +95,7 @@ function ObjectUser({user}:Props){ return(
handleOpen()}> -
{user.nom}
+
{user.prenom} {user.nom}
{/*
{user2.role}
*/}