'use client'; import { LaconicMark } from '@/laconic-assets/laconic-mark'; import { cn } from '@/lib/utils'; import { Loader2 } from 'lucide-react'; export interface LoadingOverlayProps { /** * Controls the visibility of the overlay. * When false, the component returns null. * @default true */ isLoading?: boolean; /** * Optional className for styling the overlay container. * This will be merged with the default styles. */ className?: string; /** * Whether to show the Laconic logo in the overlay. * @default true */ showLogo?: boolean; /** * Whether to show the loading spinner below the logo. * @default true */ showSpinner?: boolean; /** * The z-index value for the overlay. * Adjust this if you need the overlay to appear above or below other elements. * @default 50 */ zIndex?: number; /** * Whether to use solid black background instead of semi-transparent. * Useful for initial page load and full-screen loading states. * @default false */ solid?: boolean; } export function LoadingOverlay({ isLoading = true, className, showLogo = true, showSpinner = true, zIndex = 50, solid = false, }: LoadingOverlayProps) { if (!isLoading) return null; return (