feat(web-ui): unify SwarmDeckies into DeckyFleet with swarm card mode
DeckyFleet now branches on /system/deployment-mode: in swarm mode it pulls /swarm/deckies and normalises DeckyShardView into the shared Decky shape so the same card grid renders either way. Swarm cards gain a host badge (host_name @ address), a state pill (running/degraded/ tearing_down/failed/teardown_failed with matching colors), an inline last_error snippet, and a two-click arm/commit Teardown button lifted from the old SwarmDeckies component. Mutate + interval controls are hidden in swarm mode since the worker /mutate endpoint still 501s — swarm-side rotation is a separate ticket. Drops the standalone /swarm/deckies route + nav entry; SwarmDeckies.tsx is deleted. The SWARM nav group keeps SwarmHosts, Remote Updates, and Agent Enrollment.
This commit is contained in:
@@ -11,7 +11,6 @@ import Config from './components/Config';
|
||||
import Bounty from './components/Bounty';
|
||||
import RemoteUpdates from './components/RemoteUpdates';
|
||||
import SwarmHosts from './components/SwarmHosts';
|
||||
import SwarmDeckies from './components/SwarmDeckies';
|
||||
import AgentEnrollment from './components/AgentEnrollment';
|
||||
|
||||
function isTokenValid(token: string): boolean {
|
||||
@@ -70,7 +69,6 @@ function App() {
|
||||
<Route path="/config" element={<Config />} />
|
||||
<Route path="/swarm-updates" element={<RemoteUpdates />} />
|
||||
<Route path="/swarm/hosts" element={<SwarmHosts />} />
|
||||
<Route path="/swarm/deckies" element={<SwarmDeckies />} />
|
||||
<Route path="/swarm/enroll" element={<AgentEnrollment />} />
|
||||
<Route path="*" element={<Navigate to="/" replace />} />
|
||||
</Routes>
|
||||
|
||||
Reference in New Issue
Block a user