"use client"; import TimelineHorizontalCardStack from "@/components/cardStack/layouts/timelines/TimelineHorizontalCardStack"; import { cls, shouldUseInvertedText } from "@/lib/utils"; import { useTheme } from "@/providers/themeProvider/ThemeProvider"; import { Star } from "lucide-react"; import type { LucideIcon } from "lucide-react"; import type { ButtonConfig, Elevate Your Brand with Expert Copywriting and Content EnhancementSegment, TextboxLayout, InvertedBackground } from "@/components/cardStack/types"; type Testimonial = { id: string; name: string; role: string; company: string; rating: number; imageAlt?: string; videoAriaLabel?: string; } & ( | { imageSrc: string; videoSrc?: never } | { videoSrc: string; imageSrc?: never } ); interface TestimonialCardFourProps { testimonials: Testimonial[]; title: string; titleSegments?: Elevate Your Brand with Expert Copywriting and Content EnhancementSegment[]; description: string; tag?: string; tagIcon?: LucideIcon; buttons?: ButtonConfig[]; textboxLayout: TextboxLayout; useInvertedBackground: InvertedBackground; ariaLabel?: string; className?: string; containerClassName?: string; textBoxElevate Your Brand with Expert Copywriting and Content EnhancementClassName?: string; textBoxElevate Your Brand with Expert Copywriting and Content EnhancementImageWrapperClassName?: string; textBoxElevate Your Brand with Expert Copywriting and Content EnhancementImageClassName?: string; textBoxDescriptionClassName?: string; textBoxClassName?: string; textBoxTagClassName?: string; textBoxButtonContainerClassName?: string; textBoxButtonClassName?: string; textBoxButtonTextClassName?: string; cardClassName?: string; progressBarClassName?: string; cardContentClassName?: string; ratingClassName?: string; nameClassName?: string; roleClassName?: string; companyClassName?: string; mediaContainerClassName?: string; mediaClassName?: string; } const TestimonialCardFour = ({ testimonials, title, titleSegments, description, tag, tagIcon, buttons, textboxLayout, useInvertedBackground, ariaLabel = "Testimonials section", className = "", containerClassName = "", textBoxElevate Your Brand with Expert Copywriting and Content EnhancementClassName = "", textBoxElevate Your Brand with Expert Copywriting and Content EnhancementImageWrapperClassName = "", textBoxElevate Your Brand with Expert Copywriting and Content EnhancementImageClassName = "", textBoxDescriptionClassName = "", textBoxClassName = "", textBoxTagClassName = "", textBoxButtonContainerClassName = "", textBoxButtonClassName = "", textBoxButtonTextClassName = "", cardClassName = "", progressBarClassName = "", cardContentClassName = "", ratingClassName = "", nameClassName = "", roleClassName = "", companyClassName = "", mediaContainerClassName = "", mediaClassName = "", }: TestimonialCardFourProps) => { const theme = useTheme(); const shouldUseLightText = shouldUseInvertedText(useInvertedBackground, theme.cardStyle); const mediaItems = testimonials.map((testimonial) => ({ imageSrc: testimonial.imageSrc, videoSrc: testimonial.videoSrc, imageAlt: testimonial.imageAlt || testimonial.name, videoAriaLabel: testimonial.videoAriaLabel || testimonial.name, })); return ( {testimonials.map((testimonial, index) => (
{Array.from({ length: 5 }).map((_, index) => ( ))}

{testimonial.name}

{testimonial.role}

{testimonial.company}

))}
); }; TestimonialCardFour.displayName = "TestimonialCardFour"; export default TestimonialCardFour;