Skip to content

[Airdrop P3] User points panel + streak + referral UI #887

@realproject7

Description

@realproject7

Parent: #877
Depends on: #882, #883, #885

Scope

Build the user points panel (Section 2) with streak card, point breakdown, and referral management.

Wireframe

┌─────────────────────────────────────────────────┐
│  Your PL Points: 1,250                          │
│  Your share: 2.3% of pool                       │
│  Estimated airdrop (if Gold): 1,150 PLOT ($80K) │
│                                                 │
│  ┌─────────────────────────────────────────┐    │
│  │  🔥 Streak: 32 days       [Check In]   │    │
│  │  Current boost: +20%                    │    │
│  │  Next tier: 50 days (+30%)              │    │
│  │  ██████████████░░░░░  32/50             │    │
│  └─────────────────────────────────────────┘    │
│                                                 │
│  Breakdown:                                     │
│    Buying:     800 PL  (64%)  ← +20% boosted   │
│    Referrals:  350 PL  (28%)  ← +20% boosted   │
│    Writing:    100 PL  (8%)   ← +20% boosted   │
│    Rating:       0 PL  (0%)                     │
│                                                 │
│  Referred by: @alice              (set once)    │
│  — or if not set —                              │
│  Who referred you? [________] [Set]  (one-time) │
│                                                 │
│  Your referral link:                            │
│  plotlink.xyz/airdrop?ref=project7 [Copy][Share]│
│  [Use Farcaster username]  (if eligible)        │
│  Referred users: 5                              │
└─────────────────────────────────────────────────┘

Sub-components

Streak Card

  • Current streak count + [Check In] button
  • [Check In] triggers SIWE sign → POST /api/airdrop/checkin
  • Active boost % applied to earnings
  • Progress bar toward next tier threshold
  • Button disabled with "Checked in today" label after daily sign

Point Breakdown

  • Table/list of points by action (buy, referral, write, rate)
  • Show boost indicator ("← +20% boosted") on rows when streak is active
  • Total points, share of pool %, estimated airdrop at each milestone

Referral Section

  • "Referred by: @username" display (if set)
  • "Who referred you?" input (one-time, only when referral is empty, non-editable after set)
  • Your referral link with [Copy] and [Share] (X/Twitter) buttons
  • [Use Farcaster username] button (only if wallet has linked Farcaster account and code is not yet set)
  • Referred users count

Connect Wallet Prompt

  • If no wallet connected, show a prompt to connect wallet to view points

Data Source

GET /api/airdrop/points?address=0x... — returns points, streak, referral info

Files

  • src/components/airdrop/UserPoints.tsx
  • src/components/airdrop/StreakCard.tsx

Acceptance Criteria

  • Shows connect wallet prompt when not connected
  • Displays total points, share %, estimated airdrop
  • Streak card with check-in button (SIWE), progress bar, boost %
  • Check-in button disabled after daily sign
  • Point breakdown shows all 4 actions with boost indicator
  • Referral link with Copy + Share buttons
  • Farcaster username option for code (only when eligible)
  • Manual "Who referred you?" input (one-time, non-editable)
  • "Referred by" display when referrer is set
  • Referred users count

Metadata

Metadata

Assignees

No one assigned

    Labels

    agent/T3Assigned to T3 builder agentairdropPLOT 10x Airdrop CampaigndesignDesign and UI changes

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions