Rebar UI

1.0

opinionnew

AgentWall

A paged wall of agent and service tiles with search and a status filter.

Tideline crewAgents and services; use the button to stop the sync service and watch its tile fail
Tideline crew
ScribeActive Now
Harbour rebrand > Tasks
Drafting the launch checklist.
PlannerActive Now
Tideline mobile > Files
Reading the crew interview notes.
CourierActive Now
Crew interviews > Tasks
Comparing two signage quotes.
AuditorGhost
Rota export > Files
LinkerActive Now
Depot signage > Tasks
Waiting on the rota data.
TaggerActive Now
Harbour rebrand > Files
Checking the palette against the brand guide.
SorterActive Now
Tideline mobile > Tasks
Drafting the launch checklist.
WatcherStalled
Crew interviews > Files
Reading the crew interview notes.
MapperActive Now
Rota export > Tasks
Comparing two signage quotes.
NudgerIdle 30mins
Depot signage > Files
Summarising the week for Maya.
PackerGhost
Harbour rebrand > Tasks
RunnerActive Now
Tideline mobile > Files
Checking the palette against the brand guide.
Sync serviceActive Now
Tideline mobile
Sync service: heartbeat ok
Export workerActive Now
Rota export
Export worker: heartbeat ok
Single tile
ScribeActive Now
Harbour rebrand > Tasks
Drafting the launch checklist.
Empty

No agents are running.

One service failing
Sync serviceNot responding
Tideline mobile
Sync service: no heartbeat

In context

OperationsA compact wall in a card, dimming what the filter hides
Running nowRota export and Harbour launch
10 active
ScribeActive Now
Harbour rebrand > Tasks
Drafting the launch checklist.
PlannerActive Now
Tideline mobile > Files
Reading the crew interview notes.
CourierActive Now
Crew interviews > Tasks
Comparing two signage quotes.
AuditorGhost
Rota export > Files
LinkerActive Now
Depot signage > Tasks
Waiting on the rota data.
TaggerActive Now
Harbour rebrand > Files
Checking the palette against the brand guide.

Props

PropTypeRequiredDefault
membersAgentWallMember[]Yes—
columnsnumber | undefinedNo5
rowsnumber | undefinedNo4
titleReactNodeNo—
actionsReactNodeNo—
filterMode"hide" | "dim" | undefinedNohide
orb"auto" | "css" | undefinedNoauto
look"orb" | "avatar" | undefinedNoorb
emptyTextstring | undefinedNoNo agents match.
pagenumber | undefinedNo—
defaultPagenumber | undefinedNo1
onPageChange((page: number) => void) | undefinedNo—
statusFilterAgentWallStatusFilter | undefinedNo—
defaultStatusFilterAgentWallStatusFilter | undefinedNoall
onStatusFilterChange((filter: AgentWallStatusFilter) => void) | undefinedNo—
querystring | undefinedNo—
defaultQuerystring | undefinedNo
onQueryChange((query: string) => void) | undefinedNo—
selectedIdstring | null | undefinedNo—
defaultSelectedIdstring | null | undefinedNonull
onSelectedChange((id: string | null) => void) | undefinedNo—

Statuses

A tile is active, idle, stalled, failure, ghost or offline. A service that reports trouble or stops answering is failure; an agent that has gone quiet is a ghost, faded and not a failure. The host decides when a ghost leaves members. Each tile wears a persona orb (agentPersona(kind, status)), or look="avatar" for an illustrated face; a CSS look-alike replaces the orb without WebGL or under reduced motion.

AgentTile

AgentTile is the single tile the wall repeats, exported on its own: an orb, a name, Project > Path, a status dot and one line of activity. It is a fixed size, so long text is cut with an ellipsis. Pass onSelect to make it a button.

data-rebar-* attributes

data-rebar-component="agent-wall" with data-rebar-filter-mode; parts header, toolbar, grid, empty, pages. Each tile is data-rebar-component="agent-tile" with data-rebar-status, data-rebar-kind, and data-rebar-dimmed/data-rebar-selected when set; its parts are orb, name, status, project, activity.

Migrating to Ant Design

Not codemod-covered. Ant Design has no status-wall component; compose its Card/Avatar/Badge/Pagination against the same members array.