diff --git a/admin_ui_cleanup.md b/admin_ui_cleanup.md new file mode 100644 index 0000000..9e95f1a --- /dev/null +++ b/admin_ui_cleanup.md @@ -0,0 +1,187 @@ +# Admin-UI cleanup playbook (`ZB.MOM.WW.Theme` + Bootstrap Blazor apps) + +A reusable sweep recipe for the family's Blazor Server admin UIs, distilled from two completed +rounds: + +- **ignitionoee router** — `../ignitionoee/docs/plans/2026-08-05-router-ui-sweeps.md` (+ its + render-validation companion plan) +- **OtOpcUa AdminUI** — `../OtOpcUa/docs/plans/2026-08-10-adminui-ui-sweeps.md` + +Both apps sit on **ZB.MOM.WW.Theme 0.3.1 + self-hosted Bootstrap 5.3**, and both sweeps found the +same *classes* of defect with different instances. Run the discovery phase before assuming which +instances your app has — the router had ghost layout classes and the OtOpcUa AdminUI had none, but +OtOpcUa had a dead scoped-CSS bundle the router didn't. **Neither app has bUnit; the final gate is +always a live browser pass.** + +--- + +## 1. Discovery — four parallel read-only scans + +Run these as parallel read-only agents (or by hand) and write the inventories down with `file:line` +before changing anything. The inventories become the per-batch fix briefs. + +### 1a. Foundation / CSS audit + +The theme ships less than pages assume. Check, in order: + +1. **Shipped-vs-used class matrix.** Extract every CSS class used in `*.razor` markup and check each + against (a) the theme package's `staticwebassets/css/*.css` + (`~/.nuget/packages/zb.mom.ww.theme//`), (b) Bootstrap, (c) the app's own stylesheet, (d) + page `