import React from "react"; import { TESTIMONIALS_THEME, TESTIMONIALS_TYPE, TestimonialsProps, TESTIMONIALS_VARIANT, DATA_TYPE } from "../../types"; import { cn } from "../../lib/utils"; import { MasonryLayout } from "./MasonryLayout"; import { CarouselLayout } from "./CarouselLayout"; import { ScrollLayout } from "./ScrollLayout"; import { ListLayout } from "./ListLayout"; import { useFetch } from "../../hooks/useFetch"; import { API_BASE } from "../../constants/t"; import { TestimonialCardSkeleton } from "./TestimonialCardSkeleton"; import { TestimonialCardError } from "./TestimonialCardError"; import { Heart } from "lucide-react"; const Testimonials = ({ data = [], collectionId, variant = "masonry", theme = "light", className, }: TestimonialsProps) => { const shouldFetch = !data || data.length === 0; const { data: fetchedTestimonials, loading, error, } = useFetch(shouldFetch ? API_BASE(collectionId) : null); const testimonials = shouldFetch ? fetchedTestimonials : data; if (shouldFetch && loading) { return (