"use client";
import {
Accordion,
AccordionContent,
AccordionItem,
} from "@/components/ui/accordion";
import { cn } from "@/lib/utils";
import { Accordion as AccordionPrimitive } from "radix-ui";
import { PlusIcon } from "lucide-react";
import { useState } from "react";
const faq = [
{
question: "What is your return policy?",
answer:
"You can return unused items in their original packaging within 30 days for a refund or exchange. Contact support for assistance.",
},
{
question: "How do I track my order?",
answer:
"Track your order using the link provided in your confirmation email, or log into your account to view tracking details.",
},
{
question: "Do you ship internationally?",
answer:
"Yes, we ship worldwide. Shipping fees and delivery times vary by location, and customs duties may apply for some countries.",
},
{
question: "What payment methods do you accept?",
answer:
"We accept Visa, MasterCard, American Express, PayPal, Apple Pay, and Google Pay, ensuring secure payment options for all customers.",
},
{
question: "What if I receive a damaged item?",
answer:
"Please contact our support team within 48 hours of delivery with photos of the damaged item. We’ll arrange a replacement or refund.",
},
{
question: "Can I cancel or change my order?",
answer:
"Yes, you can cancel or change your order within 24 hours of placing it. Contact customer support to make updates.",
},
{
question: "Do you offer discounts for bulk purchases?",
answer:
"Yes, we provide special discounts for bulk orders. Contact our sales team with your requirements for a customized quote.",
},
{
question: "How long does shipping take?",
answer:
"Shipping usually takes 3-7 business days domestically and 7-14 business days internationally, depending on your location and selected shipping method.",
},
{
question: "Are your products eco-friendly?",
answer:
"Many of our products are made with sustainable materials and eco-friendly practices to reduce environmental impact while maintaining quality.",
},
{
question: "How can I contact customer support?",
answer:
"Reach out via email at support@example.com or call us at 1-800-123-4567 for assistance with any inquiries.",
},
];
const FAQ = () => {
const [value, setValue] = useState<string>();
return (
<div className="min-h-screen flex items-center justify-center px-6 py-12">
<div className="w-full max-w-(--breakpoint-lg)">
<h2 className="text-4xl md:text-5xl leading-[1.15]! font-semibold tracking-[-0.035em]">
Frequently Asked Questions
</h2>
<div className="mt-6 w-full grid md:grid-cols-2 gap-x-10">
<Accordion
type="single"
collapsible
className="w-full"
value={value}
onValueChange={setValue}
>
{faq.slice(0, 5).map(({ question, answer }, index) => (
<AccordionItem key={question} value={`question-${index}`}>
<AccordionPrimitive.Header className="flex">
<AccordionPrimitive.Trigger
className={cn(
"flex flex-1 items-center justify-between py-4 font-semibold transition-all hover:underline [&[data-state=open]>svg]:rotate-45",
"text-start text-lg"
)}
>
{question}
<PlusIcon className="h-5 w-5 shrink-0 text-muted-foreground transition-transform duration-200" />
</AccordionPrimitive.Trigger>
</AccordionPrimitive.Header>
<AccordionContent className="text-base text-muted-foreground text-pretty">
{answer}
</AccordionContent>
</AccordionItem>
))}
</Accordion>
<Accordion
type="single"
collapsible
className="w-full"
value={value}
onValueChange={setValue}
>
{faq.slice(5).map(({ question, answer }, index) => (
<AccordionItem key={question} value={`question-${index + 5}`}>
<AccordionPrimitive.Header className="flex">
<AccordionPrimitive.Trigger
className={cn(
"flex flex-1 items-center justify-between py-4 font-semibold tracking-tight transition-all hover:underline [&[data-state=open]>svg]:rotate-45",
"text-start text-lg"
)}
>
{question}
<PlusIcon className="h-5 w-5 shrink-0 text-muted-foreground transition-transform duration-200" />
</AccordionPrimitive.Trigger>
</AccordionPrimitive.Header>
<AccordionContent className="text-base text-muted-foreground text-pretty">
{answer}
</AccordionContent>
</AccordionItem>
))}
</Accordion>
</div>
</div>
</div>
);
};
export default FAQ;