- {feature.title} -
- -- {feature.description} -
- - {feature.buttons && feature.buttons.length > 0 && ( -diff --git a/src/components/sections/feature/FeatureCardMedia.tsx b/src/components/sections/feature/FeatureCardMedia.tsx index c6f9699..1b5ad9c 100644 --- a/src/components/sections/feature/FeatureCardMedia.tsx +++ b/src/components/sections/feature/FeatureCardMedia.tsx @@ -1,261 +1,28 @@ -"use client"; - -import { memo } from "react"; -import CardStack from "@/components/cardStack/CardStack"; -import MediaContent from "@/components/shared/MediaContent"; -import Tag from "@/components/shared/Tag"; -import Button from "@/components/button/Button"; -import { cls, shouldUseInvertedText } from "@/lib/utils"; -import { getButtonProps } from "@/lib/buttonUtils"; -import { useTheme } from "@/providers/themeProvider/ThemeProvider"; -import type { LucideIcon } from "lucide-react"; -import type { ButtonConfig, CardAnimationType, TitleSegment, ButtonAnimationType } from "@/components/cardStack/types"; -import type { TextboxLayout, InvertedBackground } from "@/providers/themeProvider/config/constants"; - -type FeatureCard = { - id: string; - title: string; - description: string; - tag: string; - imageSrc?: string; - videoSrc?: string; - imageAlt?: string; - videoAriaLabel?: string; - buttons?: ButtonConfig[]; - onCardClick?: () => void; -}; +import React from "react"; +import { CardStack } from "@/components/cardStack/CardStack"; interface FeatureCardMediaProps { - features: FeatureCard[]; - carouselMode?: "auto" | "buttons"; - uniformGridCustomHeightClasses?: string; - 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; - itemClassName?: string; - mediaWrapperClassName?: string; - mediaClassName?: string; - tagClassName?: string; - contentClassName?: string; - cardTitleClassName?: string; - cardDescriptionClassName?: string; - cardButtonContainerClassName?: string; - cardButtonClassName?: string; - cardButtonTextClassName?: string; - textBoxTitleClassName?: string; - textBoxTitleImageWrapperClassName?: string; - textBoxTitleImageClassName?: string; - textBoxDescriptionClassName?: string; - gridClassName?: string; - carouselClassName?: string; - controlsClassName?: string; - textBoxClassName?: string; - textBoxTagClassName?: string; - textBoxButtonContainerClassName?: string; - textBoxButtonClassName?: string; - textBoxButtonTextClassName?: string; + features?: any[]; + title?: string; + description?: string; + animationType?: string; + textboxLayout?: string; + useInvertedBackground?: boolean; } -interface FeatureCardItemProps { - feature: FeatureCard; - shouldUseLightText: boolean; - useInvertedBackground: InvertedBackground; - itemClassName?: string; - mediaWrapperClassName?: string; - mediaClassName?: string; - tagClassName?: string; - contentClassName?: string; - cardTitleClassName?: string; - cardDescriptionClassName?: string; - cardButtonContainerClassName?: string; - cardButtonClassName?: string; - cardButtonTextClassName?: string; +export default function FeatureCardMedia({ + features = [], + title = "Features", description = "Our features", animationType = "slide-up", textboxLayout = "default", useInvertedBackground = false, +}: FeatureCardMediaProps) { + const items = features.map((feature) => ({ + id: feature.id, + label: feature.title, + detail: feature.description, + })); + + return ( +
- {feature.description} -
- - {feature.buttons && feature.buttons.length > 0 && ( -