"use client"; import React, { useEffect, useState } from "react"; import Image from "next/image"; import axios from "axios"; export default function Banner({ componentName = "Banner", className = "" }) { const [data, setData] = useState(null); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); useEffect(() => { async function fetchData() { try { setLoading(true); const res = await axios.get("/api/get-component-data", { params: { component_name: componentName }, }); setData(res.data.data); } catch (err) { setError(`Failed to fetch ${componentName} data`); } finally { setLoading(false); } } fetchData(); }, [componentName]); if (loading) return null; if (error) return null; if (!data) return null; const bannerImg = data.image; return (

{data.title}

{data.description}

); }