agent: scaffold Preact rewrite, Header + StatusChips first slice
Adds a new Preact/TSX build alongside the existing app.js (esbuild
entry `main.tsx` → dist/static/main.{js,css}, same jsx/tsconfig shape
swarm-ui already uses) and the first real page slice: Header +
StatusChips, composing the Badge/Dropdown components from the prior
commit's PR. Not wired into index.html yet — app.js keeps rendering
the live page untouched while this fills in component by component
(state polling, the live SSE stream, login flow, inbox/todos, term
input) in follow-up commits on this branch.
StatusChips folds the model/effort pickers and pause into the badge
row itself (each badge IS its own control), replacing the old
overflow-menu-only pickers — the concrete fix the design guide already
names this page as needing. Presentational only for now (props, not
live data) so it's reviewable against sample data before being wired
to /api/state.
Screenshot-verified against the real agent.css/theme.css/colors.css
(headless chromium, sample data) — renders correctly.
Builds + tsc --noEmit clean.
This commit is contained in:
parent
f5a4e380c9
commit
93b34ebb9b
11 changed files with 334 additions and 3 deletions
16
frontend/packages/agent/src/components/StatusChips.css
Normal file
16
frontend/packages/agent/src/components/StatusChips.css
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
/* <StatusChips> layout. Colours all come from Badge/Dropdown's own CSS
|
||||
(@hive/shared) — nothing here overrides a base16 slot. */
|
||||
.status-chips {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
gap: 0.5em;
|
||||
}
|
||||
.status-chip-anchor {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
}
|
||||
.status-chips-last-turn {
|
||||
font-size: 0.8em;
|
||||
color: var(--muted);
|
||||
}
|
||||
Loading…
Reference in a new issue