Add setting for thumbnails quality

This commit is contained in:
Arkadiusz Fal
2022-06-26 14:25:54 +02:00
parent 280f90e4c6
commit accd78be92
3 changed files with 35 additions and 3 deletions

View File

@@ -1,3 +1,4 @@
import Defaults
import Foundation
final class ThumbnailsModel: ObservableObject {
@@ -16,9 +17,7 @@ final class ThumbnailsModel: ObservableObject {
}
func best(_ video: Video) -> URL? {
let qualities = [Thumbnail.Quality.maxresdefault, .medium, .default]
for quality in qualities {
for quality in availableQualitites {
let url = video.thumbnailURL(quality: quality)
if !isUnloadable(url) {
return url
@@ -27,4 +26,15 @@ final class ThumbnailsModel: ObservableObject {
return nil
}
private var availableQualitites: [Thumbnail.Quality] {
switch Defaults[.thumbnailsQuality] {
case .highest:
return [.maxresdefault, .medium, .default]
case .medium:
return [.medium, .default]
case .low:
return [.default]
}
}
}