Fix #545: review UI restyle #549

Merged
crueber merged 1 commit from fix/issue-545 into main 2026-09-14 23:47:21 +00:00
Owner

Styling/markup only; no behavior change.

ReviewsList (web/src/pages/Pull.jsx): stays ONE .card panel with the card-header title (the #521/#531 conversation-column idiom — section-level cards would have dropped the Reviews title the guideline names as a card-header consumer) holding an unstyled flat divide-y list. The zero-rule wrapper class and the per-review .card inner chrome are gone; rows are plain divider rows (py-2 first:pt-0 last:pb-0, first flush like the flat PR-list rows), still author + chip verdict + timestamp in the .card-meta language with stale marker + dismiss affordance unchanged.

Verdicts: decisionBadge (pills + hardcoded bg overrides) replaced by the ONE reviewVerdictChip mapping onto the chip family — APPROVED → chip-open, CHANGES_REQUESTED → chip-closed, COMMENTED/dismissed/requested → new zinc chip-neutral (web/src/ui.css, both themes), REVIEW_REQUIRED/unknown → chip-draft — serving the summary-bar decision, reviewer states, and review cards.

Finish review: #479 canonical shape (label.grid.gap-1 + text-sm font-medium span + .input w-full, reviewing-sha help scoped via id + aria-describedby on both controls, .muted helper), submit on the defined btn primary idiom (cancel plain btn, busy swap kept).

Ride-along: Checks.jsx:224 wrapper class dropped (trivial — it carried no rules, space-y-2 renders identically). label.field/btn-primary in PullNew.jsx/MergeBox.jsx/Settings.jsx are noted follow-ups, not re-legitimized.

Docs (law 12): guideline §6 gains chip-neutral + Decisions entry; docs/go/12_web_ui.md Decisions gains the #545 entry.

Tests: new web/test/unit/review-restyle-545.test.js (8 tests) + #545 updates to pr-structure-531 (card-list ban extended) and card-meta (badge-slot pin). Full suite: 1260 total / 1259 pass / 1 fail — the failure is the pre-existing live-server smoke subtest (/setup 403 on the standing instance, needs a live Go server). vite build + esbuild green. No backend change; no new deps. Browser proof open (reasoned at desktop + ~390px from the shared row/panel/chip classes; shared-daemon loopback guard — no private daemon per workspace rules).

Styling/markup only; no behavior change. **ReviewsList** (`web/src/pages/Pull.jsx`): stays ONE `.card` panel with the `card-header` title (the #521/#531 conversation-column idiom — section-level cards would have dropped the Reviews title the guideline names as a card-header consumer) holding an unstyled flat `divide-y` list. The zero-rule wrapper class and the per-review `.card` inner chrome are gone; rows are plain divider rows (`py-2 first:pt-0 last:pb-0`, first flush like the flat PR-list rows), still author + chip verdict + timestamp in the `.card-meta` language with stale marker + dismiss affordance unchanged. **Verdicts**: `decisionBadge` (pills + hardcoded bg overrides) replaced by the ONE `reviewVerdictChip` mapping onto the chip family — APPROVED → `chip-open`, CHANGES_REQUESTED → `chip-closed`, COMMENTED/dismissed/requested → new zinc `chip-neutral` (`web/src/ui.css`, both themes), REVIEW_REQUIRED/unknown → `chip-draft` — serving the summary-bar decision, reviewer states, and review cards. **Finish review**: #479 canonical shape (`label.grid.gap-1` + `text-sm font-medium` span + `.input w-full`, reviewing-sha help scoped via id + `aria-describedby` on both controls, `.muted` helper), submit on the defined `btn primary` idiom (cancel plain `btn`, busy swap kept). **Ride-along**: `Checks.jsx:224` wrapper class dropped (trivial — it carried no rules, `space-y-2` renders identically). `label.field`/`btn-primary` in `PullNew.jsx`/`MergeBox.jsx`/`Settings.jsx` are noted follow-ups, not re-legitimized. **Docs (law 12)**: guideline §6 gains `chip-neutral` + Decisions entry; `docs/go/12_web_ui.md` Decisions gains the #545 entry. **Tests**: new `web/test/unit/review-restyle-545.test.js` (8 tests) + #545 updates to `pr-structure-531` (card-list ban extended) and `card-meta` (badge-slot pin). Full suite: 1260 total / 1259 pass / 1 fail — the failure is the pre-existing live-server smoke subtest (`/setup 403 on the standing instance`, needs a live Go server). `vite build` + `esbuild` green. No backend change; no new deps. Browser proof open (reasoned at desktop + ~390px from the shared row/panel/chip classes; shared-daemon loopback guard — no private daemon per workspace rules).
Sign in to join this conversation.
No description provided.