You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Application-Web/front/views/TeamPanel.tsx

85 lines
1.8 KiB

import '../style/teamPanel.css'
interface TeamInfo{
id: number
name: string
picture: string
mainColor: string
secondColor: string
}
interface Team {
info: TeamInfo
members: Member[]
}
interface Member{
id: number
name: string
mail: string
profilePicture: string
role: string
}
export default function TeamPanel({isCoach, team}: {isCoach: boolean, team: Team }){
return (
<div>
<div>
<TeamDisplay team={team.info}/>
</div>
<div>
{isCoach ? () : ()}
</div>
<div>
<h2>Membres :</h2>
</div>
</div>
)
}
function TeamDisplay({ team}: {team : TeamInfo}) {
return (
<div>
<div>
<h1>{team.name}</h1>
<img src={team.picture} alt="Logo d'équipe" />
</div>
<div id="colors">
<Color color={team.mainColor}/>
<Color color={team.secondColor}/>
</div>
</div>
)
}
function Color({color}: {color : string}){
return(
<div className="color"><p>Couleur principale : </p>
<div className="square" style={{backgroundColor: color}}></div>
</div>
)
}
function CoachOptions (){
return (
<div>
<button id="delete" onClick={confirm('Êtes-vous sûr de supprimer cette équipe?') ? window.location.href = '' : {}}>Supprimer</button>
</div>
)
}
function MemberDisplay({member}: {member : Member}){
return (
<div>
<img src={member.profilePicture} alt="Photo de profile"/>
<p>{member.name}</p>
<p>{member.role}</p>
<p>{member.mail}</p>
</div>
)
}