import { Upload, Plus, Image } from "lucide-react"; import { Button } from "@/components/ui/button"; interface DragOverlayProps { isVisible: boolean; title?: string; description?: string; isProcessing?: boolean; progress?: number; onClick?: () => void; isEmptyState?: boolean; } export function DragOverlay({ isVisible, title = "Drop files here", description = "Images, videos, and audio files", isProcessing = false, progress = 0, onClick, isEmptyState = false, }: DragOverlayProps) { if (!isVisible) return null; const handleClick = (e: React.MouseEvent) => { if (isProcessing || !onClick) return; e.preventDefault(); e.stopPropagation(); onClick(); }; return (
{isProcessing ? ( ) : isEmptyState ? ( ) : ( )}

{isProcessing ? "Processing files..." : title}

{isProcessing ? `Processing your files (${progress}%)` : description }

{!isProcessing && (

{isEmptyState ? "Supports images, videos, and audio files" : "Or drop your files here" }

)} {isProcessing && (
)}
); }