Adjust NumberCard story

This commit is contained in:
adilallo
2026-02-04 10:49:05 -07:00
parent 91635cbf4c
commit d8fa525514
2 changed files with 34 additions and 15 deletions
+20 -5
View File
@@ -34,9 +34,9 @@ const NumberCard = memo<NumberCardProps>(({ number, text, size }) => {
XLarge: "font-bricolage-grotesque font-medium text-[32px] leading-[32px] text-[#141414]", XLarge: "font-bricolage-grotesque font-medium text-[32px] leading-[32px] text-[#141414]",
}; };
// Section number positioning classes // Section number wrapper classes - Small doesn't need a wrapper
const sectionNumberClasses = { const sectionNumberWrapperClasses = {
Small: "flex justify-end items-end", Small: "relative shrink-0",
Medium: "flex justify-start flex-shrink-0", Medium: "flex justify-start flex-shrink-0",
Large: "absolute top-8 right-8", Large: "absolute top-8 right-8",
XLarge: "absolute top-8 right-8", XLarge: "absolute top-8 right-8",
@@ -44,16 +44,31 @@ const NumberCard = memo<NumberCardProps>(({ number, text, size }) => {
// Content container classes // Content container classes
const contentClasses = { const contentClasses = {
Small: "", Small: "min-w-full relative shrink-0",
Medium: "flex-1", Medium: "flex-1",
Large: "absolute bottom-8 left-8 right-16", Large: "absolute bottom-8 left-8 right-16",
XLarge: "absolute bottom-8 left-8 right-16", XLarge: "absolute bottom-8 left-8 right-16",
}; };
// Small variant has section number as direct child, others need wrapper
if (size === "Small") {
return (
<div className={`${baseClasses} ${sizeClasses[size]}`}>
{/* Section Number - Direct child for Small */}
<SectionNumber number={number} />
{/* Card Content */}
<p className={textClasses[size]}>
{text}
</p>
</div>
);
}
return ( return (
<div className={`${baseClasses} ${sizeClasses[size]}`}> <div className={`${baseClasses} ${sizeClasses[size]}`}>
{/* Section Number */} {/* Section Number */}
<div className={sectionNumberClasses[size]}> <div className={sectionNumberWrapperClasses[size]}>
<SectionNumber number={number} /> <SectionNumber number={number} />
</div> </div>
+14 -10
View File
@@ -1,6 +1,7 @@
"use client"; "use client";
import { memo } from "react"; import { memo } from "react";
import { getAssetPath } from "../../lib/assetUtils";
interface SectionNumberProps { interface SectionNumberProps {
number: number; number: number;
@@ -8,16 +9,19 @@ interface SectionNumberProps {
const SectionNumber = memo<SectionNumberProps>(({ number }) => { const SectionNumber = memo<SectionNumberProps>(({ number }) => {
const getImageSrc = (num: number): string => { const getImageSrc = (num: number): string => {
switch (num) { const assetPath = (() => {
case 1: switch (num) {
return "/assets/SectionNumber_1.png"; case 1:
case 2: return "assets/SectionNumber_1.png";
return "/assets/SectionNumber_2.png"; case 2:
case 3: return "assets/SectionNumber_2.png";
return "/assets/SectionNumber_3.png"; case 3:
default: return "assets/SectionNumber_3.png";
return "/assets/SectionNumber_1.png"; default:
} return "assets/SectionNumber_1.png";
}
})();
return getAssetPath(assetPath);
}; };
return ( return (