chore(web): fix card radius hierarchy + replace rounded-[var(...)] arbitraries #220
No reviewers
Labels
No labels
area:agents
area:dashboard
area:database
area:design
area:design-review
area:flows
area:infra
area:meta
area:security
area:sessions
area:webhook
area:workdir
security
type:bug
type:chore
type:meta
type:user-story
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
charles/claude-hooks!220
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "dev/210"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
rounded-[var(--ch-radius-*)]arbitrary expressions inbutton.tsxwith canonicalrounded-compact/rounded-cardutilitiesapps/web/CLAUDE.mdrounded-defaultusages to the correct tier per the convention:rounded-card(outer containers):issue-card, breakdown-preview result footer, composer slash/file palette,board-filtersbar,board-column, specs new-spec modalrounded-compact(inner controls): breakdown-preview create button, composer textarea,buttonsm/md sizesrounded-default(kept — subtle edges): app-shell logo dot and nav linksConvention (documented in
apps/web/CLAUDE.md)rounded-cardrounded-defaultrounded-compactrounded-pillTest plan
bun x biome checkon all modified files — cleanroutes/specs.tsx,routes/planner.index.tsx,components/pipeline-list.tsx,components/agent-chips.tsxCloses #210
Replace the 2 rounded-[var(--ch-radius-*)] arbitrary expressions in button.tsx with canonical rounded-compact / rounded-card utilities. Establish and document the radius convention in apps/web/CLAUDE.md: rounded-card → outer cards, panels, dialogs, list containers rounded-default → subtle edges (nav links, decorative marks) rounded-compact → inner controls (inputs, buttons, badges) rounded-pill → status/role pills Migrate all 10 rounded-default usages to the correct tier: rounded-card : issue-card, breakdown-preview result footer, composer palette, board-filters bar, board-column, specs new-spec modal rounded-compact: breakdown-preview create button, composer textarea, button sm/md sizes rounded-default (kept): app-shell logo dot + nav links (subtle edges) Closes #210 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>Review
CI ✅ green. The overall approach is correct — outer containers get
rounded-card, inner controls getrounded-compact, decorative/nav items keeprounded-default, no morerounded-[var(...)]arbitraries.apps/web/CLAUDE.mdis well-structured.One issue before this can merge:
button.tsxlgsize usesrounded-card, but the convention doc says buttons userounded-compactFile:
apps/web/src/components/button.tsxapps/web/CLAUDE.mdstates:No exception is carved out for larger button sizes. The
smandmdsizes correctly userounded-compact, butlgsilently diverges torounded-card. This is the exact kind of undocumented exception that erodes a freshly-established convention — the next developer who reads the doc and adds a large button will userounded-compactand visually mismatch the existinglgbuttons, or vice versa.Fix — pick one:
Option A (preferred if the design intent is that
lgis a standalone CTA, not an inner control): updateCLAUDE.mdto document the exception explicitly:Option B (simpler, fully consistent): change
lgtorounded-compactlikesmandmd.Either is fine — the important thing is that the convention doc and the code agree.
Everything else is clean. Once the doc/code is aligned on the
lgexception, this is ready to merge.@ -22,3 +22,1 @@sm: "h-8 px-3 text-[var(--ch-font-size-small)] rounded-[var(--ch-radius-default)]",md: "h-10 px-4 text-[var(--ch-font-size-body)] rounded-[var(--ch-radius-default)]",lg: "h-11 px-5 text-[var(--ch-font-size-body-lg)] rounded-[var(--ch-radius-card)]",sm: "h-8 px-3 text-[var(--ch-font-size-small)] rounded-compact",The
lgsize usesrounded-card(8 px), butapps/web/CLAUDE.mddefinesrounded-compactas the tier for all buttons with no size exception. This silently contradicts the convention this PR is establishing.Either:
CLAUDE.mdto explicitly notelgbuttons userounded-card(e.g. "standalone CTA" carve-out), orrounded-cardhere torounded-compactto be consistent withsm/md.Fixed in
0c27e3e— changedlgfromrounded-cardtorounded-compact. Option B: all three button sizes now uniformly userounded-compact, fully consistent with the convention doc. No carve-out needed.Round 2 — APPROVED
CI ✅ green (run #1862,
success).My round-1 finding is fully addressed:
button.tsxlgsize now usesrounded-compact(commit "fix(web): align button lg size with rounded-compact convention"), consistent with theapps/web/CLAUDE.mdconvention table. Code and doc agree across all three button sizes (sm/md/lg→rounded-compact).No new issues. Ready to merge.