Unstyled .link class sweep (follow-up to #566) #568

Closed
opened 2026-09-15 13:21:29 +00:00 by crueber · 1 comment
Owner

Follow-up to #566, deliberately NOT bundled with it.

The .link class has zero CSS rules in shipped web/src/ui.css — Tailwind v4 preflight resets those buttons/links to plain muted text, so every .link control is visually indistinguishable from its caption. #566 fixed only the two inline-draft composer Cancel buttons (small secondary .btn treatment, option (b)) and left the other ~10 uses untouched:

  • web/src/pages/Pull.jsx:181 (review dismiss), :280 (reviewer remove), :585/:589 (toggles), :732 (unstage)
  • web/src/pages/Checks.jsx (reporting-API links, expand toggle)
  • web/src/pages/Team.jsx:57 (member remove)
  • web/src/pages/Settings.jsx:1021 (token revoke), :1310/:1311/:1314 (webhook ping/deliveries/delete)
  • web/src/pages/PullFiles.jsx:105 (thread link), plus back-links and misc A.link uses
  • web/src/components/NotificationTray.jsx, CheckDetail.jsx, Commit.jsx, PullCommits.jsx, Invitations.jsx

Decide ONE systemic treatment (a shared .link component rule in ui.css @layer components per the #405 precedent + style-guideline entry, or per-site canonical-class composition) and apply it repo-wide. Acceptance: every remaining .link control distinguishable from surrounding text in both themes, with hover + cursor affordance.

Follow-up to #566, deliberately NOT bundled with it. The .link class has zero CSS rules in shipped web/src/ui.css — Tailwind v4 preflight resets those buttons/links to plain muted text, so every .link control is visually indistinguishable from its caption. #566 fixed only the two inline-draft composer Cancel buttons (small secondary .btn treatment, option (b)) and left the other ~10 uses untouched: - web/src/pages/Pull.jsx:181 (review dismiss), :280 (reviewer remove), :585/:589 (toggles), :732 (unstage) - web/src/pages/Checks.jsx (reporting-API links, expand toggle) - web/src/pages/Team.jsx:57 (member remove) - web/src/pages/Settings.jsx:1021 (token revoke), :1310/:1311/:1314 (webhook ping/deliveries/delete) - web/src/pages/PullFiles.jsx:105 (thread link), plus back-links and misc A.link uses - web/src/components/NotificationTray.jsx, CheckDetail.jsx, Commit.jsx, PullCommits.jsx, Invitations.jsx Decide ONE systemic treatment (a shared .link component rule in ui.css @layer components per the #405 precedent + style-guideline entry, or per-site canonical-class composition) and apply it repo-wide. Acceptance: every remaining .link control distinguishable from surrounding text in both themes, with hover + cursor affordance.
Author
Owner

Fixed by #571 (merged): one shared .link component rule in ui.css (accent both themes, hover underline, cursor-pointer) covering all 25 sites across 10 files, zero JSX changes; #566/#567 .btn surfaces untouched by design. Guideline §2 entry + law-12 amendment in the same commit. Verified: 1387 unit tests green (smoke excluded, pre-existing), vite/esbuild green, independent review APPROVE with census re-verified.

Fixed by #571 (merged): one shared .link component rule in ui.css (accent both themes, hover underline, cursor-pointer) covering all 25 sites across 10 files, zero JSX changes; #566/#567 .btn surfaces untouched by design. Guideline §2 entry + law-12 amendment in the same commit. Verified: 1387 unit tests green (smoke excluded, pre-existing), vite/esbuild green, independent review APPROVE with census re-verified.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
crueber/walhub#568
No description provided.