diff --git a/src/app/projects/[id]/page.js b/src/app/projects/[id]/page.js
index dadcc4b..a58f6fb 100644
--- a/src/app/projects/[id]/page.js
+++ b/src/app/projects/[id]/page.js
@@ -400,29 +400,30 @@ export default async function ProjectViewPage({ params }) {
+ ) : (
)}
diff --git a/src/components/ui/LeafletMap.js b/src/components/ui/LeafletMap.js
index 068b4cb..0720972 100644
--- a/src/components/ui/LeafletMap.js
+++ b/src/components/ui/LeafletMap.js
@@ -6,6 +6,7 @@ import {
Marker,
Popup,
LayersControl,
+ useMapEvents,
} from "react-leaflet";
import "leaflet/dist/leaflet.css";
import { useEffect } from "react";
@@ -43,23 +44,44 @@ const createColoredMarkerIcon = (color) => {
popupAnchor: [1, -34],
shadowSize: [41, 41],
});
- }
- return null;
+ } return null;
};
+// Component to handle map events
+function MapEventHandler({ onViewChange }) {
+ const map = useMapEvents({
+ moveend: () => {
+ if (onViewChange) {
+ const center = map.getCenter();
+ const zoom = map.getZoom();
+ onViewChange([center.lat, center.lng], zoom);
+ }
+ },
+ zoomend: () => {
+ if (onViewChange) {
+ const center = map.getCenter();
+ const zoom = map.getZoom();
+ onViewChange([center.lat, center.lng], zoom);
+ }
+ },
+ });
+
+ return null;
+}
+
export default function EnhancedLeafletMap({
center,
zoom = 13,
markers = [],
showLayerControl = true,
defaultLayer = "OpenStreetMap",
+ onViewChange,
}) {
useEffect(() => {
fixLeafletIcons();
}, []);
const { BaseLayer } = LayersControl;
-
return (
+ {/* Handle map view changes */}
+ {onViewChange && }
+
{showLayerControl ? (
{mapLayers.base.map((layer, index) => (