import { cn } from "@/lib/utils" import { Loader } from "./loader" import { ProgressBar } from "./progress-bar" import { useEffect, useState } from "react" interface OverlayLoaderProps { text?: string className?: string show: boolean showProgress?: boolean duration?: number extra_info?: string onProgressComplete?: () => void } export const OverlayLoader = ({ text, className, show, showProgress = false, duration = 10, onProgressComplete, extra_info }: OverlayLoaderProps) => { const [isVisible, setIsVisible] = useState(false); useEffect(() => { if (show) { setIsVisible(true); } else { setIsVisible(false); } }, [show]); if (!show) return null; return (
loading {showProgress ? (
{text && (

{text}

{extra_info &&

{extra_info}

}
)}
) : ( <>

{text}

{extra_info &&

{extra_info}

} //
//
//
// //
//
)}
) }