"use client"; import { useEffect, useRef, type ReactNode } from "react"; export default function Reveal({ children, delay = 0, className = "", }: { children: ReactNode; delay?: number; className?: string; }) { const ref = useRef(null); useEffect(() => { const el = ref.current; if (!el) return; const io = new IntersectionObserver( ([entry]) => { if (entry.isIntersecting) { el.classList.add("is-visible"); io.disconnect(); } }, { rootMargin: "0px 0px -10% 0px" }, ); io.observe(el); return () => io.disconnect(); }, []); return (
{children}
); }