From a475f7db099f754ecdbd4b54e0d3d60c490ccaac Mon Sep 17 00:00:00 2001 From: marthevienne <123016211+marthevienne@users.noreply.github.com> Date: Wed, 10 Dec 2025 19:57:04 +0100 Subject: [PATCH 1/3] fix: getVesselTimeByZone not returned when excursion.arrival_at is undefined --- frontend/app/map/page.tsx | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/frontend/app/map/page.tsx b/frontend/app/map/page.tsx index 6969d5ea..86ec9a05 100644 --- a/frontend/app/map/page.tsx +++ b/frontend/app/map/page.tsx @@ -158,8 +158,18 @@ export default function MapPage() { const timeByMPAZone = await getVesselTimeByZone({ vesselId: vesselID, category: ZoneCategory.AMP, - startAt: startDate ? startDate > new Date(excursion.departure_at) ? new Date(startDate) : new Date(excursion.departure_at) : undefined, - endAt: endDate ? endDate < new Date(excursion.arrival_at!) ? new Date(endDate) : new Date(excursion.arrival_at!) : undefined, + startAt: startDate + ? startDate > new Date(excursion.departure_at) + ? new Date(startDate) + : new Date(excursion.departure_at) + : undefined, + endAt: endDate + ? excursion.arrival_at != undefined + ? endDate < new Date(excursion.arrival_at!) + ? new Date(endDate!) + : new Date(excursion.arrival_at!) + : new Date(endDate!) + : undefined, }) excursion.timeByMPAZone = timeByMPAZone console.log("timeByMPAZone", timeByMPAZone) From 55c9330718468b41a03664a999d3a5d3ce5c58f5 Mon Sep 17 00:00:00 2001 From: marthevienne <123016211+marthevienne@users.noreply.github.com> Date: Mon, 5 Jan 2026 17:43:04 +0100 Subject: [PATCH 2/3] map: revalidate vessels data on mount and reconnect --- frontend/app/map/page.tsx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/frontend/app/map/page.tsx b/frontend/app/map/page.tsx index 86ec9a05..99400ece 100644 --- a/frontend/app/map/page.tsx +++ b/frontend/app/map/page.tsx @@ -61,7 +61,8 @@ export default function MapPage() { fetcher, { revalidateOnFocus: false, - revalidateOnReconnect: false, + revalidateOnReconnect: true, + revalidateOnMount: true, keepPreviousData: true, } ) @@ -151,10 +152,13 @@ export default function MapPage() { for (const excursion of vesselExcursions) { const segments = await getVesselSegments( vesselID, - excursion.excursion_id + excursion.excursion_id, + startDate, + endDate ) excursion.segments = segments.data + console.log(excursion.arrival_at == undefined) const timeByMPAZone = await getVesselTimeByZone({ vesselId: vesselID, category: ZoneCategory.AMP, From bd745336ecac28a9172f19a987d7fd0429b7375d Mon Sep 17 00:00:00 2001 From: marthevienne <123016211+marthevienne@users.noreply.github.com> Date: Mon, 5 Jan 2026 18:04:08 +0100 Subject: [PATCH 3/3] add daterange parameters in getVesselSegments --- frontend/services/backend-rest-client.ts | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/frontend/services/backend-rest-client.ts b/frontend/services/backend-rest-client.ts index 32047bea..dab6e41c 100644 --- a/frontend/services/backend-rest-client.ts +++ b/frontend/services/backend-rest-client.ts @@ -111,8 +111,17 @@ export function getVesselExcursionsExtracts( return axios.get(url) } -export function getVesselSegments(vesselId: string, excursionId: string) { - const url = `${BASE_URL}/vessels/${vesselId}/excursions/${excursionId}/segments` +export function getVesselSegments(vesselId: string, excursionId: string, startDate?: Date, + endDate?: Date) { + let queryParams: string[] = [] + if (startDate) { + queryParams.push(`start_at=${startDate.toISOString()}`) + } + if (endDate) { + // queryParams.push(`end_at=${endDate.toISOString()}`) + queryParams.push(`end_at=${endDate.toISOString()}`) + } + const url = `${BASE_URL}/vessels/${vesselId}/excursions/${excursionId}/segments${queryParams.length > 0 ? `?${queryParams.join("&")}` : ""}` console.log(`GET ${url}`) return axios.get(url) }