diff --git a/decnet_web/src/components/AgentEnrollment.tsx b/decnet_web/src/components/AgentEnrollment.tsx index f5384166..aeff26d5 100644 --- a/decnet_web/src/components/AgentEnrollment.tsx +++ b/decnet_web/src/components/AgentEnrollment.tsx @@ -91,9 +91,14 @@ const AgentEnrollment: React.FC = () => { const ss = (remainingSecs % 60).toString().padStart(2, '0'); return ( -
-
-

Agent Enrollment

+
+
+
+

AGENT ENROLLMENT

+ + issue a one-shot bootstrap URL for a new swarm worker + +
{!result ? ( diff --git a/decnet_web/src/components/RemoteUpdates.tsx b/decnet_web/src/components/RemoteUpdates.tsx index f294388f..05215ba4 100644 --- a/decnet_web/src/components/RemoteUpdates.tsx +++ b/decnet_web/src/components/RemoteUpdates.tsx @@ -166,29 +166,21 @@ const RemoteUpdates: React.FC = () => { } return ( -
-
-
- -

REMOTE UPDATES — WORKER FLEET

+
+
+
+

REMOTE UPDATES

+ + push updater bundles to enrolled workers · {hosts.length} WORKER{hosts.length === 1 ? '' : 'S'} +
diff --git a/decnet_web/src/components/Swarm.css b/decnet_web/src/components/Swarm.css index 269e2b44..e52cc919 100644 --- a/decnet_web/src/components/Swarm.css +++ b/decnet_web/src/components/Swarm.css @@ -1,16 +1,34 @@ -.dashboard-header { +.swarm-root .page-header { display: flex; - align-items: center; + align-items: flex-end; justify-content: space-between; + gap: 24px; + padding-bottom: 16px; margin-bottom: 24px; + border-bottom: 1px solid var(--panel-border); } -.dashboard-header h1 { +.swarm-root .page-title-group { + display: flex; + flex-direction: column; + gap: 6px; +} + +.swarm-root .page-header h1 { display: flex; align-items: center; - gap: 12px; - font-size: 1.4rem; - letter-spacing: 2px; + gap: 10px; + font-size: 1.3rem; + letter-spacing: 4px; + font-weight: 700; + margin: 0; + color: var(--matrix); +} + +.swarm-root .page-sub { + font-size: 0.7rem; + opacity: 0.5; + letter-spacing: 1px; } .panel { diff --git a/decnet_web/src/components/SwarmHosts.tsx b/decnet_web/src/components/SwarmHosts.tsx index d9f0634a..5f054972 100644 --- a/decnet_web/src/components/SwarmHosts.tsx +++ b/decnet_web/src/components/SwarmHosts.tsx @@ -90,12 +90,19 @@ const SwarmHosts: React.FC = () => { } }; + const online = hosts.filter((h) => h.status === 'online').length; + return ( -
-
-

SWARM Hosts

+
+
+
+

SWARM HOSTS

+ + {loading ? 'LOADING…' : `${hosts.length} ENROLLED · ${online} ONLINE`} + +