Skip to content

Construire la liste complète « Voir tout » d'une section de la sheet (E-04) #62

Closed

Description

@IlanAMG

Contexte

Epic : #8
Prérequis : #125, thème NativeWind généré depuis tokens.json et composants de base
Maquette : E-04 · validée le 2026-09-23
Ecrans · E-04 · D-003 · maquette : #79
Requalifié par D-003 : la vue liste et la bascule carte / liste sont supprimées. La bottom sheet remontée est organisée en sections (titre, sous-titre, « Voir tout », carrousel) ; « Voir tout » ouvre la liste complète d'une section et porte le tri.

Comportement attendu

  • Écran « Voir tout » ouvert depuis le lien « Voir tout » d'une section de la sheet (E-04) : en-tête avec le titre de la section et « N parcours », sélecteur de tri (recommandé, distance, durée, note), liste FlashList de RouteCard, défilement infini par curseur.
  • Même store discovery : zone et filtres partagés avec la sheet ; l'ouverture ne relance pas la requête de zone, seuls le tri et la pagination interrogent l'API.
  • Sans position : tri recommandé sans composante de proximité, message discret.
  • Retour à la sheet au cran précédent, section et position de défilement conservées.
  • Analytics : view_switched devient sans objet (page Analytics à mettre à jour côté DESIGN) ; événement d'ouverture de section à définir avec la planche Design — E-04 sheet en sections et Voir tout #79.
  • Mouvement (D-030, Direction-Artistique › Mouvement, mappings.motion) : M-03, page poussée, la page quittée recule d'un tiers.
  • Budget (D-032, Orchestration) : « ≈ 25 € par pers. », jamais « env. » ; somme des coûts arrondie à 5 €, « ≈ 5 € » pour un petit montant, « Gratuit » si elle est nulle ; plus de fourchette. Lecteur d'écran : « environ 25 euros par personne ».

Critères d'acceptation

  • « Voir tout » affiche tous les parcours de la section dans l'ordre du tri choisi, les premiers identiques au carrousel de la section
  • Défilement infini fluide sur 200 cards
  • Le retour à la sheet conserve la section et le cran
  • États couverts et conformes à Ecrans › E-04 : chargement, vide, erreur, sans position
  • Hors connexion : le cache persisté est affiché avec « Résultats du … » horodaté ; sans cache, « Pas de connexion » et un bouton Réessayer
  • Accessibilité (Direction-Artistique) : texte système à 150 % sans troncature des textes essentiels, contrastes AA texte et 3:1 composants, libellés VoiceOver sur tous les contrôles
  • Pilule de tri (36 px, icône tri, libellé du tri courant, chevron) : composant de base dans apps/mobile/src/ui, texte en <Text isDense> (plafond 1,3, mappings.accessibility.denseComponents)
  • Pagination : curseur, page suivante sans doublon ni saut, indicateur de chargement en bas de liste, fin de liste explicite
  • Couleurs, tailles, icônes et pastilles lues dans tokens.json (mappings.placeCategories, mappings.filterIcons, mappings.badges), aucune valeur en dur (D-015)
  • Point d'ambiance lu dans mappings.moodDots de tokens.json, par la clé d'ambiance. Le code suit tokens.json, pas les maquettes, qui gardent l'ancien vert du point Nature jusqu'au prochain réexport (D-016)
  • Pastille « Nouveau » à la place de la note tant que le parcours n'a aucun avis, et sceau certifié après le prénom sur la ligne créateur (D-023)
  • Icônes d'interface lues par leur nom dans mappings.uiIcons de tokens.json, aucune icône choisie en dur (D-025)
  • Durées, courbes et vibrations lues dans mappings.motion de tokens.json, aucune valeur en dur ; « Réduire les animations » respecté (D-030)
  • Budget affiché « ≈ 25 € par pers. », « ≈ 5 € » pour un petit montant ou « Gratuit » quand la somme est nulle, sans fourchette, et lu « environ 25 euros par personne »

Activity

  1. added this to the v0.2 milestone on Sep 21, 2026
  2. added
    type:featureNouvelle fonctionnalité
    status:readySpec complète, prêt à coder
    needs-designQuestion ou maquette à produire en mode DESIGN
    and removed
    status:readySpec complète, prêt à coder
    on Sep 21, 2026
  3. changed the title [-]Ajouter la vue liste et la bascule carte / liste sur l'accueil (E-01)[/-] [+]Construire la liste complète « Voir tout » d'une section de la sheet (E-04)[/+] on Sep 22, 2026
  4. added
    status:readySpec complète, prêt à coder
    and removed
    needs-designQuestion ou maquette à produire en mode DESIGN
    on Sep 23, 2026
  5. PaulThiberville commented on Sep 25, 2026

    @PaulThiberville
    Collaborator

    🔨 Démarrage — plan :

    • Branche issue/62-see-all-section, empilée sur feat(mobile): afficher les résultats dans la sheet à trois crans #152 (issue/28-results-sheet).
    • Onglet Accueil en pile (native stack) : la sheet reste montée sous « Voir tout », le retour retrouve le cran, la section et le défilement ; transition M-03 (ios_from_right sur Android, fondu avec « Réduire les animations »).
    • Sheet : en-tête de section avec le lien « Voir tout ». Sections sans source de données aujourd'hui (météo Afficher la section météo de la sheet #31, recommandation Calculer le score de recommandation « autour de moi » côté API #63, Signature sans filtre API) omises, choix écrit dans la PR.
    • Écran « Voir tout » : en-tête, ligne épinglée (nombre + pilule de tri, composant de base ui), sheet « Trier par » (M-05), FlashList de RouteCard en variante liste (tag public), pages par curseur, dédoublonnage, anneau en bas, états chargement/vide/erreur/hors connexion/sans position.
    • Première page du tri recommandé = résultats déjà en mémoire (aucune requête de zone à l'ouverture) ; seuls le tri et la pagination interrogent l'API.
    • Tri par distance calculé sur l'appareil : Securite-et-RGPD interdit d'envoyer la position au serveur (near).
  6. IlanAMG commented on Oct 13, 2026

    @IlanAMG
    MemberAuthor

    Chef de projet (point du 2026-10-13) : colonne À review → À déployer : ticket fermé par le merge, la colonne n'avait pas suivi. Il passe en Terminés après vérification en staging par Ilan ou Paul.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions