import { useEffect, useState } from "react";
import { List } from "@/components/list";
import { CustomMapContainer, MapEventListener } from "@/components/map";
import useAdmin from '@/hook/useAdmin';
import useMultipleCircleDraw from "@/hook/useMultipleCircleDraw";
import { CircleZone, Tag } from "@/components/layer";
function Drawings({ placementZones, addZone, removeZone, handleRightClick }) {
const { handleLeftClick, handleRightClick: handleRightClickDrawing } = useMultipleCircleDraw(placementZones, addZone, removeZone, 30);
function modifiedHandleRightClick(e) {
handleRightClickDrawing(e);
handleRightClick();
}
return (<>
{ placementZones.map(placementZone =>
)}
>);
}
export default function PlacementZoneSelector({ display }) {
const { teams, getTeam, placementTeam } = useAdmin();
const [selectedTeamId, setSelectedTeamId] = useState(null);
const [placementZones, setPlacementZones] = useState([]);
useEffect(() => {
setPlacementZones(teams.filter(team => team.startingArea).map(team => ({id: team.id, name: team.name, center: team.startingArea.center, radius: team.startingArea.radius})));
}, [teams]);
function addPlacementZone(center, radius) {
if (!selectedTeamId) return;
const placementZonesFiltered = placementZones.filter(placementZone => placementZone.id !== selectedTeamId);
const newZone = {id: selectedTeamId, name: getTeam(selectedTeamId).name, center: center, radius: radius};
placementTeam(selectedTeamId, newZone);
setPlacementZones([...placementZonesFiltered, newZone]);
}
function removePlacementZone(id) {
placementTeam(id, null);
setPlacementZones(placementZones.filter((placementZone) => placementZone.id !== id));
}
return (
setSelectedTeamId(null)} />
Équipes
setSelectedTeamId(selectedTeamId != id ? id : null)}>
{ (team) =>
}
);
}