diff --git a/src/components/admin/machines/admin-machines-overview.tsx b/src/components/admin/machines/admin-machines-overview.tsx index 7372d4d..3f75ac1 100644 --- a/src/components/admin/machines/admin-machines-overview.tsx +++ b/src/components/admin/machines/admin-machines-overview.tsx @@ -993,6 +993,17 @@ export function MachineDetails({ machine }: MachineDetailsProps) { const metadata = machine?.inventory ?? null const metrics = machine?.metrics ?? null const metricsCapturedAt = useMemo(() => getMetricsTimestamp(metrics), [metrics]) + // Live refresh the relative time label every second when we have a capture timestamp + const [relativeTick, setRelativeTick] = useState(0) + useEffect(() => { + if (!metricsCapturedAt) return + const id = setInterval(() => setRelativeTick((t) => t + 1), 1000) + return () => clearInterval(id) + }, [metricsCapturedAt]) + const lastUpdateRelative = useMemo( + () => (metricsCapturedAt ? formatRelativeTime(metricsCapturedAt) : null), + [metricsCapturedAt, relativeTick] + ) const hardware = metadata?.hardware const network = metadata?.network ?? null const networkInterfaces = Array.isArray(network) ? network : null @@ -1547,9 +1558,9 @@ export function MachineDetails({ machine }: MachineDetailsProps) {

Métricas recentes

- {metricsCapturedAt ? ( + {lastUpdateRelative ? ( - Última atualização {formatRelativeTime(metricsCapturedAt)} + Última atualização {lastUpdateRelative} ) : null}