import { useRef, useState } from "react"; const ACCEPTED = ["video/mp4", "video/avi", "video/quicktime", "video/x-matroska", "video/webm"]; export default function VideoUploader({ onAnalyse, isLoading }) { const inputRef = useRef(null); const [file, setFile] = useState(null); const [preview, setPreview] = useState(null); const [dragOver, setDragOver] = useState(false); function handleFile(f) { if (!f) return; setFile(f); setPreview(URL.createObjectURL(f)); } function onDrop(e) { e.preventDefault(); setDragOver(false); handleFile(e.dataTransfer.files[0]); } return (
{ e.preventDefault(); setDragOver(true); }} onDragLeave={() => setDragOver(false)} onClick={() => inputRef.current?.click()} className={`w-full aspect-[16/9] max-h-[320px] border-2 border-dashed rounded-3xl flex flex-col items-center justify-center cursor-pointer transition-all duration-200 ${dragOver ? "border-indigo-400 bg-indigo-50/80 scale-[1.01]" : "border-slate-200 bg-white hover:border-slate-300 hover:shadow-md shadow-sm"}`} >

Drop video here

or click to browse

handleFile(e.target.files[0])} />
{preview && (
); }