From 81b722c6136fbe262ff584f65516275ef84d9ced Mon Sep 17 00:00:00 2001 From: satasatalight Date: Wed, 17 Jun 2026 14:06:57 -0400 Subject: [PATCH 1/4] feat: add ChallengeCard --- components/ChallengeCard.tsx | 42 ++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 components/ChallengeCard.tsx diff --git a/components/ChallengeCard.tsx b/components/ChallengeCard.tsx new file mode 100644 index 0000000..4ec9300 --- /dev/null +++ b/components/ChallengeCard.tsx @@ -0,0 +1,42 @@ +export interface ChallengeCardProps { + name: string; + desc: string; + tags: Array; + deadline: Date; + link: string; +} + +export default function ChallengeCard({name, desc, tags, deadline, link} : ChallengeCardProps){ + const monthNames = ["January", "Feburary", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]; + + return
+
+
+
+ {monthNames[deadline.getMonth()] + " " + deadline.getFullYear()} Challenge +
+

+ {name} +

+
+
+

+ 📆 Deadline +

+

+ {monthNames[deadline.getMonth()] + " " + deadline.getDay() + ", " + deadline.getFullYear()} +

+
+
+

{desc}

+
+ {tags.map((tag) => +
+ #{tag} +
)} +
+ + Link to Challenge + +
; +} \ No newline at end of file From 3d70d6c6d0ce2bd465eca6f4e151d4bf2ff3de04 Mon Sep 17 00:00:00 2001 From: satasatalight Date: Wed, 17 Jun 2026 14:16:07 -0400 Subject: [PATCH 2/4] fix: correct ChallengeCard deadline Date call --- components/ChallengeCard.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/ChallengeCard.tsx b/components/ChallengeCard.tsx index 4ec9300..2b9681e 100644 --- a/components/ChallengeCard.tsx +++ b/components/ChallengeCard.tsx @@ -24,7 +24,7 @@ export default function ChallengeCard({name, desc, tags, deadline, link} : Chall 📆 Deadline

- {monthNames[deadline.getMonth()] + " " + deadline.getDay() + ", " + deadline.getFullYear()} + {monthNames[deadline.getMonth()] + " " + deadline.getDate() + ", " + deadline.getFullYear()}

From 860ce23485c951241cf4c2d82f636cf0d60a7d02 Mon Sep 17 00:00:00 2001 From: Sebastian Noel Date: Wed, 17 Jun 2026 18:39:04 -0400 Subject: [PATCH 3/4] fix/minor-challenge-card-fixes --- components/ChallengeCard.tsx | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/components/ChallengeCard.tsx b/components/ChallengeCard.tsx index 2b9681e..e258b7d 100644 --- a/components/ChallengeCard.tsx +++ b/components/ChallengeCard.tsx @@ -7,12 +7,12 @@ export interface ChallengeCardProps { } export default function ChallengeCard({name, desc, tags, deadline, link} : ChallengeCardProps){ - const monthNames = ["January", "Feburary", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]; + const monthNames = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]; - return
+ return
-
+
{monthNames[deadline.getMonth()] + " " + deadline.getFullYear()} Challenge

@@ -28,15 +28,15 @@ export default function ChallengeCard({name, desc, tags, deadline, link} : Chall

-

{desc}

+

{desc}

{tags.map((tag) => -
+
#{tag}
)}
- + Link to Challenge
; -} \ No newline at end of file +} From 92db15ca5aa1760d6e08825d8049ac4316a46d70 Mon Sep 17 00:00:00 2001 From: Sebastian Noel Date: Wed, 22 Jul 2026 22:35:03 -0400 Subject: [PATCH 4/4] fix: correct ChallengeCard styling and consistency issues --- components/ChallengeCard.tsx | 87 +++++++++++++++++++++--------------- 1 file changed, 52 insertions(+), 35 deletions(-) diff --git a/components/ChallengeCard.tsx b/components/ChallengeCard.tsx index e258b7d..273a2b6 100644 --- a/components/ChallengeCard.tsx +++ b/components/ChallengeCard.tsx @@ -1,42 +1,59 @@ +import { FaRegCalendarAlt } from "react-icons/fa"; + export interface ChallengeCardProps { - name: string; - desc: string; - tags: Array; - deadline: Date; - link: string; + name: string; + desc: string; + tags: string[]; + deadline: Date; + link: string; } -export default function ChallengeCard({name, desc, tags, deadline, link} : ChallengeCardProps){ - const monthNames = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]; +const monthNames = [ + "January", "February", "March", "April", "May", "June", + "July", "August", "September", "October", "November", "December", +]; - return
-
-
-
- {monthNames[deadline.getMonth()] + " " + deadline.getFullYear()} Challenge -
-

- {name} -

-
-
-

- 📆 Deadline -

-

- {monthNames[deadline.getMonth()] + " " + deadline.getDate() + ", " + deadline.getFullYear()} -

-
+export default function ChallengeCard({ name, desc, tags, deadline, link }: ChallengeCardProps) { + return ( +
+
+
+
+ {monthNames[deadline.getMonth()] + " " + deadline.getFullYear()} Challenge +
+

+ {name} +

-

{desc}

-
- {tags.map((tag) => -
- #{tag} -
)} +
+

+ + Deadline +

+

+ {monthNames[deadline.getMonth()] + " " + deadline.getDate() + ", " + deadline.getFullYear()} +

- - Link to Challenge - -
; +
+

{desc}

+
+ {tags.map((tag) => ( +
+ #{tag} +
+ ))} +
+ + Link to Challenge + +
+ ); }