'use client' import React, { useEffect, useState } from 'react' import PingAnimation from './animations/PingAnimation'; type Props = { visible?: boolean; bgOpacity?: number; delay?: number; } & React.DetailedHTMLProps, HTMLDivElement> const LoadingOverlay = ({ visible = true, bgOpacity = 30, delay = 0, children = }: Props) => { const [loaded, setLoaded] = useState(false); useEffect(() => { // Trigger fade-in after mount const timeout = setTimeout(() => setLoaded(visible), 300); return () => clearTimeout(timeout); }, [visible]); return (
{children}
) } export default LoadingOverlay