{ e.preventDefault(); if (active) dragging = true; }} ondragleave={() => (dragging = false)} ondrop={handleDrop} class={cn( 'flex flex-col items-center gap-3 rounded-lg border-2 border-dashed border-border bg-accent/20 p-6 text-center transition-colors', dragging && 'border-primary bg-accent/50', !active && 'opacity-50', className )} >
{busy ? 'Reading folder…' : 'Drop books here'}
A folder keeps its structure
or
fileInput?.click()} >
Choose files
folderInput?.click()} >
Choose folder