Repository navigation
fix(frontend): define the button system and make the default button quiet - #765
Conversation
…uiet The bare button was a solid grey fill and .btn-danger, .btn-link, .btn-warning and .secondary had no CSS. The default and .btn are now an outlined button; only primary, success and destructive actions are filled. .btn-danger and .btn-warning are outlined and fill on hover, .btn-link is a text action for table rows, .secondary aliases .btn-secondary, and disabled buttons are dimmed. The generic hover uses :where() so component classes keep their own background. Refs #695 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
Warning Review limit reached
This review includes 2 billable files and costs up to $0.50.
Reviews can continue after your included limit without a manual trigger. An admin must approve usage-based billing. Or wait 45 minutes for your next included review. View limit detailsLimit details: You’ve used the included review currently available. Your 87 included PR review attempts over the past 7 days set your current allowance at 1 review per hour. Review configuration: ⚙️ Run configuration
📒 Files selected for processing (2)
Comment |
Independent review (rv-ux-visual): PR #765 at
|
|
UX merge gate at head e6e30f5 (main 7e2a3d8 merged into the PR branch via update-branch). Verdict: independent rv-ux-visual APPROVED at 8094152; PR-owned diff (components.css, css.test.ts) is line-identical against the old base and against main. CI 27/27 green, mergeStateStatus CLEAN. Local from git archive (macOS): npm ci, tsc --noEmit, jest (100 suites, 3168 passed, 1 skipped), eslint all exit 0. Merging squash with --match-head-commit. |
Post-merge check (rv-ux-visual)Merged at head |
#1359) PR #765 defined the button system (quiet outlined default, .btn-danger, .btn-link, .btn-warning, .secondary), which fixed most of this issue. The Upcoming Scheduled Purchases rows on Home still used the filled `danger` class for Cancel, so a solid red block remained the loudest element on every row, ahead of View Details. Switch it to .btn-danger: red border and text so it still reads as destructive, filled only on hover. The detail dialog's "Cancel Purchase" keeps the filled style because there it is the dialog's main action. A jest test pins the class and a Playwright check verifies the painted background, text and border colors against the real stylesheet. Refs #695 Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
What
Button system (CSS only, plus one string-match test). Independent of #763/#764 (branched from main e5ac75d).
buttonand.btnwere a solid grey fill with an identical hover. They are now a quiet outlined button; only primary, success and destructive actions are filled..btn-danger(outlined red, fills on hover),.btn-warning,.btn-link(text action for table rows),button.secondary(alias of.btn-secondary).button:disabledstyle (there was none).:where(button):hoverso component classes that set their own background are not overridden.css.test.tsmatched the literalbutton:hover; widened to allow the:where()form.Not in this PR: collapsing the remaining variants into fewer classes,
.btn-smallunification, and the #725 table/CSS hygiene checklist (left open).Refs #695 (VIS-01, VIS-02), #725 (not closed).
Verification
ladder-config.spec.tstoast "Dismiss notification" strict-mode) passed 3/3 when rerun in isolation, a timing flake under parallel load unrelated to CSS./tmp/claude/ux-fixes/shots/{home,opportunities,plans,purchases,inventory,admin-users,admin-general}-{main,pr2}-{1280,768,390}.png. Examples:purchases-*-1280.png(Load History, Approve/Cancel, Sell on Marketplace go from grey slabs to outlined/link actions),admin-users-*-1280.png(Delete is now distinct from Edit).color-contrastnode counts per page and width identical before and after (no text became unreadable); the contrast tokens are fix(frontend): core color tokens fail WCAG AA contrast #696.🤖 Generated with Claude Code