Add to playlist from video player, state fixes

This commit is contained in:
Arkadiusz Fal
2021-10-25 23:29:06 +02:00
parent 47ad6a4410
commit b50d915d8e
10 changed files with 129 additions and 27 deletions

View File

@@ -15,8 +15,12 @@ final class PlaylistsModel: ObservableObject {
playlists.sorted { $0.title.lowercased() < $1.title.lowercased() }
}
func find(id: Playlist.ID) -> Playlist? {
playlists.first { $0.id == id }
func find(id: Playlist.ID?) -> Playlist? {
if id.isNil {
return nil
}
return playlists.first { $0.id == id! }
}
var isEmpty: Bool {
@@ -26,6 +30,11 @@ final class PlaylistsModel: ObservableObject {
func load(force: Bool = false, onSuccess: @escaping () -> Void = {}) {
let request = force ? resource?.load() : resource?.loadIfNeeded()
guard !request.isNil else {
onSuccess()
return
}
request?
.onSuccess { resource in
if let playlists: [Playlist] = resource.typedContent() {