Skip to content

Redesign airdrop hero — Growing Pool with burn bar (#1011)#1014

Merged
realproject7 merged 3 commits intomainfrom
feat/hero-growing-pool-1011
Apr 30, 2026
Merged

Redesign airdrop hero — Growing Pool with burn bar (#1011)#1014
realproject7 merged 3 commits intomainfrom
feat/hero-growing-pool-1011

Conversation

@realproject7
Copy link
Copy Markdown
Owner

Summary

  • Rewrote CampaignHero.tsx with bold "5% OF ALL PLOT — LOCKED" headline and burn-or-distribute narrative
  • Added live burn bar showing current burn/distribute split based on FDV milestones
  • Replaced SVG chart + tier cards with flat "What happens as PLOT grows" rows (FDV, unlock%, burn%, PLOT amount, pool value, CMC rank)
  • Removed tier names (Bronze/Silver/Gold/Diamond) — rows show raw numbers instead
  • Deleted unused MilestoneTrack.tsx (zero imports across codebase)
  • Removed useDailyPrices dependency (no more daily-prices API calls)
  • Responsive by default — no separate mobile view needed

What stays

  • Countdown timer
  • Lock-up proof link (Mint Club)
  • All values from /api/airdrop/status (config-driven test/prod)
  • Participant count

Closes #1011

Test plan

  • Verify burn bar renders correctly at various FDV levels (below bronze, between tiers, at diamond)
  • Verify milestone rows show correct PLOT amounts and pool USD values
  • Verify countdown timer ticks correctly
  • Verify lock-up proof link works in test mode (locker ID 3882)
  • Check responsive layout on mobile viewports
  • Confirm no console errors or hydration mismatches
  • Verify MilestoneTrack removal causes no breakage

🤖 Generated with Claude Code

#1011)

Replace the complex SVG chart/StatsRow/tier-name approach with a bold
"5% OF ALL PLOT — LOCKED" headline, a live burn bar showing the current
burn/distribute split, and flat milestone rows showing FDV targets with
unlock percentages and pool values. Delete unused MilestoneTrack component.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 30, 2026

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

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
plotlink Ignored Ignored Apr 30, 2026 2:40am

Request Review

Copy link
Copy Markdown
Owner Author

@realproject7 realproject7 left a comment

Choose a reason for hiding this comment

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

RE2 Review — PR #1014

Overall: Clean rewrite that hits all the acceptance criteria. The 188-line replacement for ~960 lines of SVG + chart code is a big readability win. Ship-blocking issues: 0. Suggestions below.

Nit: CMC_RANKS hardcoded to prod FDV values

CMC_RANKS maps prod milestone mcap values (1M, 10M, 50M, 100M), but test config uses different values (7K, 10K, 35K, 50K). Result: cmcRank will always be null in test mode — CMC rank annotations are invisible during development.

Not a production bug since prod values match, but it makes the feature untestable locally. Consider either:

  • Keying CMC_RANKS off milestone index rather than exact FDV value, or
  • Accepting this as a known dev-only limitation and documenting it with a brief inline note

Minor observations (non-blocking)

  1. Headline casing — Wireframe spec shows "GROW THE MARKET. OR WATCH IT BURN." in all-caps, but implementation uses sentence case ("Grow the market. Or watch it burn."). Intentional? Both work visually, but the all-caps version matches the "ticking bomb" energy the issue describes.

  2. Lock-up link text — Changed from "View lock-up proof on Mint Club" to "Verified on Mint Club". The wireframe says "Verified on Basescan" — this may be a stale wireframe reference since the actual link points to Mint Club, so current text seems correct.

  3. useDailyPrices removal — Issue says to remove the daily-prices API dependency from the hero. The API route itself (/api/airdrop/daily-prices) still exists (used elsewhere?). Just confirming this was intentional scope — the PR correctly removes only the client-side hook.

Checklist vs. acceptance criteria

  • Bold headline communicating stakes
  • Burn bar showing current burn/distribute split
  • "What happens as PLOT grows" — 4 rows with FDV, unlock%, PLOT amount, pool value, burn%, CMC rank
  • No tier names (no Bronze/Silver/Gold/Diamond)
  • Responsive without separate mobile view
  • All values from config (test/prod)
  • Countdown + lock-up link preserved
  • SVG chart + StatsRow + MilestoneTrack removed

LGTM with the above noted. No blocking issues.

Copy link
Copy Markdown
Collaborator

@project7-interns project7-interns left a comment

Choose a reason for hiding this comment

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

Verdict: REQUEST CHANGES

Summary

The hero rewrite is broadly aligned with the Growing Pool concept, but one acceptance-criteria field is not preserved under the config-driven test/prod milestone setup.

Findings

  • [medium] CMC rank labels are keyed to the production FDV numbers, so they disappear whenever the configured milestones differ, including the current test config.
    • File: src/components/airdrop/CampaignHero.tsx:44
    • File: src/components/airdrop/CampaignHero.tsx:109
    • File: src/components/airdrop/CampaignHero.tsx:309
    • Suggestion: Make CMC rank metadata config-aware or tier-key-based rather than exact-FDV-based, so each of the four rows always includes the required CMC rank while still respecting test/prod milestone values.

Decision

Requesting changes because issue #1011 explicitly requires each row to include FDV, unlock %, PLOT amount, pool value, burn %, and CMC rank, and also requires config-driven test/prod behavior. With NEXT_PUBLIC_AIRDROP_MODE=test, the configured milestone FDVs are 7K/10K/35K/50K, none of which match the hard-coded CMC_RANKS keys, so the rows render without CMC ranks.

CMC_RANKS keyed by tier index instead of exact FDV value so ranks
render in both test and prod configs. Headline subtitle now uses
uppercase tracking per wireframe spec.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown
Owner Author

@realproject7 realproject7 left a comment

Choose a reason for hiding this comment

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

RE2 Re-review — LGTM ✓

Both issues addressed cleanly:

  1. CMC_RANKS — now an index-based array instead of FDV-keyed record. Ranks render correctly in both test and prod configs. ✓
  2. Headline casing — subtitle uses uppercase tracking-wide font-bold, matching wireframe spec. ✓

No new issues introduced. Ship it.

Copy link
Copy Markdown
Collaborator

@project7-interns project7-interns left a comment

Choose a reason for hiding this comment

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

Verdict: APPROVE

Summary

The re-review fix addresses the config-driven CMC rank issue: ranks are now tier-index-based, so the four milestone rows keep CMC labels when test/prod FDV values differ. The hero matches the Growing Pool direction, preserves countdown and lock-up proof, removes the chart/StatsRow/MilestoneTrack surface, and keeps milestone values driven by /api/airdrop/status.

Findings

  • No blocking findings.

Decision

Approved. Note: GitHub checks currently show Vercel skipped/canceled by ignored build step rather than a real build result, so this approval is based on diff review and acceptance criteria rather than passing CI.

Merge main into feat branch, resolving conflicts by keeping the
Growing Pool design (#1011) while adopting the lockerId→lockerTx
rename and Basescan link from #1003/#1007.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@realproject7 realproject7 merged commit 23b0f06 into main Apr 30, 2026
4 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.

Airdrop: redesign hero — bold 'Growing Pool' concept with burn visualization

2 participants