Migrate grateWizard from React/Next.js to native Nuxt integration

- Port all React components to Vue 3 (GwTabs, GwMN, GwCRA, GwCRS,
  GwMap, GwRelations, GwPerimeterList)
- Port hooks to Vue composables (useCesiumProfiles, useSavedPerimeters)
- Copy pure TS services and utils (duniter/, ss58, gratewizard utils)
- Add Leaflet + Geoman + MarkerCluster dependencies
- Serve grateWizard as popup via /gratewizard?popup (layout: false)
  and info page on /gratewizard (with Librodrome layout)
- Remove public/gratewizard-app/ static Next.js export
- Refine UI: compact tabs, buttons, inputs, cards, perimeter list
- Use Ğ1 breve everywhere, French locale for all dates and amounts
- Rename roles: vendeur→offre / acheteur→reçoit le produit ou service
- Rename prix→évaluation in all visible text
- Add calculated result column in CRA and CRS relation tables
- DU/Ğ1 selector uses toggle switch (same as role toggle)
- Auto-scroll to monetary data card on polygon selection

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Yvv
2026-02-21 15:33:01 +01:00
parent 524c7a0fc2
commit 2b5543791f
93 changed files with 2186 additions and 585 deletions

View File

@@ -10,20 +10,24 @@
"postinstall": "nuxt prepare"
},
"dependencies": {
"@geoman-io/leaflet-geoman-free": "^2.19.2",
"@nuxt/content": "^3.11.2",
"@nuxt/image": "^2.0.0",
"@pinia/nuxt": "^0.11.3",
"@unocss/nuxt": "^66.6.0",
"@vueuse/nuxt": "^14.2.1",
"better-sqlite3": "^12.6.2",
"leaflet": "^1.9.4",
"leaflet.markercluster": "^1.5.3",
"nuxt": "^4.3.1",
"yaml": "^2.8.2",
"vue": "^3.5.28",
"vue-router": "^4.6.4"
"vue-router": "^4.6.4",
"yaml": "^2.8.2"
},
"devDependencies": {
"@iconify-json/lucide": "^1.2.91",
"@iconify-json/ph": "^1.2.2",
"@types/leaflet": "^1.9.21",
"typescript": "^5.9.3",
"unocss": "^66.6.0"
},