"use client"; import React, { memo } from "react"; import TextAnimation from "@/components/text/TextAnimation"; import { cls, shouldUseInvertedText } from "@/lib/utils"; import { useTheme } from "@/providers/themeProvider/ThemeProvider"; import type { LucideIcon } from "lucide-react"; interface FeatureItem { text: string; icon: LucideIcon; } interface SplitAboutFeaturesProps { title: string; features: FeatureItem[]; showBorder?: boolean; useInvertedBackground: "noInvert" | "invertDefault" | "invertCard"; ariaLabel?: string; className?: string; containerClassName?: string; titleClassName?: string; featuresContainerClassName?: string; featureClassName?: string; featureIconClassName?: string; featureTextClassName?: string; } const SplitAboutFeatures = ({ title, features, showBorder = false, useInvertedBackground, ariaLabel = "About features section", className = "", containerClassName = "", titleClassName = "", featuresContainerClassName = "", featureClassName = "", featureIconClassName = "", featureTextClassName = "", }: SplitAboutFeaturesProps) => { const theme = useTheme(); const shouldUseLightText = shouldUseInvertedText(useInvertedBackground, theme.cardStyle); const isOddCount = features.length % 2 !== 0; return (
{features.map((feature, index) => { const Icon = feature.icon; const isLastItemOdd = isOddCount && index === features.length - 1; return (

{feature.text}

); })}
{showBorder &&
}
); }; SplitAboutFeatures.displayName = "SplitAboutFeatures"; export default memo(SplitAboutFeatures);