"use client"; import { Mail, MessageSquare, Phone, Search } from "lucide-react"; import { useMemo, useState } from "react"; import { Accordion, AccordionContent, AccordionItem, AccordionTrigger, } from "@/components/ui/accordion"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { cn } from "@/lib/utils"; interface FAQ { question: string; answer: string; category: string; } interface Help2Props { title?: string; description?: string; faqs?: FAQ[]; contactTitle?: string; contactDescription?: string; className?: string; } const DEFAULT_FAQS: FAQ[] = [ { category: "سفارش‌ها", question: "چطور می‌توانم سفارشم را پیگیری کنم؟", answer: "با ورود به حساب کاربری و مشاهده تاریخچه سفارش‌ها می‌توانید وضعیت سفارش را پیگیری کنید. پس از ارسال، به‌روزرسانی‌های پیگیری از طریق ایمیل نیز دریافت می‌کنید.", }, { category: "سفارش‌ها", question: "آیا می‌توانم سفارشم را ویرایش یا لغو کنم؟", answer: "تا ۱ ساعت پس از ثبت سفارش، امکان ویرایش یا لغو وجود دارد. پس از آن با تیم پشتیبانی تماس بگیرید تا در صورت امکان کمک کنیم.", }, { category: "ارسال", question: "گزینه‌های ارسال شما چیست؟", answer: "ارسال عادی (۵ تا ۷ روز کاری)، ارسال سریع (۲ تا ۳ روز کاری) و تحویل روز بعد در برخی مناطق ارائه می‌شود.", }, { category: "ارسال", question: "آیا به خارج از کشور هم ارسال دارید؟", answer: "بله! به بیش از ۵۰ کشور در سراسر جهان ارسال می‌کنیم. هزینه و زمان تحویل بسته به مقصد متفاوت است.", }, { category: "بازگشت", question: "سیاست بازگشت کالا چیست؟", answer: "تا ۳۰ روز پس از تحویل، بازگشت رایگان داریم. کالا باید استفاده‌نشده، بدون شست‌وشو و با برچسب اصلی باشد.", }, { category: "بازگشت", question: "چطور درخواست بازگشت بدهم؟", answer: "وارد حساب کاربری شوید، به تاریخچه سفارش‌ها بروید، کالای موردنظر را انتخاب کنید و مراحل را دنبال کنید. برچسب ارسال پیش‌پرداخت‌شده از طریق ایمیل برایتان ارسال می‌شود.", }, ]; const Help2 = ({ title = "چطور می‌توانیم کمک کنیم؟", description = "پاسخ سوالات رایج را بیابید یا با تیم پشتیبانی تماس بگیرید.", faqs = DEFAULT_FAQS, contactTitle = "هنوز به کمک نیاز دارید؟", contactDescription = "تیم پشتیبانی ما در کنار شماست.", className, }: Help2Props) => { const [searchQuery, setSearchQuery] = useState(""); const filteredFaqs = useMemo(() => { if (!searchQuery.trim()) return faqs; const query = searchQuery.toLowerCase(); return faqs.filter( (faq) => faq.question.toLowerCase().includes(query) || faq.answer.toLowerCase().includes(query), ); }, [faqs, searchQuery]); return (

{title}

{description}

setSearchQuery(e.target.value)} className="ps-10" />
{filteredFaqs.length > 0 ? ( filteredFaqs.map((faq, index) => ( {faq.question} {faq.answer} )) ) : (

نتیجه‌ای برای «{searchQuery}» یافت نشد.

)}

{contactTitle}

{contactDescription}

); }; export { Help2 };