Commit of Current Status

This commit is contained in:
Denis Urs Rudolph
2025-12-11 20:58:10 +01:00
parent d492352d50
commit 6de23e0e77
10 changed files with 827 additions and 58 deletions

18
lib/utils.ts Normal file
View File

@@ -0,0 +1,18 @@
import { Vehicle } from "./api";
export function getVehicleDisplayStatus(vehicle: Vehicle): 'Online' | 'Offline' | 'Updating' | string {
// Calculate status: Offline if no heartbeat for 5s
let lastHeartbeatStr = vehicle.lastHeartbeat;
// Fix timezone if missing Z
if (!lastHeartbeatStr.endsWith('Z')) {
lastHeartbeatStr += 'Z';
}
const lastHeartbeatDate = new Date(lastHeartbeatStr);
const diffMs = Date.now() - lastHeartbeatDate.getTime();
let displayStatus = vehicle.status;
if (displayStatus === 'Online' && diffMs > 5000) {
displayStatus = 'Offline';
}
return displayStatus;
}