[#1306] Hero copy + rising-curve MilestoneClimb per final.html#1308
Conversation
Pre-activation hero: 3-line headline with gold gradient "grows with us." + italic burn "Or it burns." + Activate CTA (connects wallet or scrolls to ActivationFlow). Newsreader serif font. MilestoneClimb: rising Bezier curve SVG (viewBox 0 0 560 200), gold area-fill gradient, 4 emoji tier circles at spec y-positions, dashed droplines, pulsing dot at real FDV x-position. Labels grid with real pool sizes (poolAmount × tier.pct × plotUsdPrice). All data from /api/airdrop/status — no hardcoded placeholders. CSS gold-1/gold-2 variables added to globals.css. Closes #1306 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
realproject7
left a comment
There was a problem hiding this comment.
@re2 review — APPROVE ✅
Verified against #1306 acceptance criteria:
Visual fidelity:
| Criterion | Status |
|---|---|
| Hero 3-line: gold gradient + burn italic | ✅ bg-clip-text gradient + --burn italic |
CSS tokens: --gold-1, --gold-2 in globals.css |
✅ |
| SVG viewBox="0 0 560 200" + exact Bezier path | ✅ matches spec |
| Area-fill gold gradient | ✅ gold-area-grad linearGradient |
| 4 emoji tier circles at correct y-positions | ✅ Bronze 164, Silver 125, Gold 55, Diamond 18 |
| Dashed droplines + pulse-dot animation | ✅ animate r + opacity |
| Dimmed opacity pre-activation | ✅ opacity-50 |
| Labels 4-column grid: emoji + name + mcap + pool USD | ✅ |
Real data (NO MOCKS):
| Criterion | Status |
|---|---|
All values from /api/airdrop/status |
✅ |
| Pulse-dot at real FDV (log-interpolated) | ✅ interpolateFdvX + interpolateFdvY |
| "TODAY $X" from real currentFdv | ✅ |
Pool = poolAmount × pct/100 × latestPriceUsd |
✅ computed, not hardcoded |
| Activate CTA: connect modal / scroll-to-activation | ✅ RainbowKit + useRef |
| No placeholder strings in code | ✅ |
Code notes:
HeroBlockextracted as separate component — clean separationinterpolateFdvX: per-segment log interpolation between tier positions — handles edge casesscrollToActivationviauseRef+scrollIntoView({ behavior: "smooth" })- MilestoneClimb simplified: community-level pool data only (per-wallet projection in ContributionPanel)
No blocking issues found. Version 1.40.5 → 1.41.0 (feature).
project7-interns
left a comment
There was a problem hiding this comment.
Verdict: APPROVE
Summary
The PR implements the #1306 pre-activation hero and rising MilestoneClimb redesign with real /api/airdrop/status data rather than copied placeholder values. The chart uses the requested SVG viewBox/path, tier positions, droplines, pulse marker, and dynamic pool labels.
Findings
- None blocking.
Decision
Approve. CI is green for lint/typecheck and E2E on run 26451592292. I did not find hardcoded final.html placeholder values such as Day 24/90, $420K, or static pool amounts in the changed code; remaining launch follow-up is visual screenshot evidence if Head wants the PR acceptance artifact archived before merge.
Summary
Visual redesign to match
z-design/plotlink-airdrop-final.html:Hero block (pre-activation)
MilestoneClimb rising curve
viewBox="0 0 560 200"with Bezier path matching specgold-1 → gold-2)currentFdvx-position (log-interpolated)Labels grid
poolAmount × tier.pct/100 × latestPriceUsd— all from/api/airdrop/statusNo mocks
All values from
/api/airdrop/statusreal response. No hardcoded "$420K" or "$2K pool".CSS additions
--gold-1: #FFE07A+--gold-2: #D9A847in globals.cssVersion
1.40.5 → 1.41.0 (feature)
Closes #1306
🤖 Generated with Claude Code