diff --git a/package-lock.json b/package-lock.json index 4133eda..a2b59a7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,8 +14,10 @@ "@testing-library/jest-dom": "^5.16.5", "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^13.5.0", + "leaflet": "^1.9.2", "react": "^18.2.0", "react-dom": "^18.2.0", + "react-leaflet": "^4.1.0", "react-scripts": "5.0.1", "react-simple-maps": "^3.0.0", "web-vitals": "^2.1.4" @@ -3505,6 +3507,16 @@ "url": "https://opencollective.com/popperjs" } }, + "node_modules/@react-leaflet/core": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@react-leaflet/core/-/core-2.1.0.tgz", + "integrity": "sha512-Qk7Pfu8BSarKGqILj4x7bCSZ1pjuAPZ+qmRwH5S7mDS91VSbVVsJSrW4qA+GPrro8t69gFYVMWb1Zc4yFmPiVg==", + "peerDependencies": { + "leaflet": "^1.9.0", + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, "node_modules/@rollup/plugin-babel": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", @@ -11960,6 +11972,11 @@ "language-subtag-registry": "~0.3.2" } }, + "node_modules/leaflet": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/leaflet/-/leaflet-1.9.2.tgz", + "integrity": "sha512-Kc77HQvWO+y9y2oIs3dn5h5sy2kr3j41ewdqCMEUA4N89lgfUUfOBy7wnnHEstDpefiGFObq12FdopGRMx4J7g==" + }, "node_modules/leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", @@ -14551,6 +14568,19 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" }, + "node_modules/react-leaflet": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/react-leaflet/-/react-leaflet-4.1.0.tgz", + "integrity": "sha512-i+V9pX5lywJ48O2+K3USeeTdYLIhxnLMweH+YLd/UPqVIj3uKzE3Q29bzt83PBtViyZmxDlulzC6uoR3JLiE9A==", + "dependencies": { + "@react-leaflet/core": "^2.1.0" + }, + "peerDependencies": { + "leaflet": "^1.9.0", + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, "node_modules/react-refresh": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", @@ -19732,6 +19762,12 @@ "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.6.tgz", "integrity": "sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==" }, + "@react-leaflet/core": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@react-leaflet/core/-/core-2.1.0.tgz", + "integrity": "sha512-Qk7Pfu8BSarKGqILj4x7bCSZ1pjuAPZ+qmRwH5S7mDS91VSbVVsJSrW4qA+GPrro8t69gFYVMWb1Zc4yFmPiVg==", + "requires": {} + }, "@rollup/plugin-babel": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", @@ -25928,6 +25964,11 @@ "language-subtag-registry": "~0.3.2" } }, + "leaflet": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/leaflet/-/leaflet-1.9.2.tgz", + "integrity": "sha512-Kc77HQvWO+y9y2oIs3dn5h5sy2kr3j41ewdqCMEUA4N89lgfUUfOBy7wnnHEstDpefiGFObq12FdopGRMx4J7g==" + }, "leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", @@ -27621,6 +27662,14 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" }, + "react-leaflet": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/react-leaflet/-/react-leaflet-4.1.0.tgz", + "integrity": "sha512-i+V9pX5lywJ48O2+K3USeeTdYLIhxnLMweH+YLd/UPqVIj3uKzE3Q29bzt83PBtViyZmxDlulzC6uoR3JLiE9A==", + "requires": { + "@react-leaflet/core": "^2.1.0" + } + }, "react-refresh": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", diff --git a/package.json b/package.json index cc36ddd..34f3cdf 100644 --- a/package.json +++ b/package.json @@ -10,8 +10,10 @@ "@testing-library/jest-dom": "^5.16.5", "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^13.5.0", + "leaflet": "^1.9.2", "react": "^18.2.0", "react-dom": "^18.2.0", + "react-leaflet": "^4.1.0", "react-scripts": "5.0.1", "react-simple-maps": "^3.0.0", "web-vitals": "^2.1.4" diff --git a/public/index.html b/public/index.html index 69de5a4..053be7c 100644 --- a/public/index.html +++ b/public/index.html @@ -24,10 +24,14 @@ work correctly both with client-side routing and a non-root public URL. Learn how to configure a non-root public URL by running `npm run build`. --> + + ENcarteS -
+
diff --git a/src/App.js b/src/App.js index c527f8a..be2b0ba 100644 --- a/src/App.js +++ b/src/App.js @@ -12,11 +12,15 @@ import DialogContent from '@mui/material/DialogContent'; import DialogContentText from '@mui/material/DialogContentText'; import DialogTitle from '@mui/material/DialogTitle'; -import { ComposableMap, Geographies, Geography, ZoomableGroup } from "react-simple-maps" +// Leaflet +import { MapContainer } from 'react-leaflet/MapContainer' +import { TileLayer } from 'react-leaflet/TileLayer' +import { Marker } from 'react-leaflet/Marker' +import { Popup } from 'react-leaflet/Popup' function RoomResearch() { return <> -
+
Rechercher une salle @@ -78,20 +82,17 @@ function TopBar() { } function Map() { - const geoUrl = "https://raw.githubusercontent.com/deldersveld/topojson/master/world-countries.json"; - return ( - - - - {({ geographies }) => - geographies.map((geo) => ( - - )) - } - - - - ) + return + + + + A pretty CSS3 popup.
Easily customizable. +
+
+
} export default function App() {