From f0f607ea469246fd4f43c50c18c5c018fc035912 Mon Sep 17 00:00:00 2001 From: Joseph Doherty Date: Mon, 10 Aug 2026 17:09:00 -0400 Subject: [PATCH] =?UTF-8?q?docs:=20admin=5Fui=5Fcleanup.md=20=E2=80=94=20r?= =?UTF-8?q?eusable=20admin-UI=20sweep=20playbook=20(from=20the=20ignitiono?= =?UTF-8?q?ee=20router=20+=20OtOpcUa=20AdminUI=20rounds)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- admin_ui_cleanup.md | 187 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 187 insertions(+) create mode 100644 admin_ui_cleanup.md 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 `