import React, { useState } from "react"; import { motion, AnimatePresence } from "framer-motion"; import { Upload, FileText, Image, FileSpreadsheet, X, Sparkles } from "lucide-react"; import { cn } from "@/lib/utils"; export default function UploadZone({ onFileSelect, selectedFile, onClear }) { const [isDragging, setIsDragging] = useState(false); const handleDragOver = (e) => { e.preventDefault(); setIsDragging(true); }; const handleDragLeave = () => { setIsDragging(false); }; const handleDrop = (e) => { e.preventDefault(); setIsDragging(false); const file = e.dataTransfer.files[0]; if (file) onFileSelect(file); }; const getFileIcon = (type) => { if (type?.includes("image")) return Image; if (type?.includes("spreadsheet") || type?.includes("excel")) return FileSpreadsheet; return FileText; }; const FileIcon = selectedFile ? getFileIcon(selectedFile.type) : FileText; return (
{selectedFile.name}