From b7274c1d8cd0db949984c27e612c2f3245de5f82 Mon Sep 17 00:00:00 2001 From: furyhawk Date: Tue, 9 Jun 2026 22:04:22 +0800 Subject: [PATCH] feat: sort bus services by estimated arrival time in arrival response --- src/routes/+page.svelte | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index ca03f52..b2b9704 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -375,7 +375,13 @@ } responseText = JSON.stringify(payload, null, 2); - services = Array.isArray(payload?.Services) ? payload.Services.slice(0, 12) : []; + services = Array.isArray(payload?.Services) + ? payload.Services.slice(0, 12).sort((a, b) => { + const aTime = new Date(a?.NextBus?.EstimatedArrival).getTime(); + const bTime = new Date(b?.NextBus?.EstimatedArrival).getTime(); + return (isNaN(aTime) ? Infinity : aTime) - (isNaN(bTime) ? Infinity : bTime); + }) + : []; if (!response.ok) { throw new Error(`Arrival request failed (${response.status})`);