Spaces:
Running
Running
| import React, { useState } from 'react'; | |
| import { FAQS } from '../constants'; | |
| import { ChevronDown, ChevronUp } from 'lucide-react'; | |
| const FAQ: React.FC = () => { | |
| const [openIndex, setOpenIndex] = useState<number | null>(0); | |
| const toggleFAQ = (index: number) => { | |
| setOpenIndex(openIndex === index ? null : index); | |
| }; | |
| return ( | |
| <section className="py-24 bg-black"> | |
| <div className="max-w-7xl mx-auto px-6 grid grid-cols-1 lg:grid-cols-2 gap-16"> | |
| <div> | |
| <div className="inline-block px-4 py-1.5 rounded-full border border-gray-700 text-sm text-gray-300 mb-8">FAQ</div> | |
| <h2 className="text-3xl md:text-5xl font-semibold mb-6"> | |
| We simulated what questions you need answering | |
| </h2> | |
| <p className="text-gray-400 text-lg mb-8"> | |
| Explore quick solutions to common questions. Need more? Feel free to contact our <u className="text-white cursor-pointer">support team</u>. | |
| </p> | |
| </div> | |
| <div className="space-y-4"> | |
| {FAQS.map((faq, idx) => ( | |
| <div | |
| key={idx} | |
| className="border border-gray-800 rounded-xl overflow-hidden bg-gray-900/20" | |
| > | |
| <button | |
| className="w-full flex justify-between items-center p-6 text-left hover:bg-gray-900/50 transition-colors" | |
| onClick={() => toggleFAQ(idx)} | |
| > | |
| <span className="font-medium text-lg">{faq.question}</span> | |
| {openIndex === idx ? <ChevronUp className="text-gray-400" /> : <ChevronDown className="text-gray-400" />} | |
| </button> | |
| <div | |
| className={`transition-all duration-300 ease-in-out overflow-hidden ${openIndex === idx ? 'max-h-48 opacity-100' : 'max-h-0 opacity-0'}`} | |
| > | |
| <div className="p-6 pt-0 text-gray-400 leading-relaxed"> | |
| {faq.answer} | |
| </div> | |
| </div> | |
| </div> | |
| ))} | |
| </div> | |
| </div> | |
| </section> | |
| ); | |
| }; | |
| export default FAQ; |