Repository navigation
Construire la fiche parcours (E-05) #37
Copy link
Copy link
Closed
Labels
area:mobileapps/mobileapps/mobileprio:P0BloquantBloquantstatus:readySpec complète, prêt à coderSpec complète, prêt à codertype:featureNouvelle fonctionnalitéNouvelle fonctionnalité
Milestone
Description
Contexte
Epic : #9
Prérequis : #125, thème NativeWind généré depuis tokens.json et composants de base
Maquette : E-05 · validée le 2026-09-23
Ecrans · E-05 · D-002, D-013, D-014
Comportement attendu
- Carrousel photos, titre, ambiance, public, auteur, badge de vérification, description, bloc d'infos clés, conditions, timeline, étapes avec transitions et horaires du jour, bloc de vérification par étape (lecture seule jusqu'à v0.5), barre d'actions Favori / Programmer / Go (Go ouvre Google Maps sans suivi tant que v0.4 n'est pas livré), Partager, Signaler.
- Pas de carte ni de Google Maps dans la fiche : « Voir sur la carte » ramène à l'accueil avec le parcours sélectionné (E-04) ; Google Maps n'apparaît qu'une fois le parcours lancé (E-07). (D-013)
- États : lieu signalé, étape signalée, parcours privé, Premium sans abonnement, parcours retiré, chargement, erreur ; détail dans les critères. (D-014)
- Événements
route_opened,route_scrolled,route_shared. - Mouvement (D-030, Direction-Artistique › Mouvement,
mappings.motion) : M-01, ouverture depuis la card et fermeture au glissé ; M-10, photo à demi-vitesse au défilement. La card qui s'agrandit en fiche (M-01) se code à la main : les transitions partagées de Reanimated sont expérimentales. Repli accepté : la fiche monte du bas (M-02). - 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
- Fidélité à la maquette validée, captures iOS et Android
- Ouverture sous 500 ms depuis le cache de la liste (données de carte réutilisées)
- États conformes à Ecrans › E-05 : lieu signalé (ligne ambre foncé sous les tuiles, lien « Voir l'étape »), étape signalée (point « ! » sur la pastille, encadré ambre pâle déplié), parcours privé (pastille « Privé » à cadenas, ligne « Partagé par… »), parcours retiré (message, date du retrait, « Voir des parcours proches »), chargement (connu affiché tout de suite, barres grises, sans spinner), erreur (« Impossible de charger le détail du parcours » et Réessayer ; hors connexion, « Hors connexion »)
- Premium sans abonnement : un seul bouton encre « Débloquer avec Premium » à la place de Programmer et C'est parti ; étape 1 complète, étapes suivantes verrouillées (heure, pastille, durée et trajet gardés ; nom et détail remplacés par la catégorie et « Réservé à Premium », cadenas) ; encart « Parcours Premium » après la fin du parcours ; bouton et encart ouvrent E-17
- Pastille Premium (encre à 86 %, couronne dorée, « Premium » en blanc) sur la photo, cumulable avec Vérifié et avec Signature en pastille bleue
- Tuiles d'infos à largeur selon leur contenu (
flexGrow: 1,flexBasis: 'auto') - Note de chaque avis en chiffre après une étoile (« ★ 5 »)
- Tuiles, pastilles sur la photo et barre collée plafonnées à
maxFontSizeMultiplier={1.3}; à 150 %, les deux boutons de la barre restent côte à côte - Ce plafond est posé dans les composants de base de
apps/mobile/src/ui, jamais dans l'écran. La tuile d'infos, la barre collée et le compteur de photos sont des composants de base dont le texte est en<Text isDense>, avec les boutons de la barre enButton isDense; les pastilles Vérifié, Signature et Premium passent parBadge - Libellés et rôles VoiceOver conformes au tableau de Ecrans › E-05 : dialogue « Fiche du parcours {titre} », focus sur le titre à l'ouverture, photos en élément ajustable, étapes en boutons avec état déplié
- 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.moodDotsde tokens.json, par la clé d'ambiance. Le code suittokens.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.uiIconsde tokens.json, aucune icône choisie en dur (D-025) - Durées, courbes et vibrations lues dans
mappings.motionde tokens.json, aucune valeur en dur ; « Réduire les animations » respecté (D-030) - La card s'agrandit en fiche sans transition partagée de Reanimated ; repli accepté, la fiche qui monte du bas
- 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 »
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
area:mobileapps/mobileapps/mobileprio:P0BloquantBloquantstatus:readySpec complète, prêt à coderSpec complète, prêt à codertype:featureNouvelle fonctionnalitéNouvelle fonctionnalité
Activity
feat(mobile): select a route on the map with its tooltip
IlanAMG commentedon Sep 25, 2026
D-048 (https://github.com/Inprogress-Agency/widoo-app/wiki/Design-Changelog) : libellés de trajet par mode (« à pied », « en métro », « à vélo », « en voiture ») au lieu de « à pied » partout ; mention « Lien affilié » près de « Réserver » quand booking_is_affiliate ; « À prévoir » et « Comment venir » si renseignés.
IlanAMG commentedon Sep 25, 2026
D-050 (https://github.com/Inprogress-Agency/widoo-app/wiki/Design-Changelog) : éléments visiteur à dessiner dans #181 (Lien affilié, « Jusqu'au … », crédit des photos, libellés par mode, accès). À intégrer après validation de cette planche.
IlanAMG commentedon Sep 25, 2026
Report de l'éditeur validé le 2026-09-26 (D-052, https://github.com/Inprogress-Agency/widoo-app/wiki/Design-Changelog), maquettes dans la section E-05 de https://github.com/Inprogress-Agency/widoo-app/wiki/Ecrans :
PaulThiberville commentedon Sep 28, 2026
📋 MANAGER — la PR #216 (#153) ouvre la fiche provisoire avec un paramètre
step(1 à n) depuis « Voir plus » d'une étape touchée sur la carte. La fiche E-05 de ce ticket doit reprendre ce paramètre et s'ouvrir à l'étape indiquée (critère « Voir plus ouvre la fiche à l'étape tapée » de #153).feat(mobile): select a route on the map with its tooltip
IlanAMG commentedon Sep 29, 2026
D-072 (https://github.com/Inprogress-Agency/widoo-app/wiki/Design-Changelog) : nouvel encart d'un parcours Premium sur la fiche : achat du parcours seul en direct, lien du pass ; après achat, fiche déployée sur place ; valeurs dans
mappings.premium.routeCard(tokens v34). Maquettes dans E-05.IlanAMG commentedon Sep 29, 2026
D-073 (https://github.com/Inprogress-Agency/widoo-app/wiki/Design-Changelog) : après un déblocage fait sans compte, la fenêtre de connexion (E-10) propose un compte « pour le garder ». Maquettes dans E-05.
IlanAMG commentedon Sep 29, 2026
D-074 (https://github.com/Inprogress-Agency/widoo-app/wiki/Design-Changelog) : en texte agrandi, le bouton « libellé · prix » passe sur deux lignes, le prix dessous, sans le point.
IlanAMG commentedon Sep 29, 2026
Traduction automatique (D-076, #203) : son affichage sur cet écran est livré à part, en v0.5, dans #269. Rien à ajouter ici.
feat(mobile): open the route sheet at a given step
PaulThiberville commentedon Oct 13, 2026
🔨 Démarrage — plan :
Décision de l'opérateur (Paul, 2026-10-13) : la fiche se construit sur le contrat d'API du wiki (
GET /routes/:id,/routes/:id/timeline), l'API elle-même (#36) restant bloquée par #378.packages/shared: schémas Zod de la réponse de la fiche (RouteDetailcomplet : étapes complètes ou verrouillées, vérification, signalements, timeline du jour, créateur, derniers avis, lien privé) et de/timeline, et la réponse 410 d'un parcours retiré.packages/api-client:getRoute(id, { token })etgetRouteTimeline(id, startsAt)typés.demo-routes), transitions estimées par les coefficients depackages/orchestration. Exposer GET /routes/:id et /routes/:id/timeline, stocker computed #36 remplacera le fournisseur par l'API.apps/mobile/src/ui) : tuile d'infos, barre collée, compteur de photos, plafonnés à 1,3.route_scrolledetroute_shared(déjà au catalogue), budget D-032 testé.Une seule PR, plusieurs commits de moins de 400 lignes utiles. Niveau 1.