Sync list to map (#42)

This commit is contained in:
Timothy Armes
2023-07-05 13:36:12 +02:00
parent 1715b1646b
commit deace43225
8 changed files with 48 additions and 10 deletions
+13 -2
View File
@@ -7,18 +7,28 @@ import {
TileLayer,
LayersControl,
LayerGroup,
useMapEvent,
} from "react-leaflet";
import { useAtomValue } from "jotai";
import { useAtomValue, useSetAtom } from "jotai";
import "leaflet/dist/leaflet.css";
import "leaflet-defaulticon-compatibility/dist/leaflet-defaulticon-compatibility.css";
import "leaflet-defaulticon-compatibility";
import { tournamentsAtom } from "@/app/atoms";
import { tournamentsAtom, mapBoundsAtom } from "@/app/atoms";
import Legend from "./Legend";
import { TournamentMarker } from "./TournamentMarker";
const MapEvents = () => {
const setMapBounds = useSetAtom(mapBoundsAtom);
const map = useMapEvent("moveend", () => {
setMapBounds(map.getBounds());
});
return null;
};
export default function TournamentMap() {
const tournaments = useAtomValue(tournamentsAtom);
const center: LatLngLiteral = { lat: 47.0844, lng: 2.3964 };
@@ -68,6 +78,7 @@ export default function TournamentMap() {
height: "100%",
}}
>
<MapEvents />
<TileLayer
attribution='&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
url="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"