import ImageOrVideo from "@/components/ui/ImageOrVideo"; import TextAnimation from "@/components/ui/TextAnimation"; import ScrollReveal from "@/components/ui/ScrollReveal"; import { cls } from "@/lib/utils"; type FeatureItem = { title: string; description: string; } & ({ imageSrc: string; videoSrc?: never } | { videoSrc: string; imageSrc?: never }); interface FeaturesBentoGridCtaProps { tag: string; title: string; description: string; features: [FeatureItem, FeatureItem, FeatureItem, FeatureItem]; ctaButton?: { text: string; href: string; avatarSrc?: string; avatarLabel?: string; }; } const FeaturesBentoGridCta = ({ tag, title, description, features, ctaButton, }: FeaturesBentoGridCtaProps) => { const colSpans = ["md:col-span-5", "md:col-span-7", "md:col-span-7", "md:col-span-5"]; return (

{tag}

{ctaButton && ( {ctaButton.avatarSrc && (
+
{ctaButton.avatarLabel || "You"}
)} {ctaButton.text}
)}
{features.map((feature, index) => (

{feature.title}

{feature.description}

))}
); }; export default FeaturesBentoGridCta;