import { BadgeCheck } from "lucide-react"; import { Rating } from "@/components/shadcnblocks/rating"; import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"; import { Separator } from "@/components/ui/separator"; import { cn } from "@/lib/utils"; interface Review { id: string; rating: number; title: string; content: string; author: { name: string; avatar?: string; }; date: string; verified?: boolean; } const DEFAULT_REVIEWS: Review[] = [ { id: "1", rating: 5, title: "فراتر از انتظارم بود", content: "اول کمی تردید داشتم، ولی این محصول واقعاً جواب داد. کیفیت ساخت عالی است و زودتر از موعد به دستم رسید. اگر هنوز مردد هستید، حتماً پیشنهاد می‌کنم امتحان کنید.", author: { name: "سارا احمدی", avatar: "/block-media/shadcnblocks/block/avatar-1.webp", }, date: "۲۰ آذر ۱۴۰۳", verified: true, }, { id: "2", rating: 4, title: "ارزش خرید بالا", content: "به‌طور کلی محصول خوبی است و دقیقاً همان کاری را می‌کند که باید. یک ستاره کم کردم چون بسته‌بندی می‌توانست بهتر باشد، ولی خود محصول عالی است.", author: { name: "مازیار رضایی", avatar: "/block-media/shadcnblocks/block/avatar-2.webp", }, date: "۱۸ آذر ۱۴۰۳", verified: true, }, { id: "3", rating: 5, title: "عالی برای استفاده روزمره", content: "یک ماه است هر روز از آن استفاده می‌کنم و هنوز مثل روز اول به نظر می‌رسد و درست کار می‌کند. با این قیمت، کیفیت ساخت واقعاً قابل تحسین است. برای خواهرم هم یکی خریدم.", author: { name: "نیلوفر حسینی", avatar: "/block-media/shadcnblocks/block/avatar-3.webp", }, date: "۱۵ آذر ۱۴۰۳", verified: true, }, { id: "4", rating: 4, title: "خوب، ولی کامل نیست", content: "محصول خوب است و درست کار می‌کند. تنها نکته کوچک این است که رنگ کمی با عکس‌ها فرق دارد، ولی در مجموع خرید رضایت‌بخشی بود.", author: { name: "امیر محمدی", }, date: "۱۲ آذر ۱۴۰۳", verified: false, }, { id: "5", rating: 5, title: "بهترین خرید امسالم", content: "واقعاً عاشقش شدم! به جزئیات با دقت زیادی توجه شده. وقتی سوال داشتم، پشتیبانی هم بسیار مفید بود. از هر نظر پنج ستاره.", author: { name: "رؤیا کاظمی", avatar: "/block-media/shadcnblocks/block/avatar-7.webp", }, date: "۸ آذر ۱۴۰۳", verified: true, }, ]; interface Reviews1Props { reviews?: Review[]; title?: string; className?: string; } const Reviews1 = ({ reviews = DEFAULT_REVIEWS, title = "نظرات مشتریان", className, }: Reviews1Props) => { const averageRating = reviews.reduce((sum, review) => sum + review.rating, 0) / reviews.length; const formattedAverage = averageRating.toLocaleString("fa-IR", { minimumFractionDigits: 1, maximumFractionDigits: 1, }); const reviewCountLabel = `${reviews.length.toLocaleString("fa-IR")} نظر`; return (

{title}

{formattedAverage} از ۵ · {reviewCountLabel}
{reviews.map((review, index) => (
{index > 0 && }

{review.title}

{review.content}

{review.author.name .split(/\s+/) .slice(0, 2) .map((part) => part[0]) .join("")}
{review.author.name} {review.verified && ( خرید تأییدشده )} · {review.date}
))}
); }; export { Reviews1 };