diff --git a/.gitignore b/.gitignore index 36fca7e4f..eb880f89a 100644 --- a/.gitignore +++ b/.gitignore @@ -27,6 +27,8 @@ eggs/ .eggs/ lib/ lib64/ +!frontend/src/lib/ +!frontend/src/lib/** parts/ sdist/ var/ diff --git a/frontend/src/components/bounty/BountyCard.tsx b/frontend/src/components/bounty/BountyCard.tsx index aa974a474..7605b738a 100644 --- a/frontend/src/components/bounty/BountyCard.tsx +++ b/frontend/src/components/bounty/BountyCard.tsx @@ -61,37 +61,35 @@ export function BountyCard({ bounty }: BountyCardProps) { initial="rest" whileHover="hover" onClick={() => navigate(`/bounties/${bounty.id}`)} - className="relative rounded-xl border border-border bg-forge-900 p-5 cursor-pointer transition-colors duration-200 overflow-hidden group" + className="relative h-full rounded-xl border border-border bg-forge-900 p-4 sm:p-5 cursor-pointer transition-colors duration-200 overflow-hidden group" > {/* Row 1: Repo + Tier */} -
+
{bounty.org_avatar_url && ( )} - - {orgName}/{repoName} - {issueNumber && #{issueNumber}} - + {orgName}/{repoName} + {issueNumber && #{issueNumber}}
{/* Row 2: Title */} -

+

{bounty.title}

{/* Row 3: Language dots */} {skills.length > 0 && ( -
+
{skills.map((lang) => ( - {lang} + {lang} ))}
@@ -101,11 +99,11 @@ export function BountyCard({ bounty }: BountyCardProps) {
{/* Row 4: Reward + Meta */} -
- +
+ {formatCurrency(bounty.reward_amount, bounty.reward_token)} -
+
{bounty.submission_count} PRs @@ -120,7 +118,7 @@ export function BountyCard({ bounty }: BountyCardProps) {
{/* Status badge */} - + {statusLabel} diff --git a/frontend/src/components/bounty/BountyGrid.tsx b/frontend/src/components/bounty/BountyGrid.tsx index 7709ab94c..5203ee7cc 100644 --- a/frontend/src/components/bounty/BountyGrid.tsx +++ b/frontend/src/components/bounty/BountyGrid.tsx @@ -23,25 +23,25 @@ export function BountyGrid() { const allBounties = data?.pages.flatMap((p) => p.items) ?? []; return ( -
-
+
+
{/* Header row */}

Open Bounties

-
+
Post a Bounty {/* Status filter */} -
+