Faq page done
This commit is contained in:
40
components/pages/faq/faqAccardion.tsx
Normal file
40
components/pages/faq/faqAccardion.tsx
Normal file
@@ -0,0 +1,40 @@
|
||||
'use client';
|
||||
|
||||
import * as Accordion from '@radix-ui/react-accordion';
|
||||
import { ChevronDown } from 'lucide-react';
|
||||
|
||||
interface FAQItem {
|
||||
id: string;
|
||||
question: string;
|
||||
answer: string;
|
||||
}
|
||||
|
||||
interface FAQAccordionProps {
|
||||
items: FAQItem[];
|
||||
}
|
||||
|
||||
export default function FAQAccordion({ items }: FAQAccordionProps) {
|
||||
return (
|
||||
<Accordion.Root type="single" collapsible className="w-full">
|
||||
{items.map((item, index) => (
|
||||
<Accordion.Item key={item.id} value={item.id} className="border-b border-slate-700 py-6">
|
||||
<Accordion.Trigger className="group flex w-full items-center justify-between text-left">
|
||||
<h3 className="text-lg font-bold uppercase tracking-wide text-white transition-colors duration-300 group-hover:text-red-600 md:text-xl">
|
||||
{item.question}
|
||||
</h3>
|
||||
<div className="ml-4 shrink-0">
|
||||
<ChevronDown
|
||||
className="h-6 w-6 text-red-600 transition-transform duration-300 group-data-[state=open]:rotate-180"
|
||||
aria-hidden="true"
|
||||
/>
|
||||
</div>
|
||||
</Accordion.Trigger>
|
||||
|
||||
<Accordion.Content className="overflow-hidden pt-4 text-gray-400 animate-in fade-in slide-in-from-top-2 duration-300 data-[state=closed]:animate-out data-[state=closed]:fade-out data-[state=closed]:slide-out-to-top-2">
|
||||
<p className="leading-relaxed text-sm md:text-base">{item.answer}</p>
|
||||
</Accordion.Content>
|
||||
</Accordion.Item>
|
||||
))}
|
||||
</Accordion.Root>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user