frontend/containers/Map/Bounds.tsx (view raw)
1import {useEffect, useMemo} from 'react';
2import {useMap} from 'react-leaflet';
3import useDebounce from '../../hooks/useDebounce';
4import useMapStore from '../../stores/useMapStore';
5
6const Bounds = () => {
7 const map = useMap();
8 const storedBounds = useMapStore(s => s.bounds);
9 const bounds = useDebounce(storedBounds, 750);
10
11 useEffect(() => {
12 if (bounds.length >= 1) {
13 map.fitBounds(bounds, {padding: [30, 30]});
14 }
15 }, [bounds, map]);
16
17 return null;
18};
19
20export default Bounds;