Skip to content

[Airdrop] Fix FDV mismatch and chart linear projection start point #948

@realproject7

Description

@realproject7

Parent: #877

Three bugs

1. FDV mismatch between /airdrop and /token pages

  • /airdrop shows FDV: $20.75K
  • /token shows FDV: $21.26K (correct, matches Mint Club)

Root cause: The airdrop status API uses getPlotUsdPrice() which tries 3 sources via Promise.any(). The /token page likely uses Mint Club SDK directly. Different sources return slightly different prices.

Fix: Align the airdrop status API to use the same price source as /token for consistency.

2. Chart: current FDV dot position and linear projection are wrong

Current FDV dot: Appears at ~$2M on Y-axis, but actual FDV is ~$21K. Should be near the bottom.

Linear projection: Should start from campaign start date with the start FDV, not from current date. The line represents "constant growth needed from day 1 to hit Diamond."

Fix:

  • Fix log scale mapping for the dot position
  • Projection: (campaignStartX, startFDV)(campaignEndX, diamondFDV)

3. Mobile chart still unreadable

The chart text, milestone labels, axis labels, and legend are far too small on mobile (~375px). The SVG scales down but font sizes don't compensate.

Fix — mobile-specific layout:

On screens < 640px, replace the SVG chart with a simplified mobile view:

┌──────────────────────────────┐
│  FDV Progress                │
│                              │
│  Current: $20.75K            │
│  ████░░░░░░░░░░░░░░░░  2%   │
│                              │
│  🥉 $1M ─────────── 10%     │
│  🥈 $10M ──────────  30%    │
│  🥇 $50M ──────────  50%    │
│  💎 $100M ─────────  100%   │
│                              │
│  Linear target today: $XXK   │
└──────────────────────────────┘
  • Show full SVG chart on desktop only (sm: and above)
  • On mobile: progress bar + milestone list + current vs target comparison
  • All text at readable mobile sizes (12-14px)

This avoids trying to cram a complex multi-axis chart into 375px — it just doesn't work.

Files

  • src/app/api/airdrop/status/route.ts — align FDV source
  • src/components/airdrop/CampaignHero.tsx — fix dot, fix projection, add mobile layout

Acceptance Criteria

  • FDV on /airdrop matches /token exactly
  • Current FDV dot at correct Y position (~$21K, near bottom)
  • Linear projection starts from campaign start date
  • Mobile (< 640px): simplified milestone list view, no tiny SVG chart
  • All text readable on mobile (no squinting)

Metadata

Metadata

Assignees

No one assigned

    Labels

    agent/T3Assigned to T3 builder agentairdropPLOT 10x Airdrop CampaignbugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions