Watch
0
0
Fork
You've already forked hyperhive
0
hyperhive/frontend/packages/swarm-ui/src/pages/swarm/SwarmPage.tsx

44 lines
1.5 KiB
TypeScript

// <SwarmPage> — what belongs to the swarm as a whole rather than to one agent:
// the hive roster, the swarm-wide egress allow list and the notification router.
// Each is a card that starts folded and reads nothing until it is opened.
//
// The notification router is marked beta: its card says so beside the title and
// carries a warning banner inside.
import { Badge } from "@hive/shared/badge.js";
import { LazyDisclosure } from "../../ui/disclosure/LazyDisclosure.js";
import { NotificationRouter } from "../notifications/NotificationsPage.js";
import { EgressCard } from "./EgressCard.js";
import { HivesCard } from "./HivesCard.js";
import "./SwarmPage.css";
export function SwarmPage() {
return (
<>
<div class="ui-swarm-card">
<HivesCard />
</div>
<div class="ui-swarm-card">
<EgressCard />
</div>
<div class="ui-swarm-card">
<LazyDisclosure
title="notification router"
icon="🔔"
hint={
<>
<Badge tone="warning" value="beta" /> forge events routed to
agents, as flows
</>
}
>
<p class="ui-swarm-beta" role="note">
<strong>beta:</strong> the notification router is still changing.
Flows, their wording and what they match may change, and a flow you
wrote may need rewriting after an update.
</p>
<NotificationRouter />
</LazyDisclosure>
</div>
</>
);
}