React Operations Dashboard
A complete dashboard page block: header with environment badge and time-range switch, a KPI strip with monospaced values and signed deltas, a work-in-progress table, and a subsystem status rail. One bordered surface, hairline dividers, no shadows — the way MES, SCADA, and fab-monitoring screens are actually built. Copy the block and replace the demo data with your own source.
Fab 2 — Operations
PRODupdated 07:42 UTC
Wafer Yield
94.2%+1.8%
Lots Completed
38+4
Equipment Uptime
99.97%±0.0%
Scrap Rate
0.41%-0.07%
| Lot | Stage | Tool | ETA | Status |
|---|---|---|---|---|
| LOT-24A118 | Metal 2 Etch | ETCH-04 | 02:10 | In line |
| LOT-24A121 | CMP Oxide | CMP-02 | 04:35 | In line |
| LOT-24A104 | Implant Well | IMP-01 | — | Hold |
| LOT-24A097 | Final Test | TST-11 | 00:20 | In line |
| LOT-24A089 | Wafer Sort | SRT-03 | done | Complete |
Installation
npx shadcn@latest add dashboard.json
Structure
The block is one <section> with four regions, each easy to detach:
- Header — title, environment badge (
PROD), last-updated stamp,24h / 7d / 30drange tabs (the demo switches KPI data per range). - KPI strip — a
divide-xgrid of stat tiles; values in mono with tabular numerals so refreshes don't shift layout. - WIP table — lot, stage, tool, ETA, and a dot-plus-label status badge per row.
- Status rail — subsystem list with LED dots and mono state codes.
For standalone pieces, see Metric Card, Data Table, and Status Indicator.
Design notes
- One surface — regions are separated by hairline borders, not nested cards; density reads as competence in operations software.
- State is never color-alone — every status pairs a dot with text; deltas carry their sign.
- Light-first — designed on white; the dark theme derives from the same tokens.