"use client"; import { useEffect, useState } from "react"; import { fetchClient } from "@/lib/api-client"; interface Status { uptimeSeconds: number; memory: Record; versions: Record; counts: { vendors: number; orders: number; products: number; chats: number }; } function formatDuration(seconds: number) { const h = Math.floor(seconds / 3600); const m = Math.floor((seconds % 3600) / 60); const s = seconds % 60; return `${h}h ${m}m ${s}s`; } export default function SystemStatusCard() { const [data, setData] = useState(null); const [error, setError] = useState(null); useEffect(() => { let mounted = true; (async () => { try { const res = await fetchClient("/admin/system-status"); if (mounted) setData(res); } catch (e: any) { if (mounted) setError(e?.message || "Failed to load status"); } })(); return () => { mounted = false; }; }, []); return (

System status

Uptime, versions, environment

OK
{error &&

{error}

} {data && (
Uptime
{formatDuration(data.uptimeSeconds)}
Node
{data.versions?.node}
Vendors
{data.counts?.vendors}
Orders
{data.counts?.orders}
)}
); }