Initial import of UI-Docs from zapier monorepo

This commit is contained in:
George Lambert 2026-09-11 19:55:03 -04:00
commit 1ed566665a
44 changed files with 2393 additions and 0 deletions

127
WALKTHROUGH.md Normal file
View file

@ -0,0 +1,127 @@
# UI walkthrough (operator, staff, customers)
Captured 2026-09-11. Browser console: no application errors on the product UIs (favicon data-URI). Design tokens: `--accent #4f46e5`, `--bg #f4f5fb`, 12px radius, indigo header.
## 1. Operator console — Fleet
Open **http://127.0.0.1:3850/**.
![Fleet](screenshots/01-console-fleet.png)
1. Header kicker reads **operator LAN · binds 0.0.0.0:3850**. NATS stays private.
2. **Add machine:** pick roles as chips (`tree-node`, `archive-worm`, …), then **Add machine**.
3. Machine cards show role pills and enable/disable.
4. Services: **Health** is operational/degraded. **Power** is a status (`on` / `paused` / `off`), not a toggle.
5. Click **⋯** on a replica or on Power for pause / resume / restart / start / stop.
![Overflow](screenshots/01b-console-fleet-overflow.png)
## 2. Trace
Click **Trace**.
![Trace](screenshots/02-console-trace.png)
1. Pick an action (default Create Timestamp and Wait).
2. Orange **Faults** box is inject-only.
3. **Run step**. Hops wrap; module names are not clipped.
![Trace run](screenshots/02b-console-trace-run.png)
## 3. Docs
Click **Docs**. Cards match Fleet. High-level first.
![Docs](screenshots/03-console-docs.png)
## 4. Standalone simulator
Open **http://127.0.0.1:3847/**. Same indigo shell. Orange only on **Inject faults**.
![Simulator](screenshots/04-simulator.png)
**Run step** or a scenario (Register, Batch Merkle, …).
![Simulator run](screenshots/04b-simulator-run.png)
## 5. Customer service
Open **http://127.0.0.1:3011/**.
1. Customer id → **Review account**. Prepaid is dollars.
2. **Amount (USD)****Apply credit**. Table lists `$5.00`, reason, agent name, when.
![CS review](screenshots/05-cs.png)
![CS credit](screenshots/05-cs-credit.png)
## 6. Sales
**http://127.0.0.1:3012/** — **Review account** or **Show quote** (named fields, not a JSON dump).
![Sales](screenshots/06-sales.png)
## 7. Accounting
**http://127.0.0.1:3013/** — review plus **QuickBooks IIF** / **CSV**.
![Accounting](screenshots/07-accounting.png)
## 8. Staff access plane
**http://127.0.0.1:3025/** — same review/credit UI after `verae.access.authz.check`.
![Staff](screenshots/08-access-staff.png)
## 9. Admin
**http://127.0.0.1:3000/admin/**
| Username | Password |
|----------|----------|
| `admin` | `admin-dev-key` |
| `demo` | `$$$Adm1n###` |
![Login](screenshots/09-admin-login.png)
![Rate card](screenshots/10-admin-rate-card.png)
**Customers** is a read-only list. **Edit** opens a drawer (email, type, multiplier, billing).
![Customers](screenshots/12-admin-customers.png)
![Drawer](screenshots/12b-admin-customer-drawer.png)
Invoices empty state until you **Generate** a period.
![Invoices](screenshots/14-admin-invoices.png)
## 10. Customer portal
**http://127.0.0.1:3021/portal/** — public customer door (access-web). Loopback edge still has `/portal` on `:3000`. Create an account or sign in.
![Portal login](screenshots/16-portal-login.png)
Dashboard: API key is **masked**. **Reveal**, **Copy** (full key to clipboard), **Regenerate**.
![Dashboard](screenshots/17-portal-dashboard.png)
![No invoices](screenshots/18-portal-invoices-empty.png)
![Statement](screenshots/19-portal-statement.png)
**API & pricing** notes that `/docs` is stock Swagger.
![API](screenshots/20-portal-api-pricing.png)
## 11. Swagger (not a customer surface)
**http://127.0.0.1:3000/docs** — vendor Swagger UI for integrators.
![Swagger](screenshots/21-swagger-stock.png)
## 12. Catalog
**https://zapier.georgelambert.org/** — system-ui on the indigo header (not Georgia).
![Catalog](screenshots/22-catalog.png)