import { Quote } from "lucide-react"; import Button from "@/components/ui/Button"; import TextAnimation from "@/components/ui/TextAnimation"; import ImageOrVideo from "@/components/ui/ImageOrVideo"; import ScrollReveal from "@/components/ui/ScrollReveal"; type Testimonial = { name: string; role: string; quote: string; } & ({ imageSrc: string; videoSrc?: never } | { videoSrc: string; imageSrc?: never }); const TestimonialCard = ({ testimonial }: { testimonial: Testimonial }) => (

{testimonial.quote}

{testimonial.name} {testimonial.role}
); const TestimonialColumnMarqueeCards = ({ tag, title, description, primaryButton, secondaryButton, testimonials, }: { tag: string; title: string; description: string; primaryButton?: { text: string; href: string }; secondaryButton?: { text: string; href: string }; testimonials: Testimonial[]; }) => { const third = Math.ceil(testimonials.length / 3); const leftColumn = testimonials.slice(0, third); const middleColumn = testimonials.slice(third, third * 2); const rightColumn = testimonials.slice(third * 2); return (

{tag}

{(primaryButton || secondaryButton) && (
{primaryButton &&
)}
{[...leftColumn, ...leftColumn, ...leftColumn, ...leftColumn].map((testimonial, i) => ( ))}
{[...middleColumn, ...middleColumn, ...middleColumn, ...middleColumn].map((testimonial, i) => ( ))}
{[...rightColumn, ...rightColumn, ...rightColumn, ...rightColumn].map((testimonial, i) => ( ))}
); }; export default TestimonialColumnMarqueeCards;