Twoja trasa
nazwa trasy w kodzie: RoutePreview
Jak tu trafić / dokąd stąd
Dział zatytułowany „Jak tu trafić / dokąd stąd”Wejścia
Dział zatytułowany „Wejścia”| Wejścia | kind | Kontrolka |
|---|---|---|
| Kreator trasy — start i czas | navigate | — |
Wyjścia
Dział zatytułowany „Wyjścia”| Wyjścia | kind | Kontrolka |
|---|---|---|
| Przed startem wycieczki | navigate | — |
Zdolności na tym ekranie
Dział zatytułowany „Zdolności na tym ekranie”| Zdolność | Status | Dowód | ADO |
|---|---|---|---|
| Oś czasu trasy: pobyt i dojście dla każdego przystanku, jeden przystanek szczytowy, chipy biletu i tłumu | działa | e2eRoutePreview.routeTimeline ✓e2e RoutePreview.stopRow ✓RNTL RoutePreviewScreen.test.tsx ✓RNTL RoutePreviewScreen.test.tsx ✓RNTL RoutePreviewScreen.test.tsx ✓ | — |
| Szczegóły przystanku w arkuszu: opis, alternatywy do zamiany z przeliczeniem czasów; szczyt i posiłki są zablokowane | częściowo | e2eRoutePreview.stopDetailSheet ✓RNTL RoutePreview.detailSwap ✓RNTL RoutePreviewScreen.test.tsx ✓RNTL RoutePreviewScreen.test.tsx ✓RNTL RoutePreviewScreen.test.tsx ✓ | #219 (Active) |
| Zamiana kilku przystanków naraz: długie przytrzymanie wybiera, regeneracja pomija wybrane | działa | RNTLRoutePreview.swapSelected ✓RNTL RoutePreview.stopCheck ·RNTL RoutePreviewScreen.test.tsx ✓RNTL RoutePreviewScreen.test.tsx ✓ | — |
| Zapis trasy dla zalogowanych (z punktem startu); gość dostaje prośbę o logowanie | działa | e2eRoutePreview.saveRoute ✓e2e RoutePreview.saveSigninPrompt ✓RNTL RoutePreviewScreen.test.tsx ✓RNTL RoutePreviewScreen.test.tsx ✓API toursSave.test.ts ✓ | — |
| Start wycieczki z podglądu; gdy godzina startu ma ponad 30 minut, aplikacja pyta przed startem | działa | RNTLRoutePreviewScreen.test.tsx ✓RNTL RoutePreviewScreen.test.tsx ✓ | — |
Kontrolki
Dział zatytułowany „Kontrolki”| Kontrolka | Etykieta | element | Dowód (ostatni zielony build) |
|---|---|---|---|
save-signin-prompt | bez etykiety | ThemedAlert.alert | RNTL×2 e2e×3 |
route-timeline | bez etykiety | ScrollView | e2e×1 |
stop-row-* (dynamiczny) | bez etykiety | Pressable | RNTL×7 e2e×2 |
stop-check-* (dynamiczny) | bez etykiety | Ionicons | brak dowodu |
swap-select-cancel | Anuluj | Button | brak dowodu |
swap-selected | Zamień zaznaczone ({{count}}) | Button | RNTL×1 |
save-route | Zapisano | Button | e2e×2 |
stop-detail-sheet | bez etykiety | View | RNTL×2 e2e×1 |
stop-detail-scroll | bez etykiety | ScrollView | RNTL×1 e2e×1 |
detail-swap | Zamień ten punkt | Button | RNTL×1 |
Kontrolki przypisane jeden poziom w głąb: komponenty współdzielone liczą się do ekranu, który je renderuje bezpośrednio.
Ostatnia zmiana pliku ekranu: 3e651f3 (2026-08-30)