"use client"; import Image from "next/image"; import React, { useState, useEffect } from "react"; import { Accordion, AccordionContent, AccordionItem, AccordionTrigger, } from "@/components/ui/accordion"; import Link from "next/link"; import axios from "axios"; import { backendUrl } from "@/utils/axios"; const DEFAULT_IMAGE = "/sidhi-mala/Designer_30.png"; // Default image const FaqCard = ({ params }) => { const [faq, setFaq] = useState([]); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); useEffect(() => { const fetchFaq = async () => { try { const response = await axios.get( `${backendUrl}/products/faq/${params.id}/` ); setFaq(response.data); } catch (err) { setError("Failed to fetch FAQs. Please try again later."); } finally { setLoading(false); } }; fetchFaq(); }, [params.id]); if (loading) { return
Loading FAQs...
; } if (error) { return{error}
; } if (!faq || faq.length === 0) { returnNo FAQs available.
; } const hasImage = faq.some((item) => item.image !== null); const imageToShow = hasImage ? `${backendUrl}${faq.find((item) => item.image !== null).image}` : DEFAULT_IMAGE; return (