"use client"; import { useEffect, useState } from "react"; type Banner = { id: string; title: string; imageUrl: string; linkUrl?: string | null }; export function HeroBanner() { const [banners, setBanners] = useState([]); const [idx, setIdx] = useState(0); useEffect(() => { fetch("/api/banners").then((r) => r.json()).then((d) => setBanners(d.banners ?? [])); }, []); useEffect(() => { if ((banners?.length ?? 0) < 2) return; const t = setInterval(() => setIdx((i) => (i + 1) % banners.length), 3000); return () => clearInterval(t); }, [banners]); const slide = banners[idx]; if (!slide) return null; const content = (
{slide.title}

{slide.title}

); return (
{slide.linkUrl ? {content} : content}
); }