From ee69c62adc5943a1dbd154df5142c0e726bdd317 Mon Sep 17 00:00:00 2001
From: Ariel Costas Guerrero <ariel@costas.dev>
Date: Fri, 13 Mar 2026 16:49:10 +0100
Subject: feat(routes): add realtime estimates panel with pattern-aware styling

- New GET /api/stops/estimates endpoint (nano mode: tripId, patternId, estimate, delay only)
- useStopEstimates hook wiring estimates to routes-$id stop panel
- Pattern-aware styling: dim schedules and estimates from other patterns
- Past scheduled departures shown with strikethrough instead of hidden
- Persist selected pattern in URL hash (replace navigation, no history push)
- Fix planner arrivals using new estimates endpoint
---
 src/frontend/app/components/stop/StopMapModal.tsx | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

(limited to 'src/frontend/app/components/stop/StopMapModal.tsx')

diff --git a/src/frontend/app/components/stop/StopMapModal.tsx b/src/frontend/app/components/stop/StopMapModal.tsx
index 30ac63f..8d3c6f8 100644
--- a/src/frontend/app/components/stop/StopMapModal.tsx
+++ b/src/frontend/app/components/stop/StopMapModal.tsx
@@ -15,14 +15,13 @@ import "./StopMapModal.css";
 export interface Position {
   latitude: number;
   longitude: number;
-  orientationDegrees: number;
-  shapeIndex?: number;
+  orientationDegrees?: number | null;
+  shapeIndex?: number | null | undefined;
 }
 
 export interface ConsolidatedCirculationForMap {
   id: string;
   currentPosition?: Position;
-  stopShapeIndex?: number;
   colour: string;
   textColour: string;
   shape?: any;
-- 
cgit v1.3

