Skip to content

[#924] Redesign airdrop hero with bold campaign concept#930

Merged
realproject7 merged 3 commits intomainfrom
task/924-airdrop-hero-redesign
Apr 22, 2026
Merged

[#924] Redesign airdrop hero with bold campaign concept#930
realproject7 merged 3 commits intomainfrom
task/924-airdrop-hero-redesign

Conversation

@realproject7
Copy link
Copy Markdown
Owner

Summary

Fixes #924

  • CampaignHero: Bold "PLOT Big or Nothing Airdrop" title with "50,000 PLOT locked. Earn or burn." tagline and weeks/days countdown timer
  • MilestoneTrack: Replaced linear progress bar with SVG area/step chart showing FDV milestone unlock curve (Bronze → Silver → Gold → Diamond) inspired by ultrasound.money
  • Heartbeat-animated pulsing dot shows current FDV position with vertical dashed line
  • Logarithmic x-axis ($10K–$200M), vertical zone dividers, milestone annotations with emoji + pool % + USD value
  • PlotLink brown/cream palette throughout, responsive on mobile

Note: The chart uses 4-tier presentation data (including Diamond at $100M FDV / 100%) per the issue spec. The backend config still uses the 3-tier system — a config update may be needed as a follow-up if Diamond is to be enforced in distribution logic.

Test plan

  • Verify hero displays "PLOT Big or Nothing Airdrop" with tagline and countdown
  • Verify area chart renders with 4 milestone zones and vertical dividers
  • Verify current FDV dot pulses with heartbeat animation
  • Verify chart is readable on mobile viewports (min-width 320px)
  • Verify FDV label (not "Market Cap") appears throughout
  • Verify stats row (participants, PL earned, price) still renders
  • Verify lockup proof link still appears when lockerId is set

🤖 Generated with Claude Code

- 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>
@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 22, 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 22, 2026 1:30am

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 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

  1. Hardcoded poolUsd in CHART_MILESTONES — values assume exactly 50,000 PLOT at specific milestone prices. If data.poolAmount changes, the chart becomes silently wrong. Recommend computing dynamically as follow-up.
  2. Font mismatch — SVG text uses Inter, system-ui, sans-serif vs the design system's Geist Mono. Fine if intentional for chart readability.
  3. Missing hover/tooltip — spec mentions it but text summary below chart partially covers it. Acceptable as follow-up.
  4. SVG accessibility — No aria-label or role="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.

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 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.

Decision

Requesting changes because this is the core visual interaction of the redesign issue, and the current implementation does not match the specified layout.

realproject7 and others added 2 commits April 22, 2026 10:29
- 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>
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: APPROVE

Both review items resolved:

  1. Dynamic poolUsd — now computed via poolUsdAt(fdv, poolPct, poolAmount) with useMemo keyed on data.poolAmount. Y-axis ticks scale dynamically. No more hardcoded values.
  2. SVG accessibilityrole="img" + descriptive aria-label added.
  3. 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.

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 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.

@realproject7 realproject7 merged commit 874626d into main Apr 22, 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 section with bold campaign concept display

2 participants