From 1176de08bd7800ab1493c2b8a609acfaf48ffa28 Mon Sep 17 00:00:00 2001 From: iris Date: Fri, 11 Sep 2026 22:35:44 +0200 Subject: [PATCH] swarm-ui/agents: move the split-out agent-page files into pages/agents/ mara, PR review: "make agentspage a subdir now that its split into sub components". AgentsPage.tsx/.css, AgentCard.tsx/.css, AgentTypes.ts, and WantedMenu.tsx move as a family into their own pages/agents/ directory; CreateAgentForm and LinkMatrixAccountForm stay in pages/ since they aren't part of this split (CreateAgentForm is still rendered inside AgentsPage's own dialog but is a standalone, independently-named form, not one of the pieces carved out of the page itself). Pure move: relative imports within the new pages/agents/ family are unchanged (they were always siblings), only the ones reaching back out to ui/ and the two forms above gained one more '../', plus App.tsx's route import. --- frontend/packages/swarm-ui/src/App.tsx | 2 +- .../src/pages/{ => agents}/AgentCard.css | 0 .../src/pages/{ => agents}/AgentCard.tsx | 4 ++-- .../src/pages/{ => agents}/AgentTypes.ts | 0 .../src/pages/{ => agents}/AgentsPage.css | 0 .../src/pages/{ => agents}/AgentsPage.tsx | 22 +++++++++---------- .../src/pages/{ => agents}/WantedMenu.tsx | 0 7 files changed, 14 insertions(+), 14 deletions(-) rename frontend/packages/swarm-ui/src/pages/{ => agents}/AgentCard.css (100%) rename frontend/packages/swarm-ui/src/pages/{ => agents}/AgentCard.tsx (96%) rename frontend/packages/swarm-ui/src/pages/{ => agents}/AgentTypes.ts (100%) rename frontend/packages/swarm-ui/src/pages/{ => agents}/AgentsPage.css (100%) rename frontend/packages/swarm-ui/src/pages/{ => agents}/AgentsPage.tsx (97%) rename frontend/packages/swarm-ui/src/pages/{ => agents}/WantedMenu.tsx (100%) diff --git a/frontend/packages/swarm-ui/src/App.tsx b/frontend/packages/swarm-ui/src/App.tsx index 8255a61c..99380be6 100644 --- a/frontend/packages/swarm-ui/src/App.tsx +++ b/frontend/packages/swarm-ui/src/App.tsx @@ -2,7 +2,7 @@ // page component under `./pages/`; this file just maps paths to them. import { Route, Switch } from "wouter-preact"; import { Shell } from "./shell/Shell.js"; -import { AgentsPage } from "./pages/AgentsPage.js"; +import { AgentsPage } from "./pages/agents/AgentsPage.js"; import { ComponentsPage } from "./pages/ComponentsPage.js"; import { JobsPage } from "./pages/JobsPage.js"; import { HivesPage } from "./pages/HivesPage.js"; diff --git a/frontend/packages/swarm-ui/src/pages/AgentCard.css b/frontend/packages/swarm-ui/src/pages/agents/AgentCard.css similarity index 100% rename from frontend/packages/swarm-ui/src/pages/AgentCard.css rename to frontend/packages/swarm-ui/src/pages/agents/AgentCard.css diff --git a/frontend/packages/swarm-ui/src/pages/AgentCard.tsx b/frontend/packages/swarm-ui/src/pages/agents/AgentCard.tsx similarity index 96% rename from frontend/packages/swarm-ui/src/pages/AgentCard.tsx rename to frontend/packages/swarm-ui/src/pages/agents/AgentCard.tsx index fcf04a0c..e1ea8803 100644 --- a/frontend/packages/swarm-ui/src/pages/AgentCard.tsx +++ b/frontend/packages/swarm-ui/src/pages/agents/AgentCard.tsx @@ -14,8 +14,8 @@ // `onClick` and opening the detail panel. import { Badge } from "@hive/shared/badge.js"; import type { ProblemDetails } from "@hive/shared/api-error.js"; -import { Card } from "../ui/card/Card.js"; -import { RelativeTime } from "../ui/relative-time/RelativeTime.js"; +import { Card } from "../../ui/card/Card.js"; +import { RelativeTime } from "../../ui/relative-time/RelativeTime.js"; import { FRESHNESS, type AgentRow } from "./AgentTypes.js"; import { WantedMenu } from "./WantedMenu.js"; import "./AgentCard.css"; diff --git a/frontend/packages/swarm-ui/src/pages/AgentTypes.ts b/frontend/packages/swarm-ui/src/pages/agents/AgentTypes.ts similarity index 100% rename from frontend/packages/swarm-ui/src/pages/AgentTypes.ts rename to frontend/packages/swarm-ui/src/pages/agents/AgentTypes.ts diff --git a/frontend/packages/swarm-ui/src/pages/AgentsPage.css b/frontend/packages/swarm-ui/src/pages/agents/AgentsPage.css similarity index 100% rename from frontend/packages/swarm-ui/src/pages/AgentsPage.css rename to frontend/packages/swarm-ui/src/pages/agents/AgentsPage.css diff --git a/frontend/packages/swarm-ui/src/pages/AgentsPage.tsx b/frontend/packages/swarm-ui/src/pages/agents/AgentsPage.tsx similarity index 97% rename from frontend/packages/swarm-ui/src/pages/AgentsPage.tsx rename to frontend/packages/swarm-ui/src/pages/agents/AgentsPage.tsx index ef8dbf8c..6ed2fb62 100644 --- a/frontend/packages/swarm-ui/src/pages/AgentsPage.tsx +++ b/frontend/packages/swarm-ui/src/pages/agents/AgentsPage.tsx @@ -32,21 +32,21 @@ import { Badge } from "@hive/shared/badge.js"; import { LinkIcon } from "@hive/shared/icons.js"; import { AgentCard } from "./AgentCard.js"; import { FRESHNESS, type AgentRow } from "./AgentTypes.js"; -import { Button } from "../ui/button/Button.js"; -import { ConfirmDialog } from "../ui/confirm-dialog/ConfirmDialog.js"; -import { Dialog } from "../ui/dialog/Dialog.js"; -import { FilterableView } from "../ui/filterable-view/FilterableView.js"; -import { Panel } from "../ui/panel/Panel.js"; -import { RelativeTime } from "../ui/relative-time/RelativeTime.js"; +import { Button } from "../../ui/button/Button.js"; +import { ConfirmDialog } from "../../ui/confirm-dialog/ConfirmDialog.js"; +import { Dialog } from "../../ui/dialog/Dialog.js"; +import { FilterableView } from "../../ui/filterable-view/FilterableView.js"; +import { Panel } from "../../ui/panel/Panel.js"; +import { RelativeTime } from "../../ui/relative-time/RelativeTime.js"; import { RefreshIntervalPicker, useRefreshInterval, type RefreshIntervalMs, -} from "../ui/refresh-interval/RefreshInterval.js"; -import { SplitView } from "../ui/split-view/SplitView.js"; -import { type TableColumn } from "../ui/table/Table.js"; -import { CreateAgentForm } from "./CreateAgentForm.js"; -import { LinkMatrixAccountForm } from "./LinkMatrixAccountForm.js"; +} from "../../ui/refresh-interval/RefreshInterval.js"; +import { SplitView } from "../../ui/split-view/SplitView.js"; +import { type TableColumn } from "../../ui/table/Table.js"; +import { CreateAgentForm } from "../CreateAgentForm.js"; +import { LinkMatrixAccountForm } from "../LinkMatrixAccountForm.js"; import { WantedMenu } from "./WantedMenu.js"; import "./AgentsPage.css"; diff --git a/frontend/packages/swarm-ui/src/pages/WantedMenu.tsx b/frontend/packages/swarm-ui/src/pages/agents/WantedMenu.tsx similarity index 100% rename from frontend/packages/swarm-ui/src/pages/WantedMenu.tsx rename to frontend/packages/swarm-ui/src/pages/agents/WantedMenu.tsx