| 163 | } |
| 164 | |
| 165 | function replaceTrackId(oldId, newId) { |
| 166 | if (!oldId || !newId || oldId === newId || !tracks[oldId]) return; |
| 167 | tracks[newId] = { ...tracks[oldId], ...(tracks[newId] || {}), id: newId }; |
| 168 | delete tracks[oldId]; |
| 169 | for (const folder of folders) { |
| 170 | folder.items = folder.items.map((id) => (id === oldId ? newId : id)); |
| 171 | folder.items = [...new Set(folder.items)]; |
| 172 | } |
| 173 | if (_currentTrackId === oldId) _currentTrackId = newId; |
| 174 | } |
| 175 | |
| 176 | function purgeTrash() { |
| 177 | const trash = folders.find((f) => f.id === TRASH_ID); |