"use client" import { useEffect, useRef } from "react" interface ScrollRevealProps { children: React.ReactNode className?: string delay?: number } export default function ScrollReveal({ children, className = "", delay = 0, }: ScrollRevealProps) { const ref = useRef(null) useEffect(() => { const el = ref.current if (!el) return const observer = new IntersectionObserver( ([entry]) => { if (entry.isIntersecting) { setTimeout(() => { el.classList.add("reveal-visible") }, delay) observer.unobserve(el) } }, { threshold: 0.1 }, ) observer.observe(el) return () => observer.disconnect() }, [delay]) return (
{children}
) }