From 033c3d633d3e95a1631190abdcef655f5407855b Mon Sep 17 00:00:00 2001 From: David Ojo Date: Sun, 24 May 2026 21:27:06 +0100 Subject: [PATCH] feat: implement issue feed component to display open bounties --- src/components/IssueFeed.tsx | 53 ++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 src/components/IssueFeed.tsx diff --git a/src/components/IssueFeed.tsx b/src/components/IssueFeed.tsx new file mode 100644 index 0000000..e39d19c --- /dev/null +++ b/src/components/IssueFeed.tsx @@ -0,0 +1,53 @@ +import BountyCard from './BountyCard'; + +interface Issue { + id: number; + number: number; + title: string; + description?: string; + bountyAmount: number; + tokenType: string; + deadline: string; + status: 'open' | 'in-progress' | 'completed' | 'expired'; + labels: string[]; +} + +interface IssueFeedProps { + issues: Issue[]; + loading?: boolean; +} + +export default function IssueFeed({ issues, loading = false }: IssueFeedProps) { + if (loading) { + return ( +
+ Loading issues... +
+ ); + } + + if (issues.length === 0) { + return ( +
+ No issues found. +
+ ); + } + + return ( +
+

Open Bounties

+ {issues.map((issue) => ( + + ))} +
+ ); +} \ No newline at end of file