faq-section.tsx 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. "use client"
  2. import { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from "@/components/ui/accordion"
  3. import { useTranslations } from "next-intl"
  4. interface FAQSectionProps {
  5. locale: string
  6. }
  7. export default function FAQSection({ locale }: FAQSectionProps) {
  8. const t = useTranslations("faq")
  9. const faqs = [
  10. {
  11. question: t("q1.question"),
  12. answer: t("q1.answer"),
  13. },
  14. {
  15. question: t("q2.question"),
  16. answer: t("q2.answer"),
  17. },
  18. {
  19. question: t("q3.question"),
  20. answer: t("q3.answer"),
  21. },
  22. {
  23. question: t("q4.question"),
  24. answer: t("q4.answer"),
  25. },
  26. {
  27. question: t("q5.question"),
  28. answer: t("q5.answer"),
  29. },
  30. ]
  31. return (
  32. <section className="py-20 bg-muted/30">
  33. <div className="container mx-auto px-4 sm:px-6 lg:px-8">
  34. <div className="text-center mb-16">
  35. <h2 className="text-3xl md:text-4xl font-bold mb-4">{t("title")}</h2>
  36. <p className="text-xl text-muted-foreground max-w-3xl mx-auto">{t("subtitle")}</p>
  37. </div>
  38. <div className="max-w-3xl mx-auto">
  39. <Accordion type="single" collapsible className="space-y-4">
  40. {faqs.map((faq, index) => (
  41. <AccordionItem key={index} value={`item-${index}`} className="bg-background rounded-lg border px-6">
  42. <AccordionTrigger className="text-left hover:no-underline py-6">
  43. <span className="font-semibold">{faq.question}</span>
  44. </AccordionTrigger>
  45. <AccordionContent className="pb-6 text-muted-foreground leading-relaxed">{faq.answer}</AccordionContent>
  46. </AccordionItem>
  47. ))}
  48. </Accordion>
  49. </div>
  50. </div>
  51. </section>
  52. )
  53. }