import React from 'react'; import { useSessionSelector } from '../../../context/SessionContext.jsx'; import { useTelemetryFrame } from '../../../context/TelemetryContext.jsx'; import { buildBatteryVisual } from '../../../lib/battery.js'; import BatteryBar from '../../BatteryBar/index.jsx'; function VerticalBatteryOverlay({ show = false, roverId = null, sensors, batteryConfig, mobileHud = false }) { const frame = useTelemetryFrame(roverId); const rosterBatteryConfig = useSessionSelector((state) => { if (!roverId) return null; const roster = state.session?.roster || []; const rover = roster.find((entry) => String(entry.id) === String(roverId)); return rover?.battery ?? null; }); const resolvedSensors = sensors ?? frame?.sensors ?? null; const resolvedBatteryConfig = batteryConfig ?? rosterBatteryConfig; const batteryVisual = buildBatteryVisual({ charge: resolvedSensors?.batteryChargeMah ?? null, config: resolvedBatteryConfig, }); if (!show || !batteryVisual?.available) return null; return (