import { useEffect, useState } from 'react'; import { Link } from 'wouter'; import { api, NodeStatusV2, fmtBytes } from '../lib/api'; import { StatTile } from '../components/StatTile'; import { ShutdownPrepPanel } from '../components/ShutdownPrepPanel'; interface Props { name: string; } export function NodeDetail({ name }: Props) { const [status, setStatus] = useState(null); const [err, setErr] = useState(null); useEffect(() => { api .nodeStatus(name) .then((n) => { setStatus(n); setErr(null); }) .catch((e) => setErr(String(e))); }, [name]); return (
← fleet

{name}

{err && (
{err}
Cross-node lookup lands in a follow-on PR. Until then this page shows detail only when you're already viewing the dashboard hosted by {name}. Try opening{' '} http://{name}:7700/v2/#/nodes/{name}{' '} directly.
)} {status && ( <>
blob store root
{status.blob_store_root ?? '—'}
)}
); }