import { Badge } from "@/components/ui/badge" import { Button } from "@/components/ui/button" import { Activity, Pause, Play, Clock, AlertTriangle } from "lucide-react" import { useBedPressureStore } from "@/stores/bedPressureStore" import { useEffect, useState } from "react" export function BedPressureHeader() { const { isMonitoring, setIsMonitoring, sensorData } = useBedPressureStore() const [countdowns, setCountdowns] = useState>({}) // Update countdowns every second useEffect(() => { const interval = setInterval(() => { const newCountdowns: Record = {} const now = Date.now() Object.values(sensorData).forEach(sensor => { if (sensor.status === 'warning' && sensor.warningStartTime && sensor.warningDelayMs) { const elapsed = now - sensor.warningStartTime const remaining = Math.max(0, sensor.warningDelayMs - elapsed) if (remaining > 0) { newCountdowns[sensor.id] = remaining } } }) setCountdowns(newCountdowns) }, 1000) return () => clearInterval(interval) }, [sensorData]) const formatCountdown = (ms: number) => { const minutes = Math.floor(ms / 60000) const seconds = Math.floor((ms % 60000) / 1000) return `${minutes}:${seconds.toString().padStart(2, '0')}` } const warningCountdowns = Object.entries(countdowns).filter(([, time]) => time > 0) return (

Bed Pressure Monitor

{isMonitoring ? "Live" : "Paused"} {/* Warning Countdown Indicators */} {warningCountdowns.length > 0 && (
{warningCountdowns.slice(0, 3).map(([sensorId, timeRemaining]) => { const sensor = sensorData[sensorId] return (
{sensor?.label}
{formatCountdown(timeRemaining)}
) })} {warningCountdowns.length > 3 && ( +{warningCountdowns.length - 3} more )}
)}
) }