"use client"; import { useState } from "react"; import Image, { type StaticImageData } from "next/image"; import { motion, useReducedMotion } from "framer-motion"; interface LazyRevealImageProps { src: string | StaticImageData; alt: string; className?: string; imageClassName?: string; sizes?: string; } export function LazyRevealImage({ src, alt, className = "", imageClassName = "object-cover", sizes = "(max-width: 1024px) 100vw, 50vw", }: Readonly) { const shouldReduceMotion = useReducedMotion(); const [loaded, setLoaded] = useState(false); return ( {alt} setLoaded(true)} className={imageClassName} /> ); }