Fix #277: card-meta CSS rule #287

Merged
crueber merged 1 commit from fix/issue-277 into main 2026-09-10 13:48:17 +00:00
Owner

Fixes #277 — pull/review meta rows rendered spans concatenated ("title9 hours ago1 assets") because .card-meta had zero CSS rules anywhere.

Change (5 files, +74):

  • web/src/ui.css (LIVE stylesheet): new .card-meta rule — flex flex-wrap items-center gap-x-2 gap-y-1 text-xs text-zinc-500 dark:text-zinc-400. NOT in web/css/repo.css (dead/unbundled; the issue body's suggested location is corrected — verified: SPA entry imports only ./ui.css, vite bundles only it).
  • web/src/pages/Pulls.jsx: {" · "} separators between base←head · author · date (chip stands gap-spaced, no separator).
  • web/src/pages/Pull.jsx ReviewsList: {" · "} between author · badge · date.
  • web/test/unit/card-meta.test.js (new, #236 source-scraping style): live-stylesheet pin + dead-css absence, flex/wrap/gap/muted/dark tokens, separator order on both pages.
  • docs/go/12_web_ui.md: FIXED (#277) entry per law 12.

Corrections to the issue body: only TWO card-meta uses remain — Releases.jsx/Release.jsx were redesigned in #270 with Tailwind-inline meta rows and carry no card-meta. Fix location likewise corrected (ui.css, not repo.css).

Audit of other rule-less classes used in the same files (reported, deliberately unfixed — each needs its own design issue): card-list (Pulls/Pull/Checks lists — cards stack with zero gap), card-title (Pulls rows), btn-primary as a single class (Pull.jsx FinishReview submit uses btn btn-primary; only the compound .btn.primary exists), link (8+ pages), field (Pull/PullNew composers). ref-list/ref-item knowingly rule-less per #236.

Verification: node --test web/test/unit/*.test.js 552/552 green; vite build green with .card-meta + .card-meta:where(.dark,.dark *) confirmed in compiled CSS. Browser proof (release/pull rows mobile + desktop, both themes, zero console errors) is OPEN — shared-daemon loopback guard, no private daemon per workspace rules. No new deps; no Go changes.

Fixes #277 — pull/review meta rows rendered spans concatenated ("title9 hours ago1 assets") because `.card-meta` had zero CSS rules anywhere. **Change (5 files, +74):** - `web/src/ui.css` (LIVE stylesheet): new `.card-meta` rule — `flex flex-wrap items-center gap-x-2 gap-y-1 text-xs text-zinc-500 dark:text-zinc-400`. NOT in `web/css/repo.css` (dead/unbundled; the issue body's suggested location is corrected — verified: SPA entry imports only `./ui.css`, vite bundles only it). - `web/src/pages/Pulls.jsx`: `{" · "}` separators between base←head · author · date (chip stands gap-spaced, no separator). - `web/src/pages/Pull.jsx` ReviewsList: `{" · "}` between author · badge · date. - `web/test/unit/card-meta.test.js` (new, #236 source-scraping style): live-stylesheet pin + dead-css absence, flex/wrap/gap/muted/dark tokens, separator order on both pages. - `docs/go/12_web_ui.md`: FIXED (#277) entry per law 12. **Corrections to the issue body:** only TWO `card-meta` uses remain — `Releases.jsx`/`Release.jsx` were redesigned in #270 with Tailwind-inline meta rows and carry no `card-meta`. Fix location likewise corrected (ui.css, not repo.css). **Audit of other rule-less classes used in the same files (reported, deliberately unfixed — each needs its own design issue):** `card-list` (Pulls/Pull/Checks lists — cards stack with zero gap), `card-title` (Pulls rows), `btn-primary` as a single class (Pull.jsx FinishReview submit uses `btn btn-primary`; only the compound `.btn.primary` exists), `link` (8+ pages), `field` (Pull/PullNew composers). `ref-list`/`ref-item` knowingly rule-less per #236. **Verification:** `node --test web/test/unit/*.test.js` 552/552 green; `vite build` green with `.card-meta` + `.card-meta:where(.dark,.dark *)` confirmed in compiled CSS. Browser proof (release/pull rows mobile + desktop, both themes, zero console errors) is OPEN — shared-daemon loopback guard, no private daemon per workspace rules. No new deps; no Go changes.
.card-meta was referenced in Pulls.jsx/Pull.jsx with zero CSS rules, so
meta spans concatenated. Rule lands in web/src/ui.css (live; repo.css is
dead): flex row, gap, wrap, muted, dark+light. Markup gains · separators
consistent with the repo-header meta language. Only two card-meta uses
remain (#270 redesigned Releases/Release with Tailwind-inline rows).
Audit: card-list/card-title/btn-primary/link/field also rule-less —
reported, unfixed (own design issues).

Headless: node --test 552/552 green (new card-meta.test.js); vite build
green, .card-meta + dark variant verified in compiled CSS. Browser proof
open (shared-daemon loopback guard).
Sign in to join this conversation.
No description provided.