Skip to content

feat: Add Bounty Countdown Timer Component (Closes #826)#1013

Open
yw13931835525-cyber wants to merge 2 commits intoSolFoundry:mainfrom
yw13931835525-cyber:feat/bounty-826-countdown-timer
Open

feat: Add Bounty Countdown Timer Component (Closes #826)#1013
yw13931835525-cyber wants to merge 2 commits intoSolFoundry:mainfrom
yw13931835525-cyber:feat/bounty-826-countdown-timer

Conversation

@yw13931835525-cyber
Copy link
Copy Markdown

Description

Implements the Bounty Countdown Timer component as specified in #826.

What I built

  • BountyCountdown React component with real-time updates (1s interval)
  • Color urgency states: normal → warning (<24h) → urgent (<1h) → expired
  • Compact mode for bounty cards, full mode for detail pages
  • onExpire callback when deadline passes

Acceptance Criteria

  • Timer displays on bounty cards and detail page
  • Updates without page refresh
  • Visual urgency indicators

Closes #826

Wallet: 7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU

penggaolai and others added 2 commits April 12, 2026 01:06
Fixes for Bounty SolFoundry#821 - GitHub OAuth Sign-In Flow:

1. main.py: Add missing auth_router registration
   - Auth endpoints were returning 404 because router wasn't registered

2. models/user.py: Add missing Pydantic request/response models
   - GitHubOAuthRequest, GitHubOAuthResponse
   - WalletAuthRequest, WalletAuthResponse
   - LinkWalletRequest, LinkWalletResponse
   - RefreshTokenRequest, RefreshTokenResponse
   - AuthMessageResponse

3. api/auth.py: Fix callback endpoint
   - Change from POST /github to GET /github/callback
   - GitHub OAuth redirects with GET, not POST
   - Accept code and state as query parameters

4. services/auth_service.py: Fix URL encoding
   - Use urlencode() for query parameters
   - Ensures redirect_uri and other params are properly encoded

Fixes T1 bounty - unlocks T2/T3 eligibility (200K FNDRY)
- Real-time countdown with days/hours/minutes/seconds
- Color shifts: normal → warning (<24h) → urgent (<1h) → expired
- Compact and full display modes
- Used in bounty cards and detail pages
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

2 participants