import { FormEvent, useEffect, useState } from "react"; import { apiAuth, loadPlayers, User } from "./api"; import { useSession } from "./Session"; export const TeamPanel = () => { const { teams } = useSession(); const newPlayerTemplate = { id: 0, username: "", display_name: "", number: "", email: "", } as User; const [error, setError] = useState(""); const [players, setPlayers] = useState(null); const [player, setPlayer] = useState(newPlayerTemplate); useEffect(() => { if (teams) { loadPlayers(teams.activeTeam).then((data) => setPlayers(data)); } }, [teams]); async function handleSubmit(e: FormEvent) { e.preventDefault(); if (teams) { const r = await apiAuth( `player/add/${teams?.activeTeam}`, player, "POST" ); if (r.detail) setError(r.detail); } } if (teams) { const activeTeam = teams.teams.filter( (team) => team.id == teams?.activeTeam )[0]; return (

{activeTeam.name}



players

{players ? (
{players && players.map((p) => ( ))}
) : ( )}
setPlayer({ ...player, display_name: e.target.value, username: e.target.value.toLowerCase().replace(/\W/g, ""), }) } />
setPlayer({ ...player, username: e.target.value }) } />
setPlayer({ ...player, number: e.target.value }) } />
{error && ( {error} )}
); } else ; };