fix(aep-v1.1): bugs E2E M1 M2 M3 L1 L2 L3
M1 - Chips a11y : converti les <span> chips mobile (criteres, types, echelle, fonctions) en <button type=button> avec aria-pressed pour support clavier et lecteurs d'ecran (sidebar desktop deja en boutons). M2 - Effacer les filtres ne vide pas la search : resetFilters() reset maintenant aussi mobileSearch dans pratiques-regeneratives.vue et index.vue. M3 - FAB Soutenir overlap chip Agence : repositionne le FAB Soutenir en stack vertical avec le FAB Chatbot (right: 16px, bottom: 84px) au lieu de left: 16px, bottom: 68px. Evite l'overlap avec les chips de la bottom-sheet sur viewport intermediaire. L1 - /fiche/[id] introuvable pour pratiques : ajoute un fallback dans pages/fiche/[id].vue qui detecte si l'id correspond a une pratique regenerative et redirige vers /pratique/[id] (navigateTo replace). L2 - Label retour incorrect sur /proposer-pratique : harmonise en 'Retour aux pratiques regeneratives'. L3 - Map ne fitBounds pas apres filtre : EuropeMap et NavMap appellent maintenant fitBounds(bounds, padding 40px, maxZoom 10) quand la liste filtree contient 1 a 15 markers. Saute le tout premier rendu pour preserver la vue initiale.
This commit is contained in:
@@ -128,6 +128,8 @@ async function initMap() {
|
||||
updateMarkers(L)
|
||||
}
|
||||
|
||||
let initialFitDone = false
|
||||
|
||||
function updateMarkers(L?: any) {
|
||||
if (!mapInstance || !clusterGroup) return
|
||||
const leaflet = L || (window as any).L
|
||||
@@ -168,6 +170,25 @@ function updateMarkers(L?: any) {
|
||||
markers.set(org.Id, marker)
|
||||
clusterGroup.addLayer(marker)
|
||||
})
|
||||
|
||||
// Bug E2E L3 : recadrer la carte sur les resultats filtres
|
||||
if (orgsWithCoords.length > 0 && initialFitDone) {
|
||||
try {
|
||||
const bounds = leaflet.latLngBounds(
|
||||
orgsWithCoords.map((o: any) => [o.latitude!, o.longitude!])
|
||||
)
|
||||
if (orgsWithCoords.length <= 15) {
|
||||
mapInstance.fitBounds(bounds, {
|
||||
padding: [40, 40],
|
||||
maxZoom: 10,
|
||||
animate: true,
|
||||
})
|
||||
}
|
||||
} catch (e) {
|
||||
console.warn('[NavMap] fitBounds echoue:', e)
|
||||
}
|
||||
}
|
||||
initialFitDone = true
|
||||
}
|
||||
|
||||
// Réagir aux changements de filtres (liste d'orgs)
|
||||
|
||||
Reference in New Issue
Block a user