diff --git a/src/components/sections/testimonial/TestimonialCardThirteen.tsx b/src/components/sections/testimonial/TestimonialCardThirteen.tsx index 25e4640..4a464d4 100644 --- a/src/components/sections/testimonial/TestimonialCardThirteen.tsx +++ b/src/components/sections/testimonial/TestimonialCardThirteen.tsx @@ -1,28 +1,240 @@ -import React from "react"; -import { CardStack } from "@/components/cardStack/CardStack"; +"use client"; + +import { memo } from "react"; +import CardStack from "@/components/cardStack/CardStack"; +import TestimonialAuthor from "@/components/shared/TestimonialAuthor"; +import { cls, shouldUseInvertedText } from "@/lib/utils"; +import { useTheme } from "@/providers/themeProvider/ThemeProvider"; +import { Quote, Star } from "lucide-react"; +import type { LucideIcon } from "lucide-react"; +import type { ButtonConfig, ButtonAnimationType, CardAnimationTypeWith3D, TitleSegment, TextboxLayout, InvertedBackground } from "@/components/cardStack/types"; + +type Testimonial = { + id: string; + name: string; + handle: string; + testimonial: string; + rating: number; + imageSrc?: string; + imageAlt?: string; + icon?: LucideIcon; +}; interface TestimonialCardThirteenProps { - testimonials?: any[]; - title?: string; - description?: string; - animationType?: string; - textboxLayout?: string; - useInvertedBackground?: boolean; + testimonials: Testimonial[]; + showRating: boolean; + carouselMode?: "auto" | "buttons"; + uniformGridCustomHeightClasses?: string; + animationType: CardAnimationTypeWith3D; + 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; + textBoxTitleImageWrapperClassName?: string; + textBoxTitleImageClassName?: string; + textBoxDescriptionClassName?: string; + imageWrapperClassName?: string; + imageClassName?: string; + iconClassName?: string; + nameClassName?: string; + handleClassName?: string; + testimonialClassName?: string; + ratingClassName?: string; + contentWrapperClassName?: string; + gridClassName?: string; + carouselClassName?: string; + controlsClassName?: string; + textBoxClassName?: string; + textBoxTagClassName?: string; + textBoxButtonContainerClassName?: string; + textBoxButtonClassName?: string; + textBoxButtonTextClassName?: string; } -export default function TestimonialCardThirteen({ - testimonials = [], - title = "Testimonials", description = "What customers say", animationType = "slide-up", textboxLayout = "default", useInvertedBackground = false, -}: TestimonialCardThirteenProps) { - const items = testimonials.map((testimonial) => ({ - id: testimonial.id, - label: testimonial.name, - detail: testimonial.company, - })); - - return ( -
+ )} + +
+ {testimonial.testimonial} +
+