fix(shhhhh): list the full waitlist-skip badge set - #2698
Conversation
The /shhhhh landing page showed 3 of the 12 badges that skip the card queue. The API's badge registry (SKIP_BADGE_CODES) is the source of truth; the page now shows all of them. NITA is labeled 'Nita' because 'Nita's Recommendation' clips on the 375px tile.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (4)
📝 WalkthroughWalkthroughThe landing page now uses the complete skip-badge registry, resolves badge icons through ChangesSkip badge access
Estimated code review effort: 2 (Simple) | ~10 minutes Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
Code-analysis diffPainscore total: 7118.07 → 7118.54 (+0.47) 🆕 New findings (17)
✅ Resolved (17)
|
🧪 UI test report — ✅ all greenSuites
📊 Coverage (unit)
⏱ 10 slowest test cases
|
|
@coderabbitai review |
✅ Action performedReview finished.
|
Hand-copied /badges/* paths duplicate badge-assets.json and drift when art is re-cut. getBadgeIcon() is the accessor every other badge surface uses; it also gives fallback art for free.
|
@coderabbitai review |
|
|
@coderabbitai review |
|
Twelve tiles made door 01 four rows tall against door 02's two paragraphs. Collapsed shows the original 3 with '+9 more'; door 02 no longer stretches to match door 01's height (md:self-start).
|
Heads-up from the badge work in #2701 / peanut-api-ts#1351: once those land, the full waitlist-skip set gains SPLITTER and TRON (and this branch's list is already missing SURF_UP). The pinned source of truth is |
Summary
The /shhhhh landing page ("How to get in" → door 01) listed only 3 of the 12 badges that skip the card queue. The set drifted as new skip badges shipped (country launches, creator collab, offramp, events). This PR lists the complete set and stops the icon paths from drifting separately.
Source of truth:
SKIP_BADGE_CODESin peanut-api-ts (src/card/waitlist.ts) — the union of every badge grantingskip:card-queuein either launch phase, pinned bysrc/card/waitlist.test.tson origin/main (the post badge-registry world; the pre-registryseed-definitions.tscheckout is stale). All 12 codes are now on the page: OG_2025_10_12, DEVCONNECT_BA_2025, ARBIVERSE_DEVCONNECT_BA_2025, SEEDLING_DEVCONNECT_BA_2025, EVENT_ALUMNI, CARD_PIONEER, OFFRAMP_USER, NAIJA, TERERE, ACAI_POWERED, NITA, WAITLIST_SKIP.Second commit: icon paths now come from
getBadgeIcon()/ the generated badge-asset manifest instead of a hand-copied list — all 12 resolved paths verified byte-identical, but future art re-cuts can no longer strand this page.Third commit (Konrad's review): the grid collapses to the original 3 tiles with a "+9 more" toggle so door 01 doesn't tower over door 02, and door 02 no longer stretches to match door 01's height (
md:self-start). Toggle copy is localized (en / es-419 / pt-BR; es-AR inherits).Design notes / accepted trade-offs
skip:card-queuebadges (Skip Pass, Devconnect, Seedling, Offramp User) skip right now; the@postlaunchones skip from public launch. The page advertised the union before this PR too (OG and Arbiverse are@postlaunch) — this PR keeps that stance. If you'd rather list only the 4 currently-active codes, say so and I'll trim.active: false(grandfathered — existing holders keep the skip, no new awards). It was already on the page; kept deliberately.badge:check --write-manifest) to also emit the skip-code list, so this array becomes generated instead of transcribed.Task
TASK-21506 — Sprint 180, tagged BLOCKED pending human review.
Risks / breaking changes
None. Static data + one accessor reuse on one landing page; no logic, routes, or API changes. Base is
main(hotfix path — prod page fix); back-merge debt main→dev after merge.QA
npm run typecheck, fullnpm test(228 suites / 2925 tests), prettier — all green./_next/imagewrapper), so the 9 new SVG tiles render the same way the existing 3 do.Screenshots
Assets live on
pr-assets-2698(delete the branch post-merge).Summary by CodeRabbit
New Features
Localization