import { useState, useEffect } from "react";
import { MapContainer, TileLayer, Marker, useMapEvents } from "react-leaflet";
import LocationRepository from "../../../repository/LocationRepository";
import { useFilter } from "../../providers/FilterProvider";
const NZ_BOUNDS = [
[-47.204642, 165.344238],
[-34.307144, 179.824219],
];
function LocationMarker({setNextDisabled}) {
const [position, setPosition] = useState(null);
const { filters, updateFilters } = useFilter();
const map = useMapEvents({
click(e) {
const newPosition = e.latlng;
setPosition(newPosition);
updateFilters({ coordinates: newPosition });
setNextDisabled(false);
},
});
map.whenReady(() => {
const savedCoordinates = filters.coordinates;
if (!position && savedCoordinates) {
setPosition(savedCoordinates);
setNextDisabled(false);
map.flyTo(savedCoordinates, 9);
}
});
return position === null ? null :