"use client"; import React, { useEffect, useState } from "react"; import { useAtomValue } from "jotai"; import { mapAtom } from "../../state/map"; import { mapTypeAtom } from "../../state/map-type"; import { activeBasemapAtom } from "../../state/active-basemap"; import { basemapConfig } from "../../config/basemap-config"; import L from "leaflet"; import ScaleBar from "./scale-bar"; const Footer: React.FC = () => { const map = useAtomValue(mapAtom); const mapType = useAtomValue(mapTypeAtom); const activeBasemap = useAtomValue(activeBasemapAtom); const [coordinates, setCoordinates] = useState<{ lat: number; lng: number }>({ lat: 0, lng: 0, }); useEffect(() => { if (!map || mapType !== "leaflet") return; const updateCoordinates = (e: L.LeafletMouseEvent) => { setCoordinates({ lat: Number(e.latlng.lat.toFixed(6)), lng: Number(e.latlng.lng.toFixed(6)), }); }; map.on("mousemove", updateCoordinates); return () => { map.off("mousemove", updateCoordinates); }; }, [map, mapType]); const attribution = basemapConfig[activeBasemap]?.leaflet?.attribution || ""; return (