import React, { useEffect, useRef, useState } from 'react' import TextInput from '../util/textInput' import BlueButton, { RedButton } from '../util/button'; import useAdmin from '@/hook/useAdmin'; import dynamic from 'next/dynamic'; import { env } from 'next-runtime-env'; const CircularAreaPicker = dynamic(() => import('./mapPicker').then((mod) => mod.CircularAreaPicker), { ssr: false }); export default function TeamEdit({ selectedTeamId, setSelectedTeamId }) { const teamImage = useRef(null); const [newTeamName, setNewTeamName] = React.useState(''); const { updateTeam, getTeamName, removeTeam, getTeam, teams } = useAdmin(); const [team, setTeam] = useState({}); const NEXT_PUBLIC_SOCKET_HOST = env("NEXT_PUBLIC_SOCKET_HOST"); var protocol = "https://"; if (NEXT_PUBLIC_SOCKET_HOST == "localhost") { protocol = "http://"; } const SERVER_URL = protocol + NEXT_PUBLIC_SOCKET_HOST + "/back"; console.log(SERVER_URL); useEffect(() => { let team = getTeam(selectedTeamId); if (team != undefined) { setNewTeamName(team.name); setTeam(team); } teamImage.current.src = SERVER_URL + "/photo/my?team=" + selectedTeamId + "&t=" + new Date().getTime(); }, [selectedTeamId, teams]) function handleRename(e) { e.preventDefault(); updateTeam(team.id, { name: newTeamName }); } function handleRemove() { removeTeam(team.id); setSelectedTeamId(null); } function handleAddPenalty(increment) { let newPenalties = team.penalties + increment; newPenalties = Math.max(0, newPenalties); newPenalties = Math.min(3, newPenalties); updateTeam(team.id, { penalties: newPenalties }); } return (team &&
Secret : {String(team.id).padStart(6, '0').replace(/(\d{3})(\d{3})/, '$1 $2')}
Capture code : {String(team.captureCode).padStart(4, '0')}
Chasing : {getTeamName(team.chasing)}
Chased by : {getTeamName(team.chased)}
Penalties :
{team.penalties}
Starting zone
Profile picture