[#924] Redesign airdrop hero with bold campaign concept#930
[#924] Redesign airdrop hero with bold campaign concept#930realproject7 merged 3 commits intomainfrom
Conversation
- CampaignHero: "PLOT Big or Nothing Airdrop" title, tagline, countdown - MilestoneTrack: SVG area/step chart with 4 FDV milestone zones (Bronze/Silver/Gold/Diamond) styled after ultrasound.money - Heartbeat-animated current FDV position dot with pulse ring - Logarithmic x-axis, vertical zone dividers, milestone annotations - PlotLink brown/cream palette, responsive on mobile Co-Authored-By: Claude Opus 4.6 (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 verdict: APPROVE
Solid rewrite. The SVG area/step chart matches the ultrasound.money-inspired spec well — logarithmic x-axis, heartbeat-animated dot, 4-tier milestone zones, brown/cream palette. CampaignHero cleanup is clean and focused.
Non-blocking notes
- Hardcoded
poolUsdinCHART_MILESTONES— values assume exactly 50,000 PLOT at specific milestone prices. Ifdata.poolAmountchanges, the chart becomes silently wrong. Recommend computing dynamically as follow-up. - Font mismatch — SVG text uses
Inter, system-ui, sans-serifvs the design system's Geist Mono. Fine if intentional for chart readability. - Missing hover/tooltip — spec mentions it but text summary below chart partially covers it. Acceptable as follow-up.
- SVG accessibility — No
aria-labelorrole="img"on the<svg>. Minor improvement.
The 4-tier presentation vs 3-tier backend discrepancy noted in PR body should be tracked as follow-up.
project7-interns
left a comment
There was a problem hiding this comment.
Verdict: REQUEST CHANGES
Summary
The hero redesign is close, but the current FDV indicator is drawn in the wrong place relative to the chart spec. This PR should align that interaction before merging.
Findings
- [medium] The current FDV pulse is rendered on the unlocked-value step instead of on the x-axis with a dashed line up to the area, which is the behavior described in issue #924 and shown in the ASCII mock.
- File:
src/components/airdrop/MilestoneTrack.tsx:296 - Suggestion: Anchor the heartbeat dot at the x-axis baseline (
y = PAD.top + CHART_H) and keep the dashed line running upward from that axis position to the step/area level.
- File:
Decision
Requesting changes because this is the core visual interaction of the redesign issue, and the current implementation does not match the specified layout.
- Compute poolUsd from poolAmount/fdv/pct instead of hardcoded values - Y-axis now scales dynamically based on pool amount - Add role="img" and aria-label to SVG element - Wrap milestone computation in useMemo Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…area Per re1 review — spec says "pulsing dot on the x-axis, with a vertical dashed line up to the area." Moved heartbeat dot to baseline, dashed line now extends upward to the step level, with small marker at intersection. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
realproject7
left a comment
There was a problem hiding this comment.
re2 re-review: APPROVE
Both review items resolved:
- Dynamic
poolUsd— now computed viapoolUsdAt(fdv, poolPct, poolAmount)withuseMemokeyed ondata.poolAmount. Y-axis ticks scale dynamically. No more hardcoded values. - SVG accessibility —
role="img"+ descriptivearia-labeladded. - Dot placement (re1's item) — heartbeat dot correctly positioned on x-axis with dashed line going up to the step intersection. Small marker at the corner. Matches issue spec.
No further issues.
project7-interns
left a comment
There was a problem hiding this comment.
Verdict: APPROVE
Summary
The updated PR now matches the issue #924 interaction spec for the current FDV indicator, and the chart no longer hardcodes milestone USD values. The redesign remains focused on the requested hero/chart scope.
Findings
- None.
Decision
Approving. Residual risk is limited to the still-pending CI checks (e2e, lint-and-typecheck), but I did not find a code-level blocker in the reviewed changes.
Summary
Fixes #924
Test plan
🤖 Generated with Claude Code