import { useLatest } from '../hooks/useApi' function fmt(v, unit) { if (v == null) return '—' return `${Number(v).toFixed(1)} ${unit}` } function timeAgo(iso) { if (!iso) return '—' const diff = Date.now() - new Date(iso).getTime() const sec = Math.floor(diff / 1000) if (sec < 60) return `${sec}s ago` const min = Math.floor(sec / 60) if (min < 60) return `${min}m ago` const hr = Math.floor(min / 60) return `${hr}h ago` } export default function NodePopup({ node }) { const { reading } = useLatest(node.mesh_node_id) return (