{
e.preventDefault();
setDrag(true);
}}
onDragLeave={() => setDrag(false)}
onDrop={(e) => {
e.preventDefault();
setDrag(false);
const f = e.dataTransfer.files?.[0];
if (f) doUpload(f);
}}
onClick={() => inputRef.current?.click()}
className={`mx-3 mb-3 flex cursor-pointer flex-col items-center gap-1.5 rounded-xl border border-dashed px-3 py-5 text-center transition ${
drag
? "border-brand-400 bg-brand-500/10"
: "border-white/10 hover:border-white/20"
}`}
>
Drag & drop or browse
PDF · DOCX · XLSX · images
{/* search */}
{docs.length > 4 && (
{filtered.length === 0 && (
{docs.length === 0 ? "No documents yet." : "No matches."}
)}
{filtered.map((d) => (
onSelect(d.id)}
className={`group mb-1 flex cursor-pointer items-center gap-2.5 rounded-xl px-2.5 py-2 transition ${
activeId === d.id
? "bg-white/[0.06] shadow-[inset_0_0_0_1px_rgba(99,102,241,0.35)]"
: "hover:bg-white/[0.03]"
}`}
>
{d.filename}
{d.status}
·
{timeAgo(d.created_at)}
))}