diff --git a/traque-front/components/admin/mapPicker.jsx b/traque-front/components/admin/mapPicker.jsx index fc6fa37..f6aa757 100644 --- a/traque-front/components/admin/mapPicker.jsx +++ b/traque-front/components/admin/mapPicker.jsx @@ -41,6 +41,13 @@ export function CircularAreaPicker({area, setArea, ...props}) { const [center, setCenter] = useState(area?.center || null); const [radius, setRadius] = useState(area?.radius || null); + useEffect(() => { + console.log(area) + setDrawing(false); + setCenter(area?.center || null); + setRadius(area?.radius || null); + }, [area]) + function handleClick(e) { if(!drawing) { setCenter(e.latlng); diff --git a/traque-front/components/admin/teamEdit.jsx b/traque-front/components/admin/teamEdit.jsx index 8d6eaa8..6c09fd7 100644 --- a/traque-front/components/admin/teamEdit.jsx +++ b/traque-front/components/admin/teamEdit.jsx @@ -10,28 +10,20 @@ const CircularAreaPicker = dynamic(() => import('./mapPicker').then((mod) => mod export default function TeamEdit({ selectedTeamId, setSelectedTeamId }) { const [newTeamName, setNewTeamName] = React.useState(''); - const { setTeamName, getTeamName, removeTeam, getTeam } = useAdmin(); + const { updateTeam, getTeamName, removeTeam, getTeam, teams } = useAdmin(); const [team, setTeam] = useState({}) useEffect(() => { let team = getTeam(selectedTeamId); if (team != undefined) { setNewTeamName(team.name); - } - }, [selectedTeamId]) - - - useEffect(() => { - let team = getTeam(selectedTeamId); - if (team != undefined) { setTeam(team); } - }, [selectedTeamId]) + }, [selectedTeamId, teams]) - - function handleSubmit(e) { + function handleRename(e) { e.preventDefault(); - setTeamName(team.id, newTeamName); + updateTeam(team.id, {name:newTeamName}); } function handleRemove() { @@ -45,7 +37,7 @@ export default function TeamEdit({ selectedTeamId, setSelectedTeamId }) {

Actions

-
+
setNewTeamName(e.target.value)} />
@@ -53,7 +45,7 @@ export default function TeamEdit({ selectedTeamId, setSelectedTeamId }) {
- +

Team details

@@ -68,7 +60,7 @@ export default function TeamEdit({ selectedTeamId, setSelectedTeamId }) {

Starting area

- setTeam({ ...team, startingArea })} /> + updateTeam(team.id, {startingArea})} />
) diff --git a/traque-front/hook/useAdmin.jsx b/traque-front/hook/useAdmin.jsx index 991bb8f..ef7c693 100644 --- a/traque-front/hook/useAdmin.jsx +++ b/traque-front/hook/useAdmin.jsx @@ -30,8 +30,8 @@ export default function useAdmin(){ adminSocket.emit("remove_team", teamId); } - function setTeamName(teamId, newName) { - adminSocket.emit("rename_team", teamId, newName); + function updateTeam(teamId, team) { + adminSocket.emit("update_team", teamId, team); } function startGame() { @@ -42,6 +42,6 @@ export default function useAdmin(){ adminSocket.emit("stop_game"); } - return {teams, started, pollTeams, getTeam, getTeamName, reorderTeams, addTeam, removeTeam, startGame, stopGame, setTeamName }; + return {teams, started, pollTeams, getTeam, getTeamName, reorderTeams, addTeam, removeTeam, startGame, stopGame, updateTeam }; } \ No newline at end of file