function classNames(...values) { return values.filter(Boolean).join(' '); } function formatBattery(rover) { const percent = rover?.batteryState?.percentDisplay; if (percent == null) return '--'; return `${percent}%`; } function batteryClass(rover) { if (!rover?.batteryState) return 'text-slate-400'; if (rover.batteryState.urgentActive) return 'text-red-400'; if (rover.batteryState.warnActive) return 'text-amber-300'; return 'text-emerald-300'; } export default function RoverRoster({ title, roster = [], emptyText = 'No roster data.', renderActions = null, }) { return (
{title &&

{title}

} {roster.length === 0 ? (

{emptyText}

) : ( )}
); }