Fix restoring queue

This commit is contained in:
Arkadiusz Fal
2022-01-09 16:05:05 +01:00
parent 534f356471
commit a04827cc56
6 changed files with 30 additions and 6 deletions

View File

@@ -201,4 +201,21 @@ extension PlayerModel {
func removeQueueItems() {
queue.removeAll()
}
func restoreQueue() {
guard !accounts.current.isNil else {
return
}
queue = ([Defaults[.lastPlayed]] + Defaults[.queue]).compactMap { $0 }
Defaults[.lastPlayed] = nil
queue.forEach { item in
accounts.api.loadDetails(item) { newItem in
if let index = self.queue.firstIndex(where: { $0.id == item.id }) {
self.queue[index] = newItem
}
}
}
}
}