a94ba97eee
A real folder drag silently did nothing for a user (the logic is fine — a simulated drop works — so a real drop was either erroring silently or not firing). Harden it and give a guaranteed alternative: - onDrop now captures the entries synchronously, wraps the async walk in try/catch, and TOASTS on any failure or empty result (no more silent no-op). - dragEnter preventDefault + dragover dropEffect="copy" for reliable drop-target registration. - New "Choose a folder" affordance (a webkitdirectory <input>) that sidesteps drag entirely — pick the album folder and it collects the files + prefills artist/album/year from the folder name. Plus "Choose files". tsc + build clean. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>