Skip to content

Your route

route name in code: RoutePreview

IncomingkindControl
Route builder — start and timenavigate
OutgoingkindControl
Before the tour startsnavigate
CapabilityStatusProofADO
Route timeline: dwell and walk-to-next per stop, exactly one peak stop, ticket and crowd chipsworkse2eRoutePreview.routeTimeline
e2eRoutePreview.stopRow
RNTLRoutePreviewScreen.test.tsx
RNTLRoutePreviewScreen.test.tsx
RNTLRoutePreviewScreen.test.tsx
Stop details in a sheet: description, swap alternatives with recomputed timing; the peak and meals are lockedpartiale2eRoutePreview.stopDetailSheet
RNTLRoutePreview.detailSwap
RNTLRoutePreviewScreen.test.tsx
RNTLRoutePreviewScreen.test.tsx
RNTLRoutePreviewScreen.test.tsx
#219 (Active)
Swapping several stops at once: long-press selects, regeneration excludes the selectionworksRNTLRoutePreview.swapSelected
RNTLRoutePreview.stopCheck ·
RNTLRoutePreviewScreen.test.tsx
RNTLRoutePreviewScreen.test.tsx
Saving the route for signed-in users (with the start point); a guest is asked to sign inworkse2eRoutePreview.saveRoute
e2eRoutePreview.saveSigninPrompt
RNTLRoutePreviewScreen.test.tsx
RNTLRoutePreviewScreen.test.tsx
APItoursSave.test.ts
Starting the tour from the preview; when the start time is over 30 minutes old the app asks firstworksRNTLRoutePreviewScreen.test.tsx
RNTLRoutePreviewScreen.test.tsx
ControlLabelelementProof (last green build)
save-signin-promptno labelThemedAlert.alertRNTL×2 e2e×3
route-timelineno labelScrollViewe2e×1
stop-row-* (dynamic)no labelPressableRNTL×7 e2e×2
stop-check-* (dynamic)no labelIoniconsno proof
swap-select-cancelCancelButtonno proof
swap-selectedSwap selected ({{count}})ButtonRNTL×1
save-routeSavedButtone2e×2
stop-detail-sheetno labelViewRNTL×2 e2e×1
stop-detail-scrollno labelScrollViewRNTL×1 e2e×1
detail-swapSwap this stopButtonRNTL×1

Controls are attributed one level deep: shared components count for the screen that renders them directly.

Last change of the screen file: 3e651f3 (2026-08-30)