Skip to content

feat: add real-time countdown timer for bounty deadlines#1000

Open
Humoudideas77 wants to merge 1 commit intoSolFoundry:mainfrom
Humoudideas77:feat/bounty-826-countdown-timer
Open

feat: add real-time countdown timer for bounty deadlines#1000
Humoudideas77 wants to merge 1 commit intoSolFoundry:mainfrom
Humoudideas77:feat/bounty-826-countdown-timer

Conversation

@Humoudideas77
Copy link
Copy Markdown

Summary

Replaces the static timeLeft text display with a live CountdownTimer React component that updates every second, with color-coded urgency states.

Changes

  • CountdownTimer component — real-time countdown updating every 1 second
  • Color states:
    • Normal: text-text-secondary (> 24h remaining)
    • Warning: text-status-warning (< 24h remaining)
    • Urgent: text-status-error with pulse animation (< 1h remaining)
    • Expired: text-text-muted showing 'Expired'
  • Responsive display — shows days/hours/minutes, seconds only on md+ or when urgent
  • Three size variants: sm (card grid), md (detail sidebar), lg (hero)
  • Integrated into BountyCard (grid view) and BountyDetail (sidebar info card)

Acceptance Criteria

  • Timer displays on bounty cards and detail page
  • Updates in real-time (every second)
  • Changes color when < 24 hours (warning)
  • Changes color when < 1 hour (urgent, pulsing)
  • Shows 'Expired' when deadline passes
  • Build passes cleanly

Closes #826

Wallet: GaNj31B1RhEy8eMSyrzhHRPDMVqZVJWztXMVB9yMLEtz

Replaces static timeLeft display with a live countdown timer component
that updates every second. Color changes at thresholds and shows
Expired state.

- CountdownTimer component with real-time updates (1s interval)
- Color states: normal, warning < 24h, urgent < 1h (with pulse)
- Shows Expired when deadline passes
- Responsive: d/h/m/s display with size variants
- Integrated into BountyCard and BountyDetail

Closes SolFoundry#826

Wallet: GaNj31B1RhEy8eMSyrzhHRPDMVqZVJWztXMVB9yMLEtz
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.

🏭 Bounty T1: Bounty Countdown Timer Component

1 participant