From b2ddc0ef449ccbe7f0d33e539ccdfc1baef04e2c Mon Sep 17 00:00:00 2001 From: Ariel Costas Guerrero Date: Sun, 28 Dec 2025 18:21:17 +0100 Subject: Get favourite stops from OTP instead of pre-generated file --- src/frontend/app/routes/favourites.tsx | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) (limited to 'src/frontend/app/routes/favourites.tsx') diff --git a/src/frontend/app/routes/favourites.tsx b/src/frontend/app/routes/favourites.tsx index deb3629..c05ab11 100644 --- a/src/frontend/app/routes/favourites.tsx +++ b/src/frontend/app/routes/favourites.tsx @@ -27,10 +27,11 @@ export default function Favourites() { // Load favourite stops const favouriteIds = StopDataProvider.getFavouriteIds(); - const allStops = await StopDataProvider.getStops(); - const favStops = allStops.filter((stop) => - favouriteIds.includes(stop.stopId) - ); + const stopsMap = await StopDataProvider.fetchStopsByIds(favouriteIds); + const favStops = favouriteIds + .map((id) => stopsMap[id]) + .filter(Boolean) + .map((stop) => ({ ...stop, favourite: true })); setFavouriteStops(favStops); } catch (error) { console.error("Error loading favourites:", error); @@ -190,14 +191,10 @@ function SpecialPlaceCard({ {icon}
-

- {label} -

+

{label}

{place ? (
-

- {place.name} -

+

{place.name}

{place.type === "stop" && place.stopId && (

({place.stopId})

)} @@ -283,15 +280,20 @@ function FavouriteStopItem({ ★ - ({stop.stopId}) + ({stop.stopCode || stop.stopId})
{StopDataProvider.getDisplayName(stop)}
- {stop.lines?.slice(0, 6).map((line) => ( - + {stop.lines?.slice(0, 6).map((lineObj) => ( + ))} {stop.lines && stop.lines.length > 6 && ( -- cgit v1.3