From aee4cc17a7d36d43c910a772623804ce7ebffc10 Mon Sep 17 00:00:00 2001 From: bender Date: Mon, 9 Mar 2026 08:25:19 +0000 Subject: [PATCH] Update src/components/sections/feature/FeatureCardTwentyFour.tsx --- .../feature/FeatureCardTwentyFour.tsx | 242 ++++-------------- 1 file changed, 51 insertions(+), 191 deletions(-) diff --git a/src/components/sections/feature/FeatureCardTwentyFour.tsx b/src/components/sections/feature/FeatureCardTwentyFour.tsx index 5da7878..49bc6a5 100644 --- a/src/components/sections/feature/FeatureCardTwentyFour.tsx +++ b/src/components/sections/feature/FeatureCardTwentyFour.tsx @@ -1,199 +1,59 @@ "use client"; +import React from "react"; import CardList from "@/components/cardStack/CardList"; -import Tag from "@/components/shared/Tag"; -import MediaContent from "@/components/shared/MediaContent"; -import { cls, shouldUseInvertedText } from "@/lib/utils"; -import { useTheme } from "@/providers/themeProvider/ThemeProvider"; -import type { LucideIcon } from "lucide-react"; -import type { ButtonConfig, ButtonAnimationType, CardAnimationType, TitleSegment } from "@/components/cardStack/types"; -import type { TextboxLayout, InvertedBackground } from "@/providers/themeProvider/config/constants"; - -type MediaProps = - | { - imageSrc: string; - imageAlt?: string; - videoSrc?: never; - videoAriaLabel?: never; - } - | { - videoSrc: string; - videoAriaLabel?: string; - imageSrc?: never; - imageAlt?: never; - }; - -type FeatureItem = MediaProps & { - id: string; - title: string; - author: string; - description: string; - tags: string[]; - onFeatureClick?: () => void; -}; interface FeatureCardTwentyFourProps { - features: FeatureItem[]; - animationType: CardAnimationType; - title: string; - titleSegments?: TitleSegment[]; - description: string; - tag?: string; - tagIcon?: LucideIcon; - tagAnimation?: ButtonAnimationType; - buttons?: ButtonConfig[]; - buttonAnimation?: ButtonAnimationType; - textboxLayout: TextboxLayout; - useInvertedBackground: InvertedBackground; - ariaLabel?: string; - className?: string; - containerClassName?: string; - cardClassName?: string; - textBoxTitleClassName?: string; - textBoxDescriptionClassName?: string; - textBoxClassName?: string; - textBoxTagClassName?: string; - textBoxButtonContainerClassName?: string; - textBoxButtonClassName?: string; - textBoxButtonTextClassName?: string; - titleImageWrapperClassName?: string; - titleImageClassName?: string; - cardContentClassName?: string; - cardTitleClassName?: string; - authorClassName?: string; - cardDescriptionClassName?: string; - tagsContainerClassName?: string; - tagClassName?: string; - mediaWrapperClassName?: string; - mediaClassName?: string; + features?: any[]; + title?: string; + description?: string; + animationType?: string; + useInvertedBackground?: boolean; + textboxLayout?: string; + tag?: string; + tagIcon?: any; + tagAnimation?: string; + buttons?: any[]; + buttonAnimation?: string; + titleSegments?: any[]; + ariaLabel?: string; + className?: string; + containerClassName?: string; + cardClassName?: string; + textBoxTitleClassName?: string; + textBoxDescriptionClassName?: string; + textBoxClassName?: string; + textBoxTagClassName?: string; + textBoxButtonContainerClassName?: string; + textBoxButtonClassName?: string; + textBoxButtonTextClassName?: string; + titleImageWrapperClassName?: string; + titleImageClassName?: string; + cardContentClassName?: string; + cardTitleClassName?: string; + authorClassName?: string; + cardDescriptionClassName?: string; + tagsContainerClassName?: string; + tagClassName?: string; + mediaWrapperClassName?: string; + mediaClassName?: string; } -const FeatureCardTwentyFour = ({ - features, - animationType, - title, - titleSegments, - description, - tag, - tagIcon, - tagAnimation, - buttons, - buttonAnimation, - textboxLayout, - useInvertedBackground, - ariaLabel = "Features section", - className = "", - containerClassName = "", - cardClassName = "", - textBoxTitleClassName = "", - textBoxDescriptionClassName = "", - textBoxClassName = "", - textBoxTagClassName = "", - textBoxButtonContainerClassName = "", - textBoxButtonClassName = "", - textBoxButtonTextClassName = "", - titleImageWrapperClassName = "", - titleImageClassName = "", - cardContentClassName = "", - cardTitleClassName = "", - authorClassName = "", - cardDescriptionClassName = "", - tagsContainerClassName = "", - tagClassName = "", - mediaWrapperClassName = "", - mediaClassName = "", -}: FeatureCardTwentyFourProps) => { - const theme = useTheme(); - const shouldUseLightText = shouldUseInvertedText(useInvertedBackground, theme.cardStyle); +export default function FeatureCardTwentyFour({ + features = [], + title = "Features", description = "Our features", animationType = "slide-up", useInvertedBackground = false, + textboxLayout = "default"}: FeatureCardTwentyFourProps) { + const items = features.map((feature) => ({ + id: feature.id, + label: feature.title, + detail: feature.description, + })); - return ( - - {features.map((feature) => ( -
-
-

- {feature.title}{" "} - - by {feature.author} - -

- -
-
- {feature.tags.map((tagText, index) => ( - - ))} -
- -

- {feature.description} -

-
-
- -
- -
-
- ))} -
- ); -}; - -FeatureCardTwentyFour.displayName = "FeatureCardTwentyFour"; - -export default FeatureCardTwentyFour; + return ( +
+

{title}

+

{description}

+ +
+ ); +}