feat(web): Pressing Plant component library + describeJob

design.css component classes (masthead, contents nav, tiles, dept header,
job row + severity stripe, status chip, progress bar, pressed list, buttons,
fields). Presentational _ui components. describeJob maps worker Job.state to
literal labels + severity kind + stepped progress (unit-tested).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Jonathan
2026-07-12 14:09:30 +02:00
parent e1d96aa603
commit 656e755daf
9 changed files with 361 additions and 0 deletions
+17
View File
@@ -0,0 +1,17 @@
export type Tile = { k: string; v: number | string; unit?: string; accent?: boolean };
export function StatTiles({ items }: { items: Tile[] }) {
return (
<section className="tiles">
{items.map((t) => (
<div key={t.k} className={`tile${t.accent ? " accent" : ""}`}>
<div className="k">{t.k}</div>
<div className="v">
{t.v}
{t.unit ? <small>{t.unit}</small> : null}
</div>
</div>
))}
</section>
);
}