From 10b461d6aed06dde586af7bdcb24ee4f2cb0108c Mon Sep 17 00:00:00 2001 From: Alexis Date: Thu, 21 Aug 2025 17:36:23 +0200 Subject: [PATCH] Added base restaurants and icons --- package.json | 3 + pnpm-lock.yaml | 534 ++++++++++++++++++++-- public/map/icons/asian.svg | 4 + public/map/icons/bakery.svg | 4 + public/map/icons/bar.svg | 4 + public/map/icons/burgers.svg | 4 + public/map/icons/italian.svg | 4 + public/map/icons/restaurant.svg | 4 + public/map/icons/seafood.svg | 4 + public/map/icons/vegetarian.svg | 4 + src/App.vue | 95 +++- src/stores/counter.ts | 12 - src/stores/reviews.ts | 775 ++++++++++++++++++++++++++++++++ 13 files changed, 1403 insertions(+), 48 deletions(-) create mode 100644 public/map/icons/asian.svg create mode 100644 public/map/icons/bakery.svg create mode 100644 public/map/icons/bar.svg create mode 100644 public/map/icons/burgers.svg create mode 100644 public/map/icons/italian.svg create mode 100644 public/map/icons/restaurant.svg create mode 100644 public/map/icons/seafood.svg create mode 100644 public/map/icons/vegetarian.svg delete mode 100644 src/stores/counter.ts create mode 100644 src/stores/reviews.ts diff --git a/package.json b/package.json index ebaf2df..8602c1c 100644 --- a/package.json +++ b/package.json @@ -24,11 +24,13 @@ "pinia": "^3.0.3", "tailwindcss": "^4.1.11", "vue": "^3.5.18", + "vue-leaflet-markercluster": "^0.6.1", "vue-router": "^4.5.1" }, "devDependencies": { "@prettier/plugin-oxc": "^0.0.4", "@tsconfig/node22": "^22.0.2", + "@types/leaflet": "^1.9.20", "@types/node": "^22.16.5", "@vitejs/plugin-vue": "^6.0.1", "@vue/eslint-config-prettier": "^10.2.0", @@ -41,6 +43,7 @@ "npm-run-all2": "^8.0.4", "oxlint": "~1.8.0", "prettier": "3.6.2", + "sass-embedded": "^1.90.0", "typescript": "~5.8.0", "vite": "npm:rolldown-vite@latest", "vite-plugin-vue-devtools": "^8.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f449565..1f7bd2d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,10 +10,10 @@ importers: dependencies: '@tailwindcss/vite': specifier: ^4.1.11 - version: 4.1.11(rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1)) + version: 4.1.11(rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1)(sass-embedded@1.90.0)(sass@1.90.0)) '@vue-leaflet/vue-leaflet': specifier: ^0.10.1 - version: 0.10.1(leaflet@1.9.4)(typescript@5.8.3) + version: 0.10.1(@types/leaflet@1.9.20)(leaflet@1.9.4)(typescript@5.8.3) leaflet: specifier: ^1.9.4 version: 1.9.4 @@ -26,6 +26,9 @@ importers: vue: specifier: ^3.5.18 version: 3.5.18(typescript@5.8.3) + vue-leaflet-markercluster: + specifier: ^0.6.1 + version: 0.6.1(@vue-leaflet/vue-leaflet@0.10.1(@types/leaflet@1.9.20)(leaflet@1.9.4)(typescript@5.8.3))(typescript@5.8.3) vue-router: specifier: ^4.5.1 version: 4.5.1(vue@3.5.18(typescript@5.8.3)) @@ -36,12 +39,15 @@ importers: '@tsconfig/node22': specifier: ^22.0.2 version: 22.0.2 + '@types/leaflet': + specifier: ^1.9.20 + version: 1.9.20 '@types/node': specifier: ^22.16.5 version: 22.17.0 '@vitejs/plugin-vue': specifier: ^6.0.1 - version: 6.0.1(rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1))(vue@3.5.18(typescript@5.8.3)) + version: 6.0.1(rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1)(sass-embedded@1.90.0)(sass@1.90.0))(vue@3.5.18(typescript@5.8.3)) '@vue/eslint-config-prettier': specifier: ^10.2.0 version: 10.2.0(eslint@9.32.0(jiti@2.5.1))(prettier@3.6.2) @@ -72,15 +78,18 @@ importers: prettier: specifier: 3.6.2 version: 3.6.2 + sass-embedded: + specifier: ^1.90.0 + version: 1.90.0 typescript: specifier: ~5.8.0 version: 5.8.3 vite: specifier: npm:rolldown-vite@latest - version: rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1) + version: rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1)(sass-embedded@1.90.0)(sass@1.90.0) vite-plugin-vue-devtools: specifier: ^8.0.0 - version: 8.0.0(rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1))(vue@3.5.18(typescript@5.8.3)) + version: 8.0.0(rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1)(sass-embedded@1.90.0)(sass@1.90.0))(vue@3.5.18(typescript@5.8.3)) vue-tsc: specifier: ^3.0.4 version: 3.0.5(typescript@5.8.3) @@ -231,6 +240,9 @@ packages: resolution: {integrity: sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==} engines: {node: '>=6.9.0'} + '@bufbuild/protobuf@2.7.0': + resolution: {integrity: sha512-qn6tAIZEw5i/wiESBF4nQxZkl86aY4KoO0IkUa2Lh+rya64oTOdJQFlZuMwI1Qz9VBJQrQC4QlSA2DNek5gCOA==} + '@emnapi/core@1.4.5': resolution: {integrity: sha512-XsLw1dEOpkSX/WucdqUhPWP7hDxSvZiY+fsUC14h+FtQ2Ifni4znbBt8punRX+Uj2JG/uDb8nEHVKvrVlvdZ5Q==} @@ -472,6 +484,88 @@ packages: cpu: [x64] os: [win32] + '@parcel/watcher-android-arm64@2.5.1': + resolution: {integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [android] + + '@parcel/watcher-darwin-arm64@2.5.1': + resolution: {integrity: sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [darwin] + + '@parcel/watcher-darwin-x64@2.5.1': + resolution: {integrity: sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [darwin] + + '@parcel/watcher-freebsd-x64@2.5.1': + resolution: {integrity: sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [freebsd] + + '@parcel/watcher-linux-arm-glibc@2.5.1': + resolution: {integrity: sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + + '@parcel/watcher-linux-arm-musl@2.5.1': + resolution: {integrity: sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + + '@parcel/watcher-linux-arm64-glibc@2.5.1': + resolution: {integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + + '@parcel/watcher-linux-arm64-musl@2.5.1': + resolution: {integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + + '@parcel/watcher-linux-x64-glibc@2.5.1': + resolution: {integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + + '@parcel/watcher-linux-x64-musl@2.5.1': + resolution: {integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + + '@parcel/watcher-win32-arm64@2.5.1': + resolution: {integrity: sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [win32] + + '@parcel/watcher-win32-ia32@2.5.1': + resolution: {integrity: sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==} + engines: {node: '>= 10.0.0'} + cpu: [ia32] + os: [win32] + + '@parcel/watcher-win32-x64@2.5.1': + resolution: {integrity: sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [win32] + + '@parcel/watcher@2.5.1': + resolution: {integrity: sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==} + engines: {node: '>= 10.0.0'} + '@pkgr/core@0.2.9': resolution: {integrity: sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} @@ -665,9 +759,15 @@ packages: '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + '@types/geojson@7946.0.16': + resolution: {integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==} + '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + '@types/leaflet@1.9.20': + resolution: {integrity: sha512-rooalPMlk61LCaLOvBF2VIf9M47HgMQqi5xQ9QRi7c8PkdIe0WrIi5IxXUXQjAdL0c+vcQ01mYWbthzmp9GHWw==} + '@types/node@22.17.0': resolution: {integrity: sha512-bbAKTCqX5aNVryi7qXVMi+OkB3w/OyblodicMbvE38blyAz7GxXf6XYhklokijuPwwVg9sDLKRxt0ZHXQwZVfQ==} @@ -917,6 +1017,9 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true + buffer-builder@0.2.0: + resolution: {integrity: sha512-7VPMEPuYznPSoR21NE1zvd2Xna6c/CloiZCfcMXR1Jny6PjX0N4Nsa38zcBFo/FMK+BlA+FLKbJCQ0i2yxp+Xg==} + bundle-name@4.1.0: resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} engines: {node: '>=18'} @@ -932,6 +1035,10 @@ packages: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} + chokidar@4.0.3: + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} + engines: {node: '>= 14.16.0'} + chownr@3.0.0: resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} engines: {node: '>=18'} @@ -943,6 +1050,9 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + colorjs.io@0.5.2: + resolution: {integrity: sha512-twmVoizEW7ylZSN32OgKdXRmo1qg+wT5/6C3xu5b9QsWzSFAhHLn2xd8ro0diCsKfCj1RdaTP/nrcW+vAoQPIw==} + concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} @@ -992,6 +1102,11 @@ packages: resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} engines: {node: '>=12'} + detect-libc@1.0.3: + resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} + engines: {node: '>=0.10'} + hasBin: true + detect-libc@2.0.4: resolution: {integrity: sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==} engines: {node: '>=8'} @@ -1205,6 +1320,9 @@ packages: resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} engines: {node: '>= 4'} + immutable@5.1.3: + resolution: {integrity: sha512-+chQdDfvscSF1SJqv2gn4SRO2ZyS3xL3r7IW/wWEEzrzLisnOlKiQu5ytC/BVNcS15C39WT2Hg/bjKjDMcu+zg==} + import-fresh@3.3.1: resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} engines: {node: '>=6'} @@ -1447,6 +1565,9 @@ packages: natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + node-addon-api@7.1.1: + resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} + node-releases@2.0.19: resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} @@ -1584,6 +1705,10 @@ packages: resolution: {integrity: sha512-qpt8EwugBWDw2cgE2W+/3oxC+KTez2uSVR8JU9Q36TXPAGCaozfQUs59v4j4GFpWTaw0i6hAZSvOmu1J0uOEUg==} engines: {node: ^18.17.0 || >=20.5.0} + readdirp@4.1.2: + resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} + engines: {node: '>= 14.18.0'} + resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -1646,6 +1771,123 @@ packages: run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + rxjs@7.8.2: + resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} + + sass-embedded-all-unknown@1.90.0: + resolution: {integrity: sha512-/n7jTQvI+hftDDrHzK19G4pxfDzOhtjuQO1K54ui1pT2S0sWfWDjCYUbQgtWQ6FO7g5qWS0hgmrWdc7fmS3rgA==} + cpu: ['!arm', '!arm64', '!riscv64', '!x64'] + + sass-embedded-android-arm64@1.90.0: + resolution: {integrity: sha512-bkTlewzWksa6Sj4Zs1CWiutnvUbsO3xuYh2QBRknXsOtuMlfTPoXnwhCnyE4lSvUxw2qxSbv+NdQev9qMfsBgA==} + engines: {node: '>=14.0.0'} + cpu: [arm64] + os: [android] + + sass-embedded-android-arm@1.90.0: + resolution: {integrity: sha512-usF6kVJQWa1CMgPH1nCT1y8KEmAT2fzB00dDIPBYHq8U5VZLCihi2bJRP5U9NlcwP1TlKGKCjwsbIdSjDKfecg==} + engines: {node: '>=14.0.0'} + cpu: [arm] + os: [android] + + sass-embedded-android-riscv64@1.90.0: + resolution: {integrity: sha512-bpqCIOaX+0Lou/BNJ4iJIKbWbVaYXFdg26C3gG6gxxKZRzp/6OYCxHrIQDwhKz6YC8Q5rwNPMpfDVYbWPcgroA==} + engines: {node: '>=14.0.0'} + cpu: [riscv64] + os: [android] + + sass-embedded-android-x64@1.90.0: + resolution: {integrity: sha512-GNxVKnCMd/p2icZ+Q4mhvNk19NrLXq1C4guiqjrycHYQLEnxRkjbW1QXYiL+XyDn4e+Bcq0knzG0I9pMuNZxkg==} + engines: {node: '>=14.0.0'} + cpu: [x64] + os: [android] + + sass-embedded-darwin-arm64@1.90.0: + resolution: {integrity: sha512-qr4KBMJfBA+lzXiWnP00qzpLzHQzGd1OSK3VHcUFjZ8l7VOYf2R7Tc3fcTLhpaNPMJtTK0jrk8rFqBvsiZExnA==} + engines: {node: '>=14.0.0'} + cpu: [arm64] + os: [darwin] + + sass-embedded-darwin-x64@1.90.0: + resolution: {integrity: sha512-z2nr1nNqtWDLVRwTbHtL7zriK90U7O/Gb15UaCSMYeAz9Y+wog5s/sDEKm0+GsVdzzkaCaMZRWGN4jTilnUwmQ==} + engines: {node: '>=14.0.0'} + cpu: [x64] + os: [darwin] + + sass-embedded-linux-arm64@1.90.0: + resolution: {integrity: sha512-SPMcGZuP71Fj8btCGtlBnv8h8DAbJn8EQfLzXs9oo6NGFFLVjNGiFpqGfgtUV6DLWCuaRyEFeViO7wZow/vKGQ==} + engines: {node: '>=14.0.0'} + cpu: [arm64] + os: [linux] + + sass-embedded-linux-arm@1.90.0: + resolution: {integrity: sha512-FeBxI5Q2HvM3CCadcEcQgvWbDPVs2YEF0PZ87fbAVTCG8dV+iNnQreSz7GRJroknpvbRhm5t2gedvcgmTnPb2Q==} + engines: {node: '>=14.0.0'} + cpu: [arm] + os: [linux] + + sass-embedded-linux-musl-arm64@1.90.0: + resolution: {integrity: sha512-xLH7+PFq763MoEm3vI7hQk5E+nStiLWbijHEYW/tEtCbcQIphgzSkDItEezxXew3dU4EJ1jqrBUySPdoXFLqWA==} + engines: {node: '>=14.0.0'} + cpu: [arm64] + os: [linux] + + sass-embedded-linux-musl-arm@1.90.0: + resolution: {integrity: sha512-EB2z0fUXdUdvSoddf4DzdZQkD/xyreD72gwAi8YScgUvR4HMXI7bLcK/n78Rft6OnqvV8090hjC8FsLDo3x5xQ==} + engines: {node: '>=14.0.0'} + cpu: [arm] + os: [linux] + + sass-embedded-linux-musl-riscv64@1.90.0: + resolution: {integrity: sha512-L21UkOgnSrD+ERF+jo1IWneGv40t0ap9+3cI+wZWYhQS5MkxponhT9QaNU57JEDJwB9mOl01LVw14opz4SN+VQ==} + engines: {node: '>=14.0.0'} + cpu: [riscv64] + os: [linux] + + sass-embedded-linux-musl-x64@1.90.0: + resolution: {integrity: sha512-NeAycQlsdhFdnIeSmRmScYUyCd+uE+x15NLFunbF8M0PgCKurrUhaxgGKSuBbaK56FpxarKOHCqcOrWbemIGzQ==} + engines: {node: '>=14.0.0'} + cpu: [x64] + os: [linux] + + sass-embedded-linux-riscv64@1.90.0: + resolution: {integrity: sha512-lJopaQhW8S+kaQ61vMqq3c+bOurcf9RdZf2EmzQYpc2y1vT5cWfRNrRkbAgO/23IQxsk/fq3UIUnsjnyQmi6MA==} + engines: {node: '>=14.0.0'} + cpu: [riscv64] + os: [linux] + + sass-embedded-linux-x64@1.90.0: + resolution: {integrity: sha512-Cc061gBfMPwH9rN7neQaH36cvOQC+dFMSGIeX5qUOhrEL4Ng51iqBV6aI4RIB1jCFGth6eDydVRN1VdV9qom8A==} + engines: {node: '>=14.0.0'} + cpu: [x64] + os: [linux] + + sass-embedded-unknown-all@1.90.0: + resolution: {integrity: sha512-DBGzHVCJDqtjTHZFohush9YTxd4ZxhIygIRTNRXnA0359woF9Z8AS7/YxfzwkqrTX5durSJa6ZamGFYVLoRphQ==} + os: ['!android', '!darwin', '!linux', '!win32'] + + sass-embedded-win32-arm64@1.90.0: + resolution: {integrity: sha512-c3/vL/CATnaW3x/6kcNbCROEOUU7zvJpIURp7M9664GJj08/gLPRWKNruw0OkAPQ3C5TTQz7+/fQWEpRA6qmvA==} + engines: {node: '>=14.0.0'} + cpu: [arm64] + os: [win32] + + sass-embedded-win32-x64@1.90.0: + resolution: {integrity: sha512-PFwdW7AYtCkwi3NfWFeexvIZEJ0nuShp8Bjjc3px756+18yYwBWa78F4TGdIQmJfpYKBhgkVjFOctwq+NCHntA==} + engines: {node: '>=14.0.0'} + cpu: [x64] + os: [win32] + + sass-embedded@1.90.0: + resolution: {integrity: sha512-XP1EltyLLfuU5FsGVjSz8PcT925oA3rDnJTWOEBHR42k62ZEbKTcZ4gVlFwKi0Ggzi5E8v1K2BplD8ELHwusYg==} + engines: {node: '>=16.0.0'} + hasBin: true + + sass@1.90.0: + resolution: {integrity: sha512-9GUyuksjw70uNpb1MTYWsH9MQHOHY6kwfnkafC24+7aOMZn9+rVMBxRbLvw756mrBFbIsFg6Xw9IkR2Fnn3k+Q==} + engines: {node: '>=14.0.0'} + hasBin: true + semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true @@ -1699,6 +1941,18 @@ packages: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + + sync-child-process@1.0.2: + resolution: {integrity: sha512-8lD+t2KrrScJ/7KXCSyfhT3/hRq78rC0wBFqNJXv3mZyn6hW2ypM05JmlSvtqRbeq6jqA94oHbxAr2vYsJ8vDA==} + engines: {node: '>=16.0.0'} + + sync-message-port@1.1.3: + resolution: {integrity: sha512-GTt8rSKje5FilG+wEdfCkOcLL7LWqpMlr2c3LRuKt/YXxcJ52aGSbGBAdI4L3aaqfrBt6y711El53ItyH1NWzg==} + engines: {node: '>=16.0.0'} + synckit@0.11.11: resolution: {integrity: sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw==} engines: {node: ^14.18.0 || >=16.0.0} @@ -1774,6 +2028,9 @@ packages: util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + varint@6.0.0: + resolution: {integrity: sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==} + vite-dev-rpc@1.1.0: resolution: {integrity: sha512-pKXZlgoXGoE8sEKiKJSng4hI1sQ4wi5YT24FCrwrLt6opmkjlqPPVmiPWWJn8M8byMxRGzp1CrFuqQs4M/Z39A==} peerDependencies: @@ -1814,6 +2071,11 @@ packages: peerDependencies: eslint: ^8.57.0 || ^9.0.0 + vue-leaflet-markercluster@0.6.1: + resolution: {integrity: sha512-jdU1k7qRb7R4o7kNjcH6hQkw9P0UPUdXcfGcpvFIpWPCeVbkTMo2vK2wIHtZexScw2Pa+tYjsZlYxrOHOR6+gA==} + peerDependencies: + '@vue-leaflet/vue-leaflet': ^0.10.1 + vue-router@4.5.1: resolution: {integrity: sha512-ogAF3P97NPm8fJsE4by9dwSYtDwXIY1nFY9T6DyQnGHd1E2Da94w9JIolpe42LJGIl0DwOHBi8TcRPlPGwbTtw==} peerDependencies: @@ -2068,6 +2330,8 @@ snapshots: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.27.1 + '@bufbuild/protobuf@2.7.0': {} + '@emnapi/core@1.4.5': dependencies: '@emnapi/wasi-threads': 1.0.4 @@ -2262,6 +2526,67 @@ snapshots: '@oxlint/win32-x64@1.8.0': optional: true + '@parcel/watcher-android-arm64@2.5.1': + optional: true + + '@parcel/watcher-darwin-arm64@2.5.1': + optional: true + + '@parcel/watcher-darwin-x64@2.5.1': + optional: true + + '@parcel/watcher-freebsd-x64@2.5.1': + optional: true + + '@parcel/watcher-linux-arm-glibc@2.5.1': + optional: true + + '@parcel/watcher-linux-arm-musl@2.5.1': + optional: true + + '@parcel/watcher-linux-arm64-glibc@2.5.1': + optional: true + + '@parcel/watcher-linux-arm64-musl@2.5.1': + optional: true + + '@parcel/watcher-linux-x64-glibc@2.5.1': + optional: true + + '@parcel/watcher-linux-x64-musl@2.5.1': + optional: true + + '@parcel/watcher-win32-arm64@2.5.1': + optional: true + + '@parcel/watcher-win32-ia32@2.5.1': + optional: true + + '@parcel/watcher-win32-x64@2.5.1': + optional: true + + '@parcel/watcher@2.5.1': + dependencies: + detect-libc: 1.0.3 + is-glob: 4.0.3 + micromatch: 4.0.8 + node-addon-api: 7.1.1 + optionalDependencies: + '@parcel/watcher-android-arm64': 2.5.1 + '@parcel/watcher-darwin-arm64': 2.5.1 + '@parcel/watcher-darwin-x64': 2.5.1 + '@parcel/watcher-freebsd-x64': 2.5.1 + '@parcel/watcher-linux-arm-glibc': 2.5.1 + '@parcel/watcher-linux-arm-musl': 2.5.1 + '@parcel/watcher-linux-arm64-glibc': 2.5.1 + '@parcel/watcher-linux-arm64-musl': 2.5.1 + '@parcel/watcher-linux-x64-glibc': 2.5.1 + '@parcel/watcher-linux-x64-musl': 2.5.1 + '@parcel/watcher-win32-arm64': 2.5.1 + '@parcel/watcher-win32-ia32': 2.5.1 + '@parcel/watcher-win32-x64': 2.5.1 + optional: true + '@pkgr/core@0.2.9': {} '@polka/url@1.0.0-next.29': {} @@ -2386,12 +2711,12 @@ snapshots: '@tailwindcss/oxide-win32-arm64-msvc': 4.1.11 '@tailwindcss/oxide-win32-x64-msvc': 4.1.11 - '@tailwindcss/vite@4.1.11(rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1))': + '@tailwindcss/vite@4.1.11(rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1)(sass-embedded@1.90.0)(sass@1.90.0))': dependencies: '@tailwindcss/node': 4.1.11 '@tailwindcss/oxide': 4.1.11 tailwindcss: 4.1.11 - vite: rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1) + vite: rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1)(sass-embedded@1.90.0)(sass@1.90.0) '@tsconfig/node22@22.0.2': {} @@ -2402,8 +2727,14 @@ snapshots: '@types/estree@1.0.8': {} + '@types/geojson@7946.0.16': {} + '@types/json-schema@7.0.15': {} + '@types/leaflet@1.9.20': + dependencies: + '@types/geojson': 7946.0.16 + '@types/node@22.17.0': dependencies: undici-types: 6.21.0 @@ -2501,10 +2832,10 @@ snapshots: '@typescript-eslint/types': 8.39.0 eslint-visitor-keys: 4.2.1 - '@vitejs/plugin-vue@6.0.1(rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1))(vue@3.5.18(typescript@5.8.3))': + '@vitejs/plugin-vue@6.0.1(rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1)(sass-embedded@1.90.0)(sass@1.90.0))(vue@3.5.18(typescript@5.8.3))': dependencies: '@rolldown/pluginutils': 1.0.0-beta.29 - vite: rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1) + vite: rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1)(sass-embedded@1.90.0)(sass@1.90.0) vue: 3.5.18(typescript@5.8.3) '@volar/language-core@2.4.22': @@ -2519,10 +2850,12 @@ snapshots: path-browserify: 1.0.1 vscode-uri: 3.1.0 - '@vue-leaflet/vue-leaflet@0.10.1(leaflet@1.9.4)(typescript@5.8.3)': + '@vue-leaflet/vue-leaflet@0.10.1(@types/leaflet@1.9.20)(leaflet@1.9.4)(typescript@5.8.3)': dependencies: leaflet: 1.9.4 vue: 3.5.18(typescript@5.8.3) + optionalDependencies: + '@types/leaflet': 1.9.20 transitivePeerDependencies: - typescript @@ -2596,14 +2929,14 @@ snapshots: dependencies: '@vue/devtools-kit': 7.7.7 - '@vue/devtools-core@8.0.0(rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1))(vue@3.5.18(typescript@5.8.3))': + '@vue/devtools-core@8.0.0(rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1)(sass-embedded@1.90.0)(sass@1.90.0))(vue@3.5.18(typescript@5.8.3))': dependencies: '@vue/devtools-kit': 8.0.0 '@vue/devtools-shared': 8.0.0 mitt: 3.0.1 nanoid: 5.1.5 pathe: 2.0.3 - vite-hot-client: 2.1.0(rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1)) + vite-hot-client: 2.1.0(rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1)(sass-embedded@1.90.0)(sass@1.90.0)) vue: 3.5.18(typescript@5.8.3) transitivePeerDependencies: - vite @@ -2751,6 +3084,8 @@ snapshots: node-releases: 2.0.19 update-browserslist-db: 1.1.3(browserslist@4.25.1) + buffer-builder@0.2.0: {} + bundle-name@4.1.0: dependencies: run-applescript: 7.0.0 @@ -2764,6 +3099,11 @@ snapshots: ansi-styles: 4.3.0 supports-color: 7.2.0 + chokidar@4.0.3: + dependencies: + readdirp: 4.1.2 + optional: true + chownr@3.0.0: {} color-convert@2.0.1: @@ -2772,6 +3112,8 @@ snapshots: color-name@1.1.4: {} + colorjs.io@0.5.2: {} + concat-map@0.0.1: {} convert-source-map@2.0.0: {} @@ -2807,6 +3149,9 @@ snapshots: define-lazy-prop@3.0.0: {} + detect-libc@1.0.3: + optional: true + detect-libc@2.0.4: {} electron-to-chromium@1.5.197: {} @@ -3024,6 +3369,8 @@ snapshots: ignore@7.0.5: {} + immutable@5.1.3: {} + import-fresh@3.3.1: dependencies: parent-module: 1.0.1 @@ -3194,6 +3541,9 @@ snapshots: natural-compare@1.4.0: {} + node-addon-api@7.1.1: + optional: true + node-releases@2.0.19: {} npm-normalize-package-bin@4.0.0: {} @@ -3340,13 +3690,16 @@ snapshots: json-parse-even-better-errors: 4.0.0 npm-normalize-package-bin: 4.0.0 + readdirp@4.1.2: + optional: true + resolve-from@4.0.0: {} reusify@1.1.0: {} rfdc@1.4.1: {} - rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1): + rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1)(sass-embedded@1.90.0)(sass@1.90.0): dependencies: fdir: 6.4.6(picomatch@4.0.3) lightningcss: 1.30.1 @@ -3358,6 +3711,8 @@ snapshots: '@types/node': 22.17.0 fsevents: 2.3.3 jiti: 2.5.1 + sass: 1.90.0 + sass-embedded: 1.90.0 rolldown@1.0.0-beta.30: dependencies: @@ -3387,6 +3742,107 @@ snapshots: dependencies: queue-microtask: 1.2.3 + rxjs@7.8.2: + dependencies: + tslib: 2.8.1 + + sass-embedded-all-unknown@1.90.0: + dependencies: + sass: 1.90.0 + optional: true + + sass-embedded-android-arm64@1.90.0: + optional: true + + sass-embedded-android-arm@1.90.0: + optional: true + + sass-embedded-android-riscv64@1.90.0: + optional: true + + sass-embedded-android-x64@1.90.0: + optional: true + + sass-embedded-darwin-arm64@1.90.0: + optional: true + + sass-embedded-darwin-x64@1.90.0: + optional: true + + sass-embedded-linux-arm64@1.90.0: + optional: true + + sass-embedded-linux-arm@1.90.0: + optional: true + + sass-embedded-linux-musl-arm64@1.90.0: + optional: true + + sass-embedded-linux-musl-arm@1.90.0: + optional: true + + sass-embedded-linux-musl-riscv64@1.90.0: + optional: true + + sass-embedded-linux-musl-x64@1.90.0: + optional: true + + sass-embedded-linux-riscv64@1.90.0: + optional: true + + sass-embedded-linux-x64@1.90.0: + optional: true + + sass-embedded-unknown-all@1.90.0: + dependencies: + sass: 1.90.0 + optional: true + + sass-embedded-win32-arm64@1.90.0: + optional: true + + sass-embedded-win32-x64@1.90.0: + optional: true + + sass-embedded@1.90.0: + dependencies: + '@bufbuild/protobuf': 2.7.0 + buffer-builder: 0.2.0 + colorjs.io: 0.5.2 + immutable: 5.1.3 + rxjs: 7.8.2 + supports-color: 8.1.1 + sync-child-process: 1.0.2 + varint: 6.0.0 + optionalDependencies: + sass-embedded-all-unknown: 1.90.0 + sass-embedded-android-arm: 1.90.0 + sass-embedded-android-arm64: 1.90.0 + sass-embedded-android-riscv64: 1.90.0 + sass-embedded-android-x64: 1.90.0 + sass-embedded-darwin-arm64: 1.90.0 + sass-embedded-darwin-x64: 1.90.0 + sass-embedded-linux-arm: 1.90.0 + sass-embedded-linux-arm64: 1.90.0 + sass-embedded-linux-musl-arm: 1.90.0 + sass-embedded-linux-musl-arm64: 1.90.0 + sass-embedded-linux-musl-riscv64: 1.90.0 + sass-embedded-linux-musl-x64: 1.90.0 + sass-embedded-linux-riscv64: 1.90.0 + sass-embedded-linux-x64: 1.90.0 + sass-embedded-unknown-all: 1.90.0 + sass-embedded-win32-arm64: 1.90.0 + sass-embedded-win32-x64: 1.90.0 + + sass@1.90.0: + dependencies: + chokidar: 4.0.3 + immutable: 5.1.3 + source-map-js: 1.2.1 + optionalDependencies: + '@parcel/watcher': 2.5.1 + optional: true + semver@6.3.1: {} semver@7.7.2: {} @@ -3423,6 +3879,16 @@ snapshots: dependencies: has-flag: 4.0.0 + supports-color@8.1.1: + dependencies: + has-flag: 4.0.0 + + sync-child-process@1.0.2: + dependencies: + sync-message-port: 1.1.3 + + sync-message-port@1.1.3: {} + synckit@0.11.11: dependencies: '@pkgr/core': 0.2.9 @@ -3455,8 +3921,7 @@ snapshots: dependencies: typescript: 5.8.3 - tslib@2.8.1: - optional: true + tslib@2.8.1: {} type-check@0.4.0: dependencies: @@ -3496,17 +3961,19 @@ snapshots: util-deprecate@1.0.2: {} - vite-dev-rpc@1.1.0(rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1)): + varint@6.0.0: {} + + vite-dev-rpc@1.1.0(rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1)(sass-embedded@1.90.0)(sass@1.90.0)): dependencies: birpc: 2.5.0 - vite: rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1) - vite-hot-client: 2.1.0(rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1)) + vite: rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1)(sass-embedded@1.90.0)(sass@1.90.0) + vite-hot-client: 2.1.0(rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1)(sass-embedded@1.90.0)(sass@1.90.0)) - vite-hot-client@2.1.0(rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1)): + vite-hot-client@2.1.0(rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1)(sass-embedded@1.90.0)(sass@1.90.0)): dependencies: - vite: rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1) + vite: rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1)(sass-embedded@1.90.0)(sass@1.90.0) - vite-plugin-inspect@11.3.2(rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1)): + vite-plugin-inspect@11.3.2(rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1)(sass-embedded@1.90.0)(sass@1.90.0)): dependencies: ansis: 4.1.0 debug: 4.4.1 @@ -3516,27 +3983,27 @@ snapshots: perfect-debounce: 1.0.0 sirv: 3.0.1 unplugin-utils: 0.2.5 - vite: rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1) - vite-dev-rpc: 1.1.0(rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1)) + vite: rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1)(sass-embedded@1.90.0)(sass@1.90.0) + vite-dev-rpc: 1.1.0(rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1)(sass-embedded@1.90.0)(sass@1.90.0)) transitivePeerDependencies: - supports-color - vite-plugin-vue-devtools@8.0.0(rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1))(vue@3.5.18(typescript@5.8.3)): + vite-plugin-vue-devtools@8.0.0(rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1)(sass-embedded@1.90.0)(sass@1.90.0))(vue@3.5.18(typescript@5.8.3)): dependencies: - '@vue/devtools-core': 8.0.0(rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1))(vue@3.5.18(typescript@5.8.3)) + '@vue/devtools-core': 8.0.0(rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1)(sass-embedded@1.90.0)(sass@1.90.0))(vue@3.5.18(typescript@5.8.3)) '@vue/devtools-kit': 8.0.0 '@vue/devtools-shared': 8.0.0 execa: 9.6.0 sirv: 3.0.1 - vite: rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1) - vite-plugin-inspect: 11.3.2(rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1)) - vite-plugin-vue-inspector: 5.3.2(rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1)) + vite: rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1)(sass-embedded@1.90.0)(sass@1.90.0) + vite-plugin-inspect: 11.3.2(rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1)(sass-embedded@1.90.0)(sass@1.90.0)) + vite-plugin-vue-inspector: 5.3.2(rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1)(sass-embedded@1.90.0)(sass@1.90.0)) transitivePeerDependencies: - '@nuxt/kit' - supports-color - vue - vite-plugin-vue-inspector@5.3.2(rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1)): + vite-plugin-vue-inspector@5.3.2(rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1)(sass-embedded@1.90.0)(sass@1.90.0)): dependencies: '@babel/core': 7.28.0 '@babel/plugin-proposal-decorators': 7.28.0(@babel/core@7.28.0) @@ -3547,7 +4014,7 @@ snapshots: '@vue/compiler-dom': 3.5.18 kolorist: 1.8.0 magic-string: 0.30.17 - vite: rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1) + vite: rolldown-vite@7.0.12(@types/node@22.17.0)(jiti@2.5.1)(sass-embedded@1.90.0)(sass@1.90.0) transitivePeerDependencies: - supports-color @@ -3565,6 +4032,13 @@ snapshots: transitivePeerDependencies: - supports-color + vue-leaflet-markercluster@0.6.1(@vue-leaflet/vue-leaflet@0.10.1(@types/leaflet@1.9.20)(leaflet@1.9.4)(typescript@5.8.3))(typescript@5.8.3): + dependencies: + '@vue-leaflet/vue-leaflet': 0.10.1(@types/leaflet@1.9.20)(leaflet@1.9.4)(typescript@5.8.3) + vue: 3.5.18(typescript@5.8.3) + transitivePeerDependencies: + - typescript + vue-router@4.5.1(vue@3.5.18(typescript@5.8.3)): dependencies: '@vue/devtools-api': 6.6.4 diff --git a/public/map/icons/asian.svg b/public/map/icons/asian.svg new file mode 100644 index 0000000..61f60f6 --- /dev/null +++ b/public/map/icons/asian.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/map/icons/bakery.svg b/public/map/icons/bakery.svg new file mode 100644 index 0000000..374ff72 --- /dev/null +++ b/public/map/icons/bakery.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/map/icons/bar.svg b/public/map/icons/bar.svg new file mode 100644 index 0000000..7a0ca12 --- /dev/null +++ b/public/map/icons/bar.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/map/icons/burgers.svg b/public/map/icons/burgers.svg new file mode 100644 index 0000000..91de416 --- /dev/null +++ b/public/map/icons/burgers.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/map/icons/italian.svg b/public/map/icons/italian.svg new file mode 100644 index 0000000..6b08da2 --- /dev/null +++ b/public/map/icons/italian.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/map/icons/restaurant.svg b/public/map/icons/restaurant.svg new file mode 100644 index 0000000..bfef082 --- /dev/null +++ b/public/map/icons/restaurant.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/map/icons/seafood.svg b/public/map/icons/seafood.svg new file mode 100644 index 0000000..30269ab --- /dev/null +++ b/public/map/icons/seafood.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/map/icons/vegetarian.svg b/public/map/icons/vegetarian.svg new file mode 100644 index 0000000..e362dd9 --- /dev/null +++ b/public/map/icons/vegetarian.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/App.vue b/src/App.vue index 724205f..a6301b5 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,27 +1,110 @@ - diff --git a/src/stores/counter.ts b/src/stores/counter.ts deleted file mode 100644 index b6757ba..0000000 --- a/src/stores/counter.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/src/stores/reviews.ts b/src/stores/reviews.ts new file mode 100644 index 0000000..13f2e93 --- /dev/null +++ b/src/stores/reviews.ts @@ -0,0 +1,775 @@ +import type { PointTuple } from 'leaflet' +import { defineStore } from 'pinia' + +type MarkerType = "restaurant" | "bar" | "bakery" +type FoodType = "mixed" | "asian" | "vegetarian" | "italian" | "fast-food" | "street-food" | "burgers" | "seafood" | "creperie" | "eastern" + +interface ReviewMarker { + coords: PointTuple + title?: string + type?: MarkerType + food?: FoodType + reviews?: Review[] +} + +interface Review { + text?: string + grade: number +} + +export const useReviewStore = defineStore('reviews', () => { + const markers: ReviewMarker[] = [ + { + title: "La Tempête", + coords: [47.47828668587478, -3.125865802320788], + type: "restaurant", + food: "seafood", + reviews: [ + { + grade: 20 + } + ] + }, + { + title: "Khmer Thaï", + coords: [48.11752297250921, -1.6811361830581657], + type: "restaurant", + food: "asian", + reviews: [ + { + grade: 16 + } + ] + }, + { + title: "La Baie d'Halong", + coords: [48.724854571841945, -3.9833849929135576], + type: "restaurant", + food: "asian", + reviews: [ + { + grade: 18.5 + } + ] + }, + { + title: "Angello", + coords: [48.10933306853774, -1.6847963807279722], + type: "restaurant", + food: "italian", + reviews: [ + { + grade: 17.5 + } + ] + }, + { + title: "Le Petit Hanoï", + coords: [48.10850561023402, -1.684263611795858], + type: "restaurant", + food: "asian", + reviews: [ + { + grade: 17.5 + } + ] + }, + { + title: "Côté Sushi", + coords: [48.11324625619256, -1.6800305422199695], + type: "restaurant", + food: "asian", + reviews: [ + { + grade: 17 + } + ] + }, + { + title: "Dans la Grand Rue", + coords: [48.684192460939094, -3.986498144514444], + type: "restaurant", + food: "mixed", + reviews: [ + { + grade: 16.5 + } + ] + }, + { + title: "Fringale", + coords: [48.01905889927451, -2.171397985096437], + type: "restaurant", + food: "mixed", + reviews: [ + { + grade: 16.5 + } + ] + }, + { + title: "Cibeles", + coords: [48.106735005295626, -1.6856652735268327], + type: "restaurant", + food: "italian", + reviews: [ + { + grade: 16.5 + } + ] + }, + { + title: "La Lupa", + coords: [48.11295052226835, -1.6812203185427346], + type: "restaurant", + food: "italian", + reviews: [ + { + grade: 16.5 + } + ] + }, + { + title: "Le Bacchus", + coords: [48.10855324414594, -1.6973786525587304], + type: "bar", + reviews: [ + { + grade: 16.5 + } + ] + }, + { + title: "Le Coucou Rennais", + coords: [48.11534187578985, -1.678974672201788], + type: "restaurant", + food: "mixed", + reviews: [ + { + grade: 16.5 + } + ] + }, + { + title: "Le Tourne Pierre", + coords: [48.64939200441161, -2.0238274201262283], + type: "restaurant", + food: "mixed", + reviews: [ + { + grade: 16 + } + ] + }, + { + title: "Casa Antonio", + coords: [48.108374092201004, -1.676335338367073], + type: "restaurant", + food: "italian", + reviews: [ + { + grade: 16 + } + ] + }, + { + title: "Hot My Dog", + coords: [48.11026179127679, -1.6874321757846735], + type: "restaurant", + food: "street-food", + reviews: [ + { + grade: 15 + } + ] + }, + { + title: "Banh Mi Viet", + coords: [48.11400719159279, -1.6807249915598401], + type: "restaurant", + food: "street-food", + reviews: [ + { + grade: 15.5 + } + ] + }, + { + title: "Asian Street Food", + coords: [50.40718269352876, 1.564250350722199], + type: "restaurant", + food: "street-food", + reviews: [ + { + grade: 15 + } + ] + }, + { + title: "Pépé Pizza", + coords: [50.48121523204103, 1.590577696567199], + type: "restaurant", + food: "italian", + reviews: [ + { + grade: 15 + } + ] + }, + { + title: "La Cabane", + coords: [47.215538947496775, -1.552375181167602], + type: "restaurant", + food: "mixed", + reviews: [ + { + grade: 15 + } + ] + }, + { + title: "KilKenny's Pub", + coords: [48.11105421896557, -1.6773275062735566], + type: "bar", + reviews: [ + { + grade: 15 + } + ] + }, + { + title: "La Louperie", + coords: [48.11899359758488, -1.668218313830956], + type: "restaurant", + food: "mixed", + reviews: [ + { + grade: 15 + } + ] + }, + { + title: "La Casa Pépé", + coords: [48.11192815040314, -1.6758654492733234], + type: "restaurant", + food: "italian", + reviews: [ + { + grade: 15 + } + ] + }, + { + title: "Monsieur Joe", + coords: [48.11039424415681, -1.6627597599281814], + type: "restaurant", + food: "mixed", + reviews: [ + { + grade: 15 + } + ] + }, + { + title: "Fox and Friends", + coords: [48.11215429073604, -1.6830048833083207], + type: "bar", + reviews: [ + { + grade: 15 + } + ] + }, + { + title: "Ty'Anna", + coords: [48.11474624851543, -1.6814620536068385], + type: "bar", + reviews: [ + { + grade: 15 + } + ] + }, + { + title: "Pitaya", + coords: [48.11275152309647, -1.681332848723036], + type: "restaurant", + food: "street-food", + reviews: [ + { + grade: 15 + } + ] + }, + { + title: "Louise - Bistrot vivant ", + coords: [48.102723651057815, -1.6623584050501647], + type: "restaurant", + food: "mixed", + reviews: [ + { + grade: 15 + } + ] + }, + { + title: "Les Brocanteurs", + coords: [48.111004933372435, -1.6809616054195273], + type: "restaurant", + food: "mixed", + reviews: [ + { + grade: 15 + } + ] + }, + { + title: "Panier Vert", + coords: [48.11328698821665, -1.6611717430165736], + type: "restaurant", + food: "mixed", + reviews: [ + { + grade: 15 + } + ] + }, + { + title: "Uliva", + coords: [48.136000026894976, -1.6681454418705541], + type: "restaurant", + food: "italian", + reviews: [ + { + grade: 14.5 + } + ] + }, + { + title: "La Ptite Flambée", + coords: [48.10531486284804, -1.6284269785657488], + type: "restaurant", + food: "mixed", + reviews: [ + { + grade: 14.5 + } + ] + }, + { + title: "Whitefields Café", + coords: [48.13507870007574, -1.6225106053811715], + type: "restaurant", + food: "mixed", + reviews: [ + { + grade: 14.5 + } + ] + }, + { + title: "Les 3 Brasseurs", + coords: [48.132017471024135, -1.6888373517551438], + type: "restaurant", + food: "mixed", + reviews: [ + { + grade: 14.5 + } + ] + }, + { + title: "Chez Les Ducs", + coords: [47.21628942491444, -1.5506918098742497], + type: "restaurant", + food: "creperie", + reviews: [ + { + grade: 14 + } + ] + }, + { + title: "Penny Lane", + coords: [48.11103695795259, -1.6786062621912323], + type: "bar", + reviews: [ + { + grade: 14 + } + ] + }, + { + title: "La Cucina", + coords: [48.11403284472226, -1.680257872370312], + type: "restaurant", + food: "italian", + reviews: [ + { + grade: 14 + } + ] + }, + { + title: "Coppa Saint Mélaine", + coords: [48.11480321724176, -1.676270117028458], + type: "restaurant", + food: "italian", + reviews: [ + { + grade: 14 + } + ] + }, + { + title: "Les Grands Gamins", + coords: [48.109745722688515, -1.6896362295368355], + type: "restaurant", + food: "mixed", + reviews: [ + { + grade: 14 + } + ] + }, + { + title: "La Cité d'Ys", + coords: [48.108656698303605, -1.6772447857456239], + type: "bar", + reviews: [ + { + grade: 14 + } + ] + }, + { + title: "Falafel", + coords: [48.11601935822433, -1.6807647155460153], + type: "restaurant", + food: "eastern", + reviews: [ + { + grade: 14 + } + ] + }, + { + title: "Basilic & Co", + coords: [48.109668130909405, -1.6657984439029816], + type: "restaurant", + food: "italian", + reviews: [ + { + grade: 14 + } + ] + }, + { + title: "L'Escale", + coords: [50.7304430557406, 1.5963067512524898], + type: "restaurant", + food: "mixed", + reviews: [ + { + grade: 13.5 + } + ] + }, + { + title: "Mary Stuart", + coords: [48.68904281867946, -3.9691572771418047], + type: "restaurant", + food: "mixed", + reviews: [ + { + grade: 13.5 + } + ] + }, + { + title: "Le Papier Timbré", + coords: [48.115182616625766, -1.6846097395426023], + type: "bar", + reviews: [ + { + grade: 13.5 + } + ] + }, + { + title: "Big Fernand", + coords: [48.11347562584714, -1.6814439702872734], + type: "restaurant", + food: "burgers", + reviews: [ + { + grade: 14 + } + ] + }, + { + title: "Le Wok", + coords: [48.129943141404155, -1.6427404479388241], + type: "restaurant", + food: "asian", + reviews: [ + { + grade: 12 + } + ] + }, + { + title: "La Gavotte", + coords: [48.11194212832854, -1.675360124008564], + type: "restaurant", + food: "creperie", + reviews: [ + { + grade: 13 + } + ] + }, + { + title: "Les Burgers de Colette", + coords: [48.113617013564735, -1.6775973992185587], + type: "restaurant", + food: "burgers", + reviews: [ + { + grade: 13 + } + ] + }, + { + title: "Le Chanya", + coords: [48.11976336112167, -1.6665742873250897], + type: "restaurant", + food: "asian", + reviews: [ + { + grade: 13 + } + ] + }, + { + title: "Le Lapin noir", + coords: [48.11095515153713, -1.677499632237847], + type: "restaurant", + food: "vegetarian", + reviews: [ + { + grade: 12 + } + ] + }, + { + title: "Tiffany's", + coords: [48.1108461948547, -1.669435256663923], + type: "bar", + reviews: [ + { + grade: 12.5 + } + ] + }, + { + title: "Au Bureau", + coords: [48.11178519749741, -1.5901936624448747], + type: "restaurant", + food: "mixed", + reviews: [ + { + grade: 11 + } + ] + }, + { + title: "Boulangerie 'My'", + coords: [48.1083913929429, -1.6933925246110162], + type: "bakery", + reviews: [ + { + grade: 12 + } + ] + }, + { + title: "Roadside", + coords: [48.108738196772215, -1.6776529242210632], + type: "restaurant", + food: "burgers", + reviews: [ + { + grade: 12 + } + ] + }, + { + title: "Poutines Bros", + coords: [48.11380361886915, -1.6809323015470785], + type: "restaurant", + food: "burgers", + reviews: [ + { + grade: 12 + } + ] + }, + { + title: "Les Italiens du coin", + coords: [48.11623649490153, -1.6739699469480376], + type: "restaurant", + food: "italian", + reviews: [ + { + grade: 12 + } + ] + }, + { + title: "O'bread", + coords: [48.12986333170566, -1.6569573969582505], + type: "restaurant", + food: "fast-food", + reviews: [ + { + grade: 12 + } + ] + }, + { + title: "Black and White Burger", + coords: [48.10919682486201, -1.6799545325429213], + type: "restaurant", + food: "burgers", + reviews: [ + { + grade: 11.5 + } + ] + }, + { + title: "Ramen ya", + coords: [48.1143674948123, -1.6791145410742345], + type: "restaurant", + food: "asian", + reviews: [ + { + grade: 11 + } + ] + }, + { + title: "Class'Croute", + coords: [48.13042865928908, -1.6223519152906614], + type: "restaurant", + food: "street-food", + reviews: [ + { + grade: 10 + } + ] + }, + { + title: "Coppa Colombier", + coords: [48.10486715424073, -1.678274121410079], + type: "restaurant", + food: "italian", + reviews: [ + { + grade: 10 + } + ] + }, + { + title: "Al'saj", + coords: [48.11406777261912, -1.6795804290437015], + type: "restaurant", + food: "eastern", + reviews: [ + { + grade: 8.5 + } + ] + }, + { + title: "Frencheez", + coords: [48.114769618169206, -1.6791796367468956], + type: "restaurant", + food: "fast-food", + reviews: [ + { + grade: 8 + } + ] + }, + { + title: "Royal Kébab", + coords: [48.10754609376947, -1.6731889814647676], + type: "restaurant", + food: "fast-food", + reviews: [ + { + grade: 7 + } + ] + }, + { + title: "Ethnic Food", + coords: [48.11425969273338, -1.6798136555011158], + type: "restaurant", + food: "fast-food", + reviews: [ + { + grade: 7 + } + ] + }, + { + title: "Tacozh", + coords: [48.11045956306925, -1.6787808089703555], + type: "restaurant", + food: "street-food", + reviews: [ + { + grade: 6.5 + } + ] + }, + { + title: "Croc' Midi", + coords: [48.10581968022915, -1.6284936688855927], + type: "restaurant", + food: "fast-food", + reviews: [ + { + grade: 6 + } + ] + }, + { + title: "Ober food", + coords: [48.11342567412467, -1.6615374938838021], + type: "restaurant", + food: "fast-food", + reviews: [ + { + grade: 3.5 + } + ] + }, + { + title: "Les Clandestines", + coords: [48.112433245186544, -1.6668202940483952], + type: "restaurant", + food: "mixed", + reviews: [ + { + grade: 2 + } + ] + }, + ] + + return { markers } +})