Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug de filtrage sur mobile #1313

Closed
noelmartinon opened this issue Nov 25, 2024 · 9 comments
Closed

Bug de filtrage sur mobile #1313

noelmartinon opened this issue Nov 25, 2024 · 9 comments
Labels
bug Something isn't working

Comments

@noelmartinon
Copy link

Sur mobile uniquement, constaté sous android, il y a un problème d'affichage, plus précisément un problème du nombre de réponses qui correspondent à un filtrage donné (à pied, VTT, etc) au moins en GTKR 23.3 et 24.0.
Le bug est constaté sur différents sites Geotrek-Rando où il suffit de choisir une catégorie et de scroller vers le bas. Arrivé au 10e élément ou en bas de liste, le contenu est complèté et on peut constater en remontant en haut que le nombre d'éléments trouvé a changé.

@dtrucs
Copy link
Collaborator

dtrucs commented Nov 25, 2024

Oui c'est une regression qui a été introduit avec la 3.23.2, c'est fixé à la 3.24.0

@noelmartinon
Copy link
Author

En 3.24.0, j'ai le bug

@camillemonchicourt
Copy link
Member

Ah oui je reproduis sur https://destination.ecrins-parcnational.fr/search?practices=4 en version 3.24.0.

J'ai 190 résultats. Si je descends rapidement en bas, cela me remet en haut de la page avec 177 résultats.

@babastienne
Copy link
Member

babastienne commented Nov 26, 2024

Ok je confirme aussi observer le bug. Par contre ça m'interroge car on a plus le même résultat entre la navigation mobile et la navigation PC. Quelle est la bonne ? Pour reprendre l'exemple de Camille quel est le bon résultat, 177 ou 190 ?

A priori le chiffre en PC est le bon.

@dtrucs
Copy link
Collaborator

dtrucs commented Nov 26, 2024

J'ai identifié la raison de ce rafraichissement avec mise à jour du résultat:
À l'initiation de la vue, on a tous les éléments qui sont affichés (pour répondre à Bastien, c'est 190 le bon nombre).

Au scroll, ça trigger la recherche par carte, et comme c'est un center/zoom et pas un fitbounds, des éléments passent hors champ et on tombe sur 177 (vous pouvez constater en ouvrant la carte, des éléments ne sont pas visible).

Ce bug est également présent en desktop mais comme on a suffisament de place pour voir tous les éléments ça ne se reproduit pas.

@noelmartinon
Copy link
Author

Je comprends le fonctionnement, mais c'est très gênant pour nous dans le cas suivant :

  • Nous transmettons l'URL "animations" via QR code, donc terminal mobile
  • Nous avons seulement 2 animations à afficher
  • En descendant dans la liste, on voit la seconde animation et l'impression de l'utilisateur est que celle-ci dispqaraît et il n'a pas le temps d'ouvrir et de s'inscrire. L'usager ne pense à aller vérifier sur la carte puisqu'au départ il y a tout.

En réduisant le paramètre 'searchMapZoom' de map.json, ça fonctionne sur mobile mais l'affichage sur PC est un peu trop dézoomé. Serait-il possible d'ajouter un paramettre pour indiquer le seuil de zoom pour mobile ?

@dtrucs dtrucs added the bug Something isn't working label Nov 26, 2024
@dtrucs
Copy link
Collaborator

dtrucs commented Nov 26, 2024

J'ai investigué ce sujet.
Pour contextualiser le layout de la page "recherche", la carte se trouve cachée à droite de la liste et lorsqu'on l'appelle, elle glisse et se superpose sur la liste; et repart à droite lorsqu'on clique sur le bouton retour.

Illustration ci-dessous pour visualiser son positionnement.
image

Ce qui se passe depuis que l'infinite scroll s'active en surveillant le noeud <body> et pour une raison que j'ignore, lorsqu'on scroll cette page, l'évenement "moveend" de Leaflet s'enclenche et ceci uniquement sur les appareils Android (constaté à ce jour).

Dès que cette événement s'active, la recherche se filtre avec les éléments visibles sur la carte (si la configuration enableSearchByMap du Geotrek Rando est défini à true).

Lorsque je change le sytème d'apparition/disparition de la carte via des display:block/display:none, outre le fait que l'on perde l'animation de transition, l'événement moveend n'est pas enclenché et donc bug résolu.

Cependant je dois investiguer davantage car avec cette modification et au clique sur le bouton "Retour sur la liste" depuis la carte, cela clique également sur le logo du site et on se retrouve sur la page d'accueil (constaté sur Firefox mais pas Chrome).

@dtrucs
Copy link
Collaborator

dtrucs commented Nov 27, 2024

Le changement s'est effectivement produit depuis qu'on a transféré la barre de defilement de la "liste des fiches" au document.
Cela change le comportement sur les navigateurs android car désormais en scrollant la barre supérieure du navigateur (contenant la barre d'addresse, les favoris, etc.) se cache (voir illustration ci-dessous)

image

La conséquence est que la hauteur de la page change.
La carte est dimensionnée pour occuper toute la hauteur disponible, donc lorsque sa taille change, cela déclenche l'événement "moveend".

Dans le correctif ci-dessus, lorsque la carte est "cachée", elle occupe la même hauteur du "device" et lorsqu'elle est appelée elle prend la taille disponible.

@dtrucs
Copy link
Collaborator

dtrucs commented Nov 27, 2024

Corrigé dans la v3.24.1

@dtrucs dtrucs closed this as completed Nov 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants