- {feature.title}{" "} - - by {feature.author} - -
- -- {feature.description} -
-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 (
-
- {feature.description}
-
- {feature.title}{" "}
-
- by {feature.author}
-
-
-
-
{description}
+