diff --git a/app/faq/page.tsx b/app/faq/page.tsx index 48cfe81..2118097 100644 --- a/app/faq/page.tsx +++ b/app/faq/page.tsx @@ -1,49 +1,142 @@ -export default function FAQPage() { - const faqs = [ - { - question: "Is Pulse GDPR compliant?", - answer: "Yes, Pulse is GDPR compliant by design. We don't use cookies, don't collect personal data, and process all data anonymously." +'use client' + +import { motion } from 'framer-motion' +import { useState } from 'react' +import { ChevronDownIcon } from '@ciphera-net/ui' + +const faqs = [ + { + question: "Is Pulse GDPR compliant?", + answer: "Yes, Pulse is GDPR compliant by design. We don't use cookies, don't collect personal data, and process all data anonymously." + }, + { + question: "Do I need a cookie consent banner?", + answer: "No, you don't need a cookie consent banner. Pulse doesn't use cookies, so it's exempt from cookie consent requirements under GDPR." + }, + { + question: "How does Pulse track visitors?", + answer: "We use a lightweight JavaScript snippet that sends anonymous pageview events. No cookies, no cross-session identifiers (we use sessionStorage only to group events within a single visit), and no cross-site tracking." + }, + { + question: "What data does Pulse collect?", + answer: "We collect anonymous pageview data including page path, referrer, device type, browser, and country (derived from IP at request time; the IP itself is not stored). No personal information is collected." + }, + { + question: "How accurate is the data?", + answer: "Our data is highly accurate. We exclude bot traffic and data center visits. Since we don't use cookies, we count unique sessions rather than unique users." + }, + { + question: "Can I export my data?", + answer: "Yes, you can access all your analytics data through the dashboard. We're working on export functionality for bulk data downloads." + } +] + +// * JSON-LD FAQ Schema for rich snippets +const faqSchema = { + '@context': 'https://schema.org', + '@type': 'FAQPage', + mainEntity: faqs.map((faq) => ({ + '@type': 'Question', + name: faq.question, + acceptedAnswer: { + '@type': 'Answer', + text: faq.answer, }, - { - question: "Do I need a cookie consent banner?", - answer: "No, you don't need a cookie consent banner. Pulse doesn't use cookies, so it's exempt from cookie consent requirements under GDPR." - }, - { - question: "How does Pulse track visitors?", - answer: "We use a lightweight JavaScript snippet that sends anonymous pageview events. No cookies, no cross-session identifiers (we use sessionStorage only to group events within a single visit), and no cross-site tracking." - }, - { - question: "What data does Pulse collect?", - answer: "We collect anonymous pageview data including page path, referrer, device type, browser, and country (derived from IP at request time; the IP itself is not stored). No personal information is collected." - }, - { - question: "How accurate is the data?", - answer: "Our data is highly accurate. We exclude bot traffic and data center visits. Since we don't use cookies, we count unique sessions rather than unique users." - }, - { - question: "Can I export my data?", - answer: "Yes, you can access all your analytics data through the dashboard. We're working on export functionality for bulk data downloads." - } - ] + })), +} + +function FAQItem({ faq, index }: { faq: typeof faqs[0]; index: number }) { + const [isOpen, setIsOpen] = useState(false) return ( -
-

- Frequently Asked Questions -

- -
- {faqs.map((faq, index) => ( -
-

- {faq.question} -

-

- {faq.answer} -

-
- ))} -
-
+ + + {isOpen && ( + +

+ {faq.answer} +

+
+ )} +
+ ) +} + +export default function FAQPage() { + return ( + <> + {/* * JSON-LD FAQ Schema */} +