Skip to content

style: nonDsClassesInViews items 1-9 — scale renames + named 60vh utilities - #3015

Merged
kushagrasarathe merged 3 commits into
devfrom
ds/nonds-views-cleanup
Sep 7, 2026
Merged

kushagrasarathe merged 3 commits into
devfrom
ds/nonds-views-cleanup

Conversation

@kushagrasarathe

@kushagrasarathe kushagrasarathe commented Sep 7, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Second DS cleanup pass ruled by Kush: items 1-9 of the nonDsClassesInViews breakdown. Pure class renames onto the scale plus one named utility family — visual no-op by construction (every computed value is unchanged).

Task: TASK-21446 (DS 02 — lint count baselines / KR1 ratchet)

Changes

Scale one-liners (4)

  • rewards/invites/page.tsx: text-[16px] font-medium -> text-body-m (token carries the same 16px/Medium; the stacked weight class goes)
  • min-w-[24px] -> min-w-6 (same 24px) in the copy-pasted icon wrapper x3: Claim/Link/Onchain/Confirm.view.tsx, Withdraw/views/Confirm.withdraw.view.tsx, semantic-request/views/SemanticRequestConfirmView.tsx

60vh panel family (5) via named utilities

  • New in globals.css (following the min-h-inherit precedent): h-screen-60, min-h-screen-60, max-h-screen-60 — all exactly 60vh; three utilities because one @utility cannot span three properties
  • Used in: AddMoney/views/CryptoDeposit.view.tsx (min-h + h), AddMoney/views/RhinoDeposit.view.tsx (min-h + h), Global/TokenSelector/Components/NetworkListView.tsx (max-h)

Deliberately NOT touched (no ruling yet): items 10-15 — the dvh singles, size-[250px], the qr-pay max-w, the safe-bottom calc, the shadow arbitrary.

Metrics

metric before (dev) after
nonDsClassesInViews 15 6
arbitraryFontSize 111 110

(The breakdown Kush ruled on was taken pre-#2953-merge at 16; #2953 landed one of them, so dev's base is 15.) All other metrics unchanged; baseline rebased, --check green.

Visual changes

None. Every replacement computes to the identical value (24px, 16px/500, 60vh). ds-shots: every screen this PR touches (add-money-crypto, rewards-invites) is pixel-identical. The 5 'moved' screens in its comment (avatar-picker 1.77%, home/add-money/badges/empty-accounts at 0.03-0.07%) are the known flaky set — the same screens move at the same magnitudes on sibling PRs #3011/#3012/#3013 that touch none of them.

QA

  • prettier clean, typecheck clean, jest 485 suites / 6077 tests green
  • node scripts/ds-lint-counts.mjs --check green

…t-body-m

min-w-6 is the same 24px from the spacing scale (x3 copy-pasted icon
wrapper). The invites row's text-[16px] font-medium becomes text-body-m,
which carries the same 16px/Medium — the stacked weight class goes, the
token owns the recipe.
h/min-h/max-h-screen-60 in globals.css (min-h-inherit precedent) — the
computed value stays exactly 60vh, so this is a visual no-op. three
utilities because one @Utility cannot span three properties.
15 on the post-#2953 dev base, minus these 9 fixes = 6. arbitraryFontSize
111 -> 110 rides along (the invites text-[16px] counted there too).
@vercel

vercel Bot commented Sep 7, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
peanut-wallet Ready Ready Preview Sep 7, 2026 9:54am UTC

Request Review

@coderabbitai

coderabbitai Bot commented Sep 7, 2026 •

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Team

Run ID: c05e4d96-0fcf-4c6e-a391-5b68ef1c7539

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Code-analysis diff

Painscore total: 7251.68 → 7252.27 (+0.59)
Findings: 0 net (+0 new, -0 resolved)

@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

🧪 UI test report — ✅ all green

Suites

  • ✅ unit: 6083 ran, 0 failed, 0 skipped, 2.0m

📊 Coverage (unit)

metric %
statements 74.6%
branches 60.3%
functions 68.7%
lines 75.5%
⏱ 10 slowest test cases
time test
🐢 9.0s src/app/(mobile-ui)/qr-pay/__tests__/qr-pay-states.test.tsx › Network failure keeps loading while retries remain, then shows the generic error
4.0s src/app/(mobile-ui)/qr-pay/__tests__/qr-pay-states.test.tsx › MANTECA_MERCHANT_RECENT_REFUND fails fast with copy that names the real cause
4.0s src/app/(mobile-ui)/qr-pay/__tests__/qr-pay-states.test.tsx › MANTECA_SOURCE_OVER_MONTHLY_CAP fails fast with copy that names the real cause
4.0s src/app/(mobile-ui)/qr-pay/__tests__/qr-pay-states.test.tsx › MANTECA_MERCHANT_VOLUME_NEAR_CAP fails fast with copy that names the real cause
4.0s src/app/(mobile-ui)/qr-pay/__tests__/qr-pay-states.test.tsx › User KYC not approved fails fast with copy that names the real cause
4.0s src/app/(mobile-ui)/qr-pay/__tests__/qr-pay-states.test.tsx › MANTECA_USER_NOT_PROVISIONED fails fast with copy that names the real cause
4.0s src/app/(mobile-ui)/qr-pay/__tests__/qr-pay-states.test.tsx › a refused idempotency key tells the user to scan again, not to contact support
4.0s src/app/(mobile-ui)/qr-pay/__tests__/qr-pay-states.test.tsx › routes the KYC rejection on its wire code, and does not retry it
3.1s src/app/(mobile-ui)/qr-pay/__tests__/qr-pay-states.test.tsx › Going offline blames the connection, and reconnecting clears it for the recovered scan
3.0s src/components/Card/share-asset/__tests__/shareAssetLayout.test.ts › never places two stickers in heavy overlap (broad seed sweep)
📍 Inline annotations are in the **Unit test report** check above. Coverage artifact: `coverage-unit`. Generated by `.github/workflows/tests.yml`.

@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

🖼 Visual diff — 5 screens moved

5 of 68 shots changed · 63 identical · baseline ecd7c0b → head 8b0cf81

worst % screen widths
1.77% avatar-picker 430
0.07% home 320
0.03% add-money 430
0.03% badges 430
0.03% empty-accounts 430

job summary · before/after/diff images — artifact

Fixture screenshots, no backend. Advisory — this check never blocks a merge. Posted from the default branch by ds-shots-comment.yml; the report it renders is untrusted data.

@kushagrasarathe
kushagrasarathe marked this pull request as ready for review September 7, 2026 10:01

@chip-peanut-bot chip-peanut-bot Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Chip review — no blocking findings — this is not an approval

The scale substitutions and named 60vh utilities preserve the touched layouts, and the DS ratchet reductions match the exact-head scan.

Checked clean

  • Exact detached HEAD and merge base match the supplied SHAs; PR metadata matches trusted author kushagrasarathe and base ref dev.
  • All exact-head CI completed successfully, including eslint, format, typecheck, unit, native-export, ds-lint, and ds-shots.
  • Verified min-w-6 remains 24px and the Body/M token retains 16px/500; the nested invite label already owns its 20px line height.
  • Verified h-screen-60, min-h-screen-60, and max-h-screen-60 emit the same 60vh properties as the replaced arbitrary classes.
  • Recomputed the DS lint ratchet: nonDsClassesInViews is 6 and arbitraryFontSize is 110, with no debt metric increase.
  • Reviewed the changed class substitutions and utility definitions for correctness, security exposure, adversarial failure paths, and unnecessary duplication.

Security review: did not run — this change has no security, privacy or money surface, so it was not asked. This review is one reviewer short.

Third opinion by claude-opus: 0 finding(s), marked with the model name. It answers only product truth, missing tests and the cross-repo contract, so treat its findings as advice.

Exact head: 8b0cf81cc03e · Context: repo · Took 7m

@kushagrasarathe
kushagrasarathe merged commit 66118da into dev Sep 7, 2026
26 of 27 checks passed

This branch was successfully deployed

1 active deployment
Preview — 8b0cf81c Deployed Sep 7, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant