Adjust NumberCard story
This commit is contained in:
@@ -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>
|
||||||
|
|
||||||
|
|||||||
@@ -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 (
|
||||||
|
|||||||
Reference in New Issue
Block a user