From 6b992c937d4291fa7d75efc485fae1d003a7173c Mon Sep 17 00:00:00 2001 From: Mag <166319982+magali-la@users.noreply.github.com> Date: Sat, 22 Nov 2025 22:18:21 -0500 Subject: [PATCH 1/2] feat(challenges): create challenge grid tile component with Tailwind Variants --- src/components/Challenges/ChallengeTile.jsx | 41 +++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/components/Challenges/ChallengeTile.jsx diff --git a/src/components/Challenges/ChallengeTile.jsx b/src/components/Challenges/ChallengeTile.jsx new file mode 100644 index 0000000..33be9d1 --- /dev/null +++ b/src/components/Challenges/ChallengeTile.jsx @@ -0,0 +1,41 @@ +import { tv } from "tailwind-variants/lite"; +import Button from "../Button"; +import { FaArrowRight } from "react-icons/fa6"; + +const tileVariants = tv({ + base: 'font-poppins flex flex-col justify-start py-6 px-4 rounded-lg shadow-[0_4px_15px_rgba(0,0,0,0.25)]', + + variants: { + size: { + sm: 'h-[222px]', + lg: 'h-[222px] md:h-[340px]' + }, + span: { + 2: 'col-span-1 md:col-span-2', + 3: 'col-span-1 md:col-span-3' + } + }, +}); + +export default function ChallengeTile({ size, span, title, subtitle, tags, to }){ + return ( +
+
+
+

{title}

+

{subtitle}

+
+ {/* tag and button */} +
+

{tags}

+
+
+
+ ); +}; \ No newline at end of file From 057b5c449266590494787d421925c9397f4552bd Mon Sep 17 00:00:00 2001 From: Mag <166319982+magali-la@users.noreply.github.com> Date: Sat, 22 Nov 2025 23:41:27 -0500 Subject: [PATCH 2/2] feat(challenges): create responsive grid layout for tiles, fixed issue with button on large tiles --- src/components/Challenges/ChallengeTile.jsx | 2 +- src/pages/Challenges.jsx | 110 +++++++++----------- 2 files changed, 51 insertions(+), 61 deletions(-) diff --git a/src/components/Challenges/ChallengeTile.jsx b/src/components/Challenges/ChallengeTile.jsx index 33be9d1..7047c72 100644 --- a/src/components/Challenges/ChallengeTile.jsx +++ b/src/components/Challenges/ChallengeTile.jsx @@ -27,7 +27,7 @@ export default function ChallengeTile({ size, span, title, subtitle, tags, to }) {/* tag and button */}
-

{tags}

+

{tags}

+
+ {/* title section */} +
+

Which task would you like to work on today?

+
+ + {/* challenge tile grid */} +
+ {/* row 1 */} + + + + + {/* row 2 */} + + +
+
); }; \ No newline at end of file