Watch Now section, horizontal cells

This commit is contained in:
Arkadiusz Fal
2021-09-18 22:36:42 +02:00
parent 5e403c7f15
commit 8571822f23
21 changed files with 377 additions and 133 deletions

View File

@@ -87,6 +87,10 @@ final class InvidiousAPI: Service {
Channel(json: content.json)
}
configureTransformer("/channels/*/latest", requestMethods: [.get]) { (content: Entity<JSON>) -> [Video] in
content.json.arrayValue.map(Video.init)
}
configureTransformer("/videos/*", requestMethods: [.get]) { (content: Entity<JSON>) -> Video in
Video(content.json)
}
@@ -120,6 +124,10 @@ final class InvidiousAPI: Service {
resource("/channels/\(id)")
}
func channelVideos(_ id: String) -> Resource {
resource("/channels/\(id)/latest")
}
func video(_ id: String) -> Resource {
resource("/videos/\(id)")
}

View File

@@ -3,10 +3,10 @@ import SwiftUI
final class NavigationState: ObservableObject {
enum TabSelection: Hashable {
case subscriptions, popular, trending, playlists, channel(String), playlist(String), search
case watchNow, subscriptions, popular, trending, playlists, channel(String), playlist(String), search
}
@Published var tabSelection: TabSelection = .subscriptions
@Published var tabSelection: TabSelection = .watchNow
@Published var showingVideoDetails = false
@Published var showingVideo = false

View File

@@ -6,7 +6,7 @@ final class PlaybackState: ObservableObject {
@Published var stream: Stream?
@Published var time: CMTime?
var aspectRatio: CGFloat? {
var aspectRatio: Double? {
let tracks = stream?.videoAsset.tracks(withMediaType: .video)
guard tracks != nil else {