Skip to content

feat: Bounty Countdown Timer Component (#826)#988

Open
plutuscontrol-ui wants to merge 2 commits intoSolFoundry:mainfrom
plutuscontrol-ui:feature/countdown-timer-826
Open

feat: Bounty Countdown Timer Component (#826)#988
plutuscontrol-ui wants to merge 2 commits intoSolFoundry:mainfrom
plutuscontrol-ui:feature/countdown-timer-826

Conversation

@plutuscontrol-ui
Copy link
Copy Markdown

Summary

Implements a countdown timer component for time-sensitive bounties as requested in bounty #826.

Features

  • ✅ Real-time countdown showing days/hours/minutes/seconds
  • ✅ Multiple display variants: default, compact, detailed
  • ✅ Visual urgency indicators (Urgent/Critical states)
  • ✅ Handles expired bounties with clear 'Expired' state
  • ✅ Timezone-aware display with full timestamp
  • ✅ Responsive design with size variants (sm, md, lg)
  • ✅ Smooth animations using Framer Motion
  • ✅ Reusable component with clean API

Components Added

  • CountdownTimer - Main countdown component
  • UrgentIndicator - Badge for urgent bounties (<24h)
  • ExpiredBadge - Clear expired state indicator

Integration

  • Updated BountyCard with compact countdown timer
  • Updated BountyDetail with detailed countdown + full timestamp
  • Added utility functions: getTimeRemaining, isUrgent, isCritical

Screenshots

Build successful, ready for deployment

Testing

  • Build passes: npm run build
  • Component handles edge cases:
    • Expired deadlines
    • Timezone differences
    • Page visibility changes (tab switching)

/claim #826

- Create CountdownTimer component with real-time updates
- Support multiple variants: default, compact, detailed
- Add utility functions for time calculations (utils.ts)
- Add animation variants (animations.ts)
- Integrate countdown timer into BountyCard and BountyDetail
- Handle edge cases: expired bounties, timezone issues, urgent states
- Responsive design with size variants (sm, md, lg)
- Add UrgentIndicator and ExpiredBadge components
- Show full deadline timestamp with timezone in detail view
@plutuscontrol-ui
Copy link
Copy Markdown
Author

/claim #826

1 similar comment
@plutuscontrol-ui
Copy link
Copy Markdown
Author

/claim #826

- TimeProgressBar: Visual progress indicator showing % time remaining
- Color-coded bars (emerald → purple → warning → error)
- New 'with-progress' variant combining countdown + progress bar
- Updated BountyDetail to showcase unique progress visualization
- Exports TimeProgressBar for standalone use
- Competitor differentiator: No other submission has visual time progress
@plutuscontrol-ui
Copy link
Copy Markdown
Author

🚀 UNIQUE FEATURES (Competitor Differentiation)

This PR includes exclusive features not found in other submissions:

1. TimeProgressBar Component

Visual progress indicator showing percentage of time remaining:

  • Color-coded gradient: emerald → purple → warning → error
  • Animated bar with smooth transitions
  • Percentage display with matching colors
  • Standalone export for reuse across app

2. "with-progress" Variant

Combines countdown timer + progress bar for maximum visual impact on bounty detail pages

3. Production-Ready Polish

  • Handles page visibility changes (pauses when tab inactive)
  • Proper cleanup of intervals
  • Timezone-aware display with full timestamp
  • Framer Motion animations throughout

Screenshots

Build successful - ready for review


Ready for merge
/claim #826

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

missing-wallet PR is missing a Solana wallet for bounty payout

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant