diff --git a/front_end/src/classes.tsx b/front_end/src/classes.tsx
index 739e1cf..d4c6dd9 100644
--- a/front_end/src/classes.tsx
+++ b/front_end/src/classes.tsx
@@ -8,6 +8,13 @@ export class User{
role!: Role;
}
+export class Ligne{
+ id!: number;
+ nom!: String;
+ composition!: Athlete[] //les joueurs compososant la ligne
+ tempsDeJeu!: number; // en minutes
+}
+
export class Admin extends User{
role!: Role;
@@ -37,6 +44,7 @@ export class Session{
athletes!: Athlete[]
duree! : number;
groupe! : Groupe;
+ ligne! : Ligne[];
}
export class Activite{
@@ -54,24 +62,6 @@ export function getUserTest():User{
const s1 = new Session();
const s2 = new Session();
const s3 = new Session();
- user.id = 0;
- user.nom = "Emilien-Yee NootNoot";
- user.role = "Coach"
- s1.creneau = new Date();
- s1.id = 1;
- s1.name = "Entrainement Frisbee"
- s1.isRecurrent = true;
- var date2 = new Date();
- date2.setDate(date2.getDate() + 2);
- s2.creneau = date2;
- s2.id = 2;
- s2.isRecurrent = false;
- s2.name = "entraintement 2"
- s3.creneau = date2;
- s3.id = 3;
- s3.isRecurrent = false;
- s3.name = "entraintement 3"
-
const athlete1 = new Athlete();
athlete1.id = 1;
athlete1.nom = "Alice Dupont";
@@ -87,6 +77,49 @@ export function getUserTest():User{
athlete3.nom = "Clara Lopez";
athlete3.groupe = "Loisir";
+ const ligne1 = new Ligne();
+ ligne1.id = 1;
+ ligne1.nom = "Ligne A";
+ ligne1.composition = [athlete1, athlete2]; // Alice + Bob
+ ligne1.tempsDeJeu = 45;
+
+ const ligne2 = new Ligne();
+ ligne2.id = 2;
+ ligne2.nom = "Ligne B";
+ ligne2.composition = [athlete2, athlete3]; // Bob + Clara
+ ligne2.tempsDeJeu = 40;
+
+ const ligne3 = new Ligne();
+ ligne3.id = 3;
+ ligne3.nom = "Ligne C";
+ ligne3.composition = [athlete1, athlete3]; // Alice + Clara
+ ligne3.tempsDeJeu = 50;
+
+
+
+ user.id = 0;
+ user.nom = "Emilien-Yee NootNoot";
+ user.role = "Coach"
+ s1.creneau = new Date();
+ s1.id = 1;
+ s1.name = "Entrainement Frisbee"
+ s1.isRecurrent = true;
+ s1.ligne = [ligne1];
+ var date2 = new Date();
+ date2.setDate(date2.getDate() + 2);
+ s2.creneau = date2;
+ s2.id = 2;
+ s2.isRecurrent = false;
+ s2.name = "entraintement 2"
+ s2.ligne = [ligne2];
+ s3.creneau = date2;
+ s3.id = 3;
+ s3.isRecurrent = false;
+ s3.name = "entraintement 3"
+ s3.ligne = [ligne3];
+
+
+
s1.athletes = [athlete1, athlete2];
s2.athletes = [athlete2, athlete3];
s3.athletes = [athlete1, athlete3];
diff --git a/front_end/src/components/ressourceList.tsx b/front_end/src/components/ressourceList.tsx
index c597865..b21912a 100644
--- a/front_end/src/components/ressourceList.tsx
+++ b/front_end/src/components/ressourceList.tsx
@@ -1,9 +1,10 @@
-import { Athlete, Activite, Coach, Session } from "../classes";
+import { Athlete, Activite, Coach, Session, Ligne } from "../classes";
type AthleteListProps = { athletes: Athlete[] };
type ActiviteListProps = { activites: Activite[] };
type CoachListProps = { coachs: Coach[] };
type SessionListProps = { sessions: Session[]};
+type LigneListProps = { lignes: Ligne[]};
function AthleteList({ athletes }: AthleteListProps) {
return (
@@ -70,6 +71,9 @@ function SessionList({ sessions }: SessionListProps) {
Coach: {sessions.coach ? sessions.coach.nom : "Pas de coach sur la séance"}
+
+ Ligne: {sessions.ligne ? sessions.ligne.map(ligne => ligne.nom).join(", ") : "Pas de ligne sur la séance"}
+
))}
@@ -77,4 +81,33 @@ function SessionList({ sessions }: SessionListProps) {
);
}
-export { AthleteList, ActiviteList, CoachList , SessionList };
\ No newline at end of file
+function LigneList({ lignes }: LigneListProps) {
+ return (
+
+ );
+}
+
+export { AthleteList, ActiviteList, CoachList , SessionList, LigneList };
\ No newline at end of file
diff --git a/front_end/src/components/ressourcePanel.tsx b/front_end/src/components/ressourcePanel.tsx
index b46469e..57f8661 100644
--- a/front_end/src/components/ressourcePanel.tsx
+++ b/front_end/src/components/ressourcePanel.tsx
@@ -1,125 +1,163 @@
-import { useState } from "react";
-import { useLocalData } from "../context/useLocalData";
-import { AthleteList, ActiviteList, CoachList, SessionList} from "./ressourceList";
-import { Activite, Athlete, Coach , Session } from "../classes";
+ import { useState } from "react";
+ import { useLocalData } from "../context/useLocalData";
+ import { AthleteList, ActiviteList, CoachList, SessionList, LigneList} from "./ressourceList";
+ import { Activite, Athlete, Coach , Session, Ligne } 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;
+ 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);
+ const [showLignes, setShowLignes] = 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 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 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 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 allCoachs: Coach[] = Array.from(coachMap.values());
- const sessionMap: Map = new Map();
- user.sessions.forEach(session => {
- sessionMap.set(session.id, session);
- });
+ const sessionMap: Map = new Map();
+ user.sessions.forEach(session => {
+ sessionMap.set(session.id, session);
+ });
- const allSessions: Session[] = Array.from(sessionMap.values());
+ const allSessions: Session[] = Array.from(sessionMap.values());
- function onAthletesClick(): void {
- setShowAthletes(prev => !prev);
- setShowActivites(false);
- setShowCoachs(false);
- setShowSessions(false);
+ const ligneMap: Map = new Map();
+ user.sessions.forEach(session => {
+ if (session.ligne) {
- }
- function onActivitiesClick(): void {
- setShowActivites(prev => !prev);
- setShowAthletes(false);
- setShowCoachs(false);
- setShowSessions(false);
+ session.ligne.forEach(ligne => {
+ ligneMap.set(ligne.id, ligne);
+ });
+ }
+ });
+
+ const allLignes: Ligne[] = Array.from(ligneMap.values());
+
+ function onAthletesClick(): void {
+ setShowAthletes(prev => !prev);
+ setShowActivites(false);
+ setShowCoachs(false);
+ setShowSessions(false);
+ setShowLignes(false);
+
+ }
+ function onActivitiesClick(): void {
+ setShowActivites(prev => !prev);
+ setShowAthletes(false);
+ setShowCoachs(false);
+ setShowSessions(false);
+ setShowLignes(false);
- }
- function onCoachClick(): void {
- setShowCoachs(prev => !prev);
- setShowActivites(false);
- setShowAthletes(false);
- setShowSessions(false);
+ }
+ function onCoachClick(): void {
+ setShowCoachs(prev => !prev);
+ setShowActivites(false);
+ setShowAthletes(false);
+ setShowSessions(false);
+ setShowLignes(false);
- }
+ }
- function onSessionClick(): void {
- setShowSessions(prev => !prev);
- setShowActivites(false);
- setShowAthletes(false);
- setShowCoachs(false);
+ function onSessionClick(): void {
+ setShowSessions(prev => !prev);
+ setShowActivites(false);
+ setShowAthletes(false);
+ setShowCoachs(false);
+ setShowLignes(false);
- }
+ }
+
+ function onLigneClick():void{
+ setShowLignes(prev => !prev);
+ setShowAthletes(false);
+ setShowActivites(false);
+ setShowCoachs(false);
+ setShowSessions(false);
+ }
- return (
-
-
+ return (
+
+
+ Sélectionner une ressource:
+
+
- {showActivites && (
-
-
Liste des activités
-
-
- )}
+ {showAthletes && (
+
+ )}
- {showCoachs && (
-
-
Liste des coachs
-
-
- )}
+ {showActivites && (
+
+
Liste des activités
+
+
+ )}
- {showSessions && (
-
-
Liste des sessions
-
-
- )}
+ {showCoachs && (
+
+
Liste des coachs
+
+
+ )}
+
+ {showSessions && (
+
+
Liste des sessions
+
+
+ )}
+
+ {showLignes && (
+
+
Liste des lignes
+
+
+ )}
-
- );
-}
+
+ );
+ }