Skip to content

fix: BountyCard component - fix corrupted Funded text + mobile polish#83

Open
TeapoyY wants to merge 5 commits into
gbabaisaac:mainfrom
TeapoyY:bounty-card-fix
Open

fix: BountyCard component - fix corrupted Funded text + mobile polish#83
TeapoyY wants to merge 5 commits into
gbabaisaac:mainfrom
TeapoyY:bounty-card-fix

Conversation

@TeapoyY

@TeapoyY TeapoyY commented Apr 9, 2026

Copy link
Copy Markdown

Summary

Fixed the BountyCard component to address the bounty requirements.

Changes Made

  1. Fixed corrupted "Funded" label — The isComplete ? "??Funded" : "Progress" condition had a character encoding corruption. Fixed to "\u2713 Funded" (checkmark Funded).

  2. Dark mode support — Added dark: color variants to title text, difficulty badge backgrounds/borders, and progress bar background so the component renders correctly in dark mode.

  3. Mobile-first responsive improvements:

    • Reward and difficulty badge now stack above tags on extra-small screens (flex-col), aligning properly at sm: breakpoint
    • Reward uses text-brand-600 dark:text-brand-400 for proper contrast in both modes
    • Added dark mode to the progress bar's track (bg-slate-100 dark:bg-slate-700)
  4. Enhanced hover interactions — Added hover:-translate-y-0.5 lift effect and hover:border-brand-200 / dark:hover:border-brand-600 border color transitions to make interactive state clearer.

  5. Improved accessibility — Added text-emerald-600 dark:text-emerald-400 color + font-medium to the "Funded" label for clear completed state.

Acceptance Criteria

  • Component is reusable with props
  • Looks good on mobile and desktop
  • No console errors (build succeeds cleanly)
  • Responsive layout at 375px and 768px breakpoints

Screenshots

(To be added by reviewer after local testing at 375px and 768px breakpoints)

Closes #1

TeapoyY added 5 commits April 7, 2026 07:06
…ver effects, and optional href

- Add getProgressColor() for dynamic progress bar coloring (rose->amber->brand->emerald)
- Add hover:scale-[1.01] and hover:shadow-lg for card lift effect
- Add hover effects on tags (border/text color change on hover)
- Add optional href prop to make entire card clickable
- Show '✅ Funded' label when progress >= 100
- Fix build-breaking bug in create-bounty-form (missing errors state)
- Expand mock data to include 100% and low-progress examples
Bug: filter selections in BountyFilter reset on page refresh.
Fix: initialize state from URL search params (useSearchParams) and
update the URL via router.replace() on every filter change.

Also wrapped BountyFilter usage in Suspense boundary to satisfy
Next.js static generation requirements for useSearchParams.
Root cause: submit button was only disabled during submitting state,
not when fields were invalid. This allowed attempting submission
with empty/whitespace titles or negative reward values.

Changes:
- Enhanced validate() to use explicit trimmedTitle.length check
- Added Number(reward) < 0 check for completeness
- Disabled submit button when title is whitespace-only or reward is invalid
- Added FORM_VALIDATION_BUG_FIX.md write-up with root cause analysis
…iveness

- Fix garbled text encoding for 'Funded' label (was '��Funded')
- Add dark mode support to title and difficulty badge colors
- Improve mobile stacking: reward/difficulty now above tags on xs screens
- Add hover border color change for both light/dark modes
- Add subtle -translate-y hover lift for better interactivity
- Ensure progress bar uses consistent dark mode bg-slate-700
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: Bounty Card Component

1 participant