'use client'; import React, { useEffect, useState } from 'react' import { Circle, MapContainer, Marker, Popup, TileLayer, useMap } from 'react-leaflet' import 'leaflet-defaulticon-compatibility/dist/leaflet-defaulticon-compatibility.css' import "leaflet-defaulticon-compatibility"; import "leaflet/dist/leaflet.css"; import useGame from '@/hook/useGame'; import { useTeamContext } from '@/context/teamContext'; const DEFAULT_ZOOM = 17; // Pan to the center of the map when the position of the user is updated for the first time function MapPan(props) { const map = useMap(); const [initialized, setInitialized] = useState(false); useEffect(() => { if (!initialized && props.center) { map.flyTo(props.center, DEFAULT_ZOOM, { animate: false }); setInitialized(true) } }, [props.center]); return null; } function LiveZone() { const { zone } = useTeamContext(); console.log('Zone', zone); return zone && } function ZoneExtremities() { const { zoneExtremities } = useTeamContext(); console.log('Zone extremities', zoneExtremities); return zoneExtremities?.begin && zoneExtremities?.end && <> } export function LiveMap({ ...props }) { const { currentPosition, enemyPosition } = useGame(); useEffect(() => { console.log('Current position', currentPosition); }, [currentPosition]); return ( {currentPosition && Votre position } {enemyPosition && Position de l'ennemi } ) } export function PlacementMap({ ...props }) { const { currentPosition, startingArea } = useGame(); return ( {currentPosition && Votre position } {startingArea && } ) }