feat: sort bus services by estimated arrival time in arrival response

This commit is contained in:
2026-06-09 22:04:22 +08:00
parent 18bc2b3ace
commit b7274c1d8c
+7 -1
View File
@@ -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})`);