mirror of
https://github.com/yattee/yattee.git
synced 2024-12-22 21:43:41 +00:00
Merge pull request #685 from stonerl/chapter-images-for-invidious
Invidious: add images to chapters
This commit is contained in:
commit
f6bea6e045
@ -502,7 +502,7 @@ final class InvidiousAPI: Service, ObservableObject, VideosAPI {
|
|||||||
keywords: json["keywords"].arrayValue.compactMap { $0.string },
|
keywords: json["keywords"].arrayValue.compactMap { $0.string },
|
||||||
streams: extractStreams(from: json),
|
streams: extractStreams(from: json),
|
||||||
related: extractRelated(from: json),
|
related: extractRelated(from: json),
|
||||||
chapters: extractChapters(from: description),
|
chapters: createChapters(from: description, thumbnails: json),
|
||||||
captions: extractCaptions(from: json)
|
captions: extractCaptions(from: json)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -575,6 +575,22 @@ final class InvidiousAPI: Service, ObservableObject, VideosAPI {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private func createChapters(from description: String, thumbnails: JSON) -> [Chapter] {
|
||||||
|
var chapters = extractChapters(from: description)
|
||||||
|
|
||||||
|
if !chapters.isEmpty {
|
||||||
|
let thumbnailsData = extractThumbnails(from: thumbnails)
|
||||||
|
let thumbnailURL = thumbnailsData.first { $0.quality == .medium }?.url
|
||||||
|
|
||||||
|
for chapter in chapters.indices {
|
||||||
|
if let url = thumbnailURL {
|
||||||
|
chapters[chapter].image = url
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return chapters
|
||||||
|
}
|
||||||
|
|
||||||
private static var contentItemsKeys = ["items", "videos", "latestVideos", "playlists", "relatedChannels"]
|
private static var contentItemsKeys = ["items", "videos", "latestVideos", "playlists", "relatedChannels"]
|
||||||
|
|
||||||
private func extractChannelPage(from json: JSON, forceNotLast: Bool = false) -> ChannelPage {
|
private func extractChannelPage(from json: JSON, forceNotLast: Bool = false) -> ChannelPage {
|
||||||
|
@ -65,7 +65,7 @@ import SwiftUI
|
|||||||
}
|
}
|
||||||
|
|
||||||
static var thumbnailHeight: Double {
|
static var thumbnailHeight: Double {
|
||||||
thumbnailWidth / 1.7777
|
thumbnailWidth / (16 / 9)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user