feat(etas): mémoriser la direction sélectionnée du drawer d’horaires (par arrêt + ligne) #5
Labels
No labels
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
CyrilLeblanc/gresit#5
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Contexte
Dans la bottom-sheet des horaires, chaque ligne d'un arrêt est un carrousel horizontal (
HorizontalPagerdansui/components/LineRow.kt) : on swipe entre les directions de la ligne. Exemple : à l'arrêt Victor Hugo, ligne C11, une page pour la direction « Lumbin », une page pour l'autre direction.Aujourd'hui le
pagerStaterepart toujours à la page 0 à chaque ouverture/relance. Conséquence : sur un trajet quotidien, il faut re-swiper sur la bonne direction à chaque fois.Comportement attendu
(stopId/clusterId, lineId)→ direction préférée.Stratégie de rappel retenue : dernière direction vue — une seule valeur par (arrêt, ligne), écrasée à chaque swipe.
⚠️ Limite acceptée : sur une ligne utilisée dans les deux sens (aller/retour quotidien), la valeur flip d'un jour à l'autre → il restera un swipe aux alternances. Couvre néanmoins la majorité des cas (lignes à un seul sens, ou usage répété du même sens).
Pistes d'implémentation
LineRow.kt:rememberPagerState(pageCount = { groups.size })démarre à 0 → lui passer la page mémorisée commeinitialPage, et persisterpagerState.currentPage(viasnapshotFlow { currentPage }ouLaunchedEffect) dans le store.destinationcorrespond.Critères d'acceptation