This commit is contained in:
trochas
2026-01-08 13:17:57 +01:00
26 changed files with 474 additions and 100 deletions

View File

@@ -1,7 +1,7 @@
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";
import { useState } from "react";
import { useLocalData } from "../context/useLocalData";
import { Activite, Athlete, Coach , Session, Ligne, getUserTest } from "../classes";
import {calculTempsDeJeuParLigne} from "../utils/ligneUtils";
import { keyboard } from "@testing-library/user-event/dist/keyboard";
import ObjectSession from "./object/session";
import ObjectUser from "./object/user";
@@ -10,21 +10,25 @@ import ObjectUser from "./object/user";
export type keyWord = "athletes" | "activites" | "coachs" | "sessions"| "lignes";
export default function RessourcePanel() {
const { user } = useLocalData();
//const { user } = useLocalData();
const user = getUserTest(); //TODO
const [value,setValue] = useState<keyWord>("athletes");
console.log("Rôle utilisateur:", user.role);
if (user.role === "Athlete") return null;
console.log(user.nom);
console.log(user.prenom);
console.log(user.email);
if (user.role === "athlete") return null;
const athleteMap: Map<number, Athlete> = new Map();
const athleteMap: Map<number, Athlete> = new Map();//TODO
user.sessions.forEach(session => {
session.athletes?.forEach(a => athleteMap.set(a.id, a));
session.athletes?.forEach(a => athleteMap.set(a.id, a));
});
const allAthletes: Athlete[] = Array.from(athleteMap.values());
const activiteMap: Map<number, Activite> = new Map();
user.sessions.forEach(session => {
session.activites?.forEach(act => activiteMap.set(act.id, act));
session.activites?.forEach(act => activiteMap.set(act.id, act));
});
const allActivites: Activite[] = Array.from(activiteMap.values());
@@ -54,7 +58,18 @@ import ObjectUser from "./object/user";
}
});
const allLignes: Ligne[] = Array.from(ligneMap.values());
const allLignes: Ligne[] = Array.from(ligneMap.values());
// Calculer le temps de jeu pour chaque ligne
const tempsDeJeuParLigne: Map<number, number> = new Map();
allLignes.forEach(ligne => {
const tempsTotal = calculTempsDeJeuParLigne(allSessions, ligne);
tempsDeJeuParLigne.set(ligne.id, tempsTotal);
ligne.tempsDeJeu = tempsTotal;
});
return (
<div className="ressource_panel">
@@ -68,7 +83,7 @@ import ObjectUser from "./object/user";
}}>
<option value="athletes">Athlètes</option>
<option value="activites">Activités</option>
{user.role === "Admin" && <option value="coachs"> Coachs</option>}
{user.role === "admin" && <option value="coachs"> Coachs</option>}
<option value="sessions"> Sessions</option>
<option value="lignes"> Lignes</option>
@@ -78,7 +93,7 @@ import ObjectUser from "./object/user";
<h3>Liste des {value}</h3>
<div className="list_object">
{value==="athletes" && (
allAthletes.map((athlete) => ( //TODO
allAthletes.map((athlete) => (
<ObjectUser athlete={athlete}/>
))
)}