Skip to content

feat(badges): Splitter artwork + share line - #2701

Merged
Hugo0 merged 2 commits into
mainfrom
feat/splitter-badge
Aug 18, 2026
Merged

feat(badges): Splitter artwork + share line#2701
Hugo0 merged 2 commits into
mainfrom
feat/splitter-badge

Conversation

@0xkkonrad

@0xkkonrad 0xkkonrad commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Summary

Artwork + share line for the SPLITTER badge (Peanut Split migrators). The Peanut Split glove-hand mark as a house-style sticker — generated against the real logo via the badge-draft pipeline, deliberately not anthropomorphised (no face; Konrad's call). Asset manifest regenerated from the api catalog.

Task

TASK-21584 — Settle link carries no invite code — new users hit the invite wall

Risks / breaking changes

  • Cross-repo pair: registry entry + campaign live in peanut-api-ts attempt at more fixes #1351. This PR is inert until that deploys (asset + share-line only, both keyed by badge code); safe to merge first — and it should merge before or with attempt at more fixes #1351 so the icon is servable when the badge goes live.
  • No code paths changed: one SVG, one generated JSON manifest entry, one BADGE_SHARE_LINES string.

QA

  • Badge component suites 53/53 locally; full unit suite 2710/2710 tests.
  • check-badge-catalog --ui-root green against this tree (53 assets match the catalog).

Screenshots

Splitter badge (public/badges/splitter.svg)
Splitter badge sticker

In-app surfaces are unreachable until #1351 deploys (presentation is API-driven); the asset above is the full visible change. Assets branch pr-assets-2701 is deleted post-merge.

Base note

Based on main, pairing with #1351 (surf-up precedent — see that PR's base note).

The Peanut Split glove-hand mark as a house-style sticker (badge-draft
pipeline, generated against the real logo, deliberately no face). Asset
manifest regenerated from the api catalog; pairs with the peanut-api-ts
SPLITTER registry PR.
@github-actions

Copy link
Copy Markdown
Contributor

Code-analysis diff

Painscore total: 7096.03 → 7096.17 (+0.14)
Findings: 0 net (+2 new, -2 resolved)

🆕 New findings (2)

  • high hotspot — src/components/Badges/badge.utils.ts — 49 commits, +549/-446 lines since 6 months ago
  • medium complexity — src/components/Badges/badge.utils.ts — CC 17, MI 58.79, SLOC 64

✅ Resolved (2)

  • src/components/Badges/badge.utils.ts — 48 commits, +548/-446 lines since 6 months ago
  • src/components/Badges/badge.utils.ts — CC 17, MI 58.97, SLOC 63

Restore the badges-recraft output framing (viewBox 0 0 2048 2048, 1024px,
preserveAspectRatio none) instead of the hand-cropped square — the tight
crop rendered Splitter oversized next to sibling badges in grids. Only
the brand pink is snapped to #FF90E8.
@coderabbitai

coderabbitai Bot commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Caution

Review failed

An error occurred during the review process. Please try again later.


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

Copy link
Copy Markdown
Contributor

🧪 UI test report — ✅ all green

Suites

  • unit: 2934 ran, 0 failed, 0 skipped, 52.6s

📊 Coverage (unit)

metric %
statements 66.3%
branches 51.3%
functions 56.4%
lines 67.0%
⏱ 10 slowest test cases
time test
4.0s src/components/Card/share-asset/__tests__/shareAssetLayout.test.ts › never places two stickers in heavy overlap (broad seed sweep)
1.0s src/utils/__tests__/demo-api.test.ts › isDemoMode() is false when not running under Capacitor
0.4s src/utils/__tests__/auth-token.test.ts › ignores the guarded marker and falls back to the plain token
0.4s src/components/Card/share-asset/__tests__/shareAssetLayout.test.ts › every sticker stays within canvas at any count
0.3s src/utils/__tests__/sentry.utils.test.ts › defaults to the client budget under a browser global
0.3s src/app/(mobile-ui)/withdraw/__tests__/withdraw-states.test.tsx › Bank withdrawal keeps the $1 minimum for sub-$1 amounts
0.3s src/app/actions/__tests__/api-headers-extended.test.ts › should not include apiKey in validateInviteCode body
0.3s src/hooks/__tests__/useCrispTokenId.test.ts › retries then stays undefined when the endpoint keeps failing (no fallback token)
0.3s src/utils/__tests__/sentry.utils.test.ts › still lets a per-call timeoutMs win over the default
0.3s src/utils/__tests__/demo-balance.test.ts › resetDemoBalance refills and restarts the TTL window
📍 Inline annotations are in the **Unit test report** check above. Coverage artifact: `coverage-unit`. Generated by `.github/workflows/tests.yml`.

@0xkkonrad

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@vercel

vercel Bot commented Aug 17, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
peanut-wallet Ready Ready Preview Aug 17, 2026 4:18pm

Request Review

@0xkkonrad
0xkkonrad marked this pull request as ready for review August 17, 2026 15:35
@0xkkonrad

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 17, 2026

Copy link
Copy Markdown
Contributor
❌ Action failed

Review failed.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@0xkkonrad

Copy link
Copy Markdown
Contributor Author

@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Aug 17, 2026

Copy link
Copy Markdown
Contributor
❌ Action failed

Review failed.

@Hugo0
Hugo0 merged commit 500109e into main Aug 18, 2026
32 of 36 checks passed
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.

2 participants