(folderId, trackId)
| 791 | } |
| 792 | |
| 793 | function dropOnFolder(folderId, trackId) { |
| 794 | const id = trackId ?? dragId; |
| 795 | if (!id) return; |
| 796 | // Remove from current folder |
| 797 | for (const f of folders) { |
| 798 | const idx = f.items.indexOf(id); |
| 799 | if (idx !== -1) { f.items.splice(idx, 1); break; } |
| 800 | } |
| 801 | // Add to target folder |
| 802 | const target = folders.find((f) => f.id === folderId); |
| 803 | if (target && !target.items.includes(id)) target.items.push(id); |
| 804 | saveState(); |
| 805 | render(); |
| 806 | } |
| 807 | |
| 808 | function wireTrackDragAndLoad(el, trackId) { |
| 809 | el.draggable = true; |
no test coverage detected