import "../style/team_panel.css" import { BASE } from "../Constants" import { Team, TeamInfo, Member } from "../model/Team" import { Tactic } from "../model/tactic/Tactic" import { fetchAPI } from "../Fetcher" import { useState } from "react" export default function TeamPanel({ isCoach, team, currentUserId, tactics, }: { isCoach: boolean team: Team currentUserId: number tactics: Tactic[] }) { const [teamTactics, setTeamTactics] = useState(tactics) function handleTacticDelete(tacticId: number) { fetchAPI(`tactic/${tacticId}/unshare-to-team`, team.info) const updatedTactics = teamTactics.filter( (tactic) => tactic.id !== tacticId, ) setTeamTactics(updatedTactics) } return (

IQBall

{isCoach && }
handleTacticDelete(tacticId) } />
) } function TeamDisplay({ team }: { team: TeamInfo }) { return (

{team.name}

Couleur principale

Couleur secondaire

) } function ColorDisplay({ color }: { color: string }) { return
} function CoachOptions({ id }: { id: number }) { return (
) } function MembersDisplay({ members, isCoach, idTeam, currentUserId, }: { members: Member[] isCoach: boolean idTeam: number currentUserId: number }) { const listMember = members.map((member) => ( )) return (

Membres :

{isCoach && ( )}
{listMember}
) } function MemberDisplay({ member, isCoach, idTeam, currentUserId, }: { member: Member isCoach: boolean idTeam: number currentUserId: number }) { return (
Photo de profile

{member.user.name}

{member.role}

{member.user.email}

{isCoach && currentUserId !== member.user.id && ( )} {isCoach && currentUserId == member.user.id && ( )}
) } function TacticsDisplay({ tactics, isCoach, onTacticDelete, }: { tactics: Tactic[] isCoach: boolean onTacticDelete: (tacticId: number) => void }) { const listTactic = tactics.map((tactic) => ( onTacticDelete(tactic.id)} /> )) return (

Tactiques partagées

{listTactic}
) } function TacticDisplay({ tactic, isCoach, onTacticDelete, }: { tactic: Tactic isCoach: boolean onTacticDelete: () => void }) { return (
(location.pathname = BASE + "/tactic/" + tactic.id + "/edit") }>

{tactic.name}

{isCoach && ( )}
) }