import { useState } from "react"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { Input } from "@/components/ui/input"; import { Badge } from "@/components/ui/badge"; import { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from "@/components/ui/accordion"; import { Search, HelpCircle, Video } from "lucide-react"; import { useFaqCategories, useFaqItems } from "@/hooks/queries"; export default function FaqPage() { const [search, setSearch] = useState(""); const { data: categories = [], isLoading: lc } = useFaqCategories(); const { data: allItems = [], isLoading: li } = useFaqItems(search ? { search } : undefined); const filteredCategories = categories.filter(cat => allItems.some(item => item.category_id === cat.id), ); const getItemsForCategory = (catId: number) => allItems.filter(item => item.category_id === catId); if (lc || li) return
; return (

Frequently Asked Questions

Find answers to common questions about EnCoach.

setSearch(e.target.value)} />
{filteredCategories.length > 0 ? (
{filteredCategories.map(cat => { const catItems = getItemsForCategory(cat.id); if (catItems.length === 0) return null; return (
{cat.name} {cat.item_count} questions
{catItems .sort((a, b) => a.sequence - b.sequence) .map(item => ( {item.question}

{item.answer}

{item.video_url && ( )}
))}
); })}
) : (

{search ? "No questions match your search." : "No FAQ items available yet."}

)}
); }