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 && (
)}
{file && (
)}
);
}