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

@@ -64,7 +64,7 @@ struct PlaybackBar: View {
var closeButton: some View {
Button(action: { dismiss() }) {
Image(systemName: "chevron.down.circle.fill")
Image(systemName: "xmark.circle.fill")
}
.accessibilityLabel(Text("Close"))
.buttonStyle(.borderless)

View File

@@ -3,15 +3,15 @@ import SwiftUI
struct VideoDetailsPaddingModifier: ViewModifier {
let geometry: GeometryProxy
let aspectRatio: CGFloat?
let minimumHeightLeft: CGFloat
let additionalPadding: CGFloat
let aspectRatio: Double?
let minimumHeightLeft: Double
let additionalPadding: Double
init(
geometry: GeometryProxy,
aspectRatio: CGFloat? = nil,
minimumHeightLeft: CGFloat? = nil,
additionalPadding: CGFloat = 35.00
aspectRatio: Double? = nil,
minimumHeightLeft: Double? = nil,
additionalPadding: Double = 35.00
) {
self.geometry = geometry
self.aspectRatio = aspectRatio ?? VideoPlayerView.defaultAspectRatio
@@ -19,7 +19,7 @@ struct VideoDetailsPaddingModifier: ViewModifier {
self.additionalPadding = additionalPadding
}
var usedAspectRatio: CGFloat {
var usedAspectRatio: Double {
guard aspectRatio != nil else {
return VideoPlayerView.defaultAspectRatio
}
@@ -27,11 +27,11 @@ struct VideoDetailsPaddingModifier: ViewModifier {
return [aspectRatio!, VideoPlayerView.defaultAspectRatio].min()!
}
var playerHeight: CGFloat {
var playerHeight: Double {
[geometry.size.width / usedAspectRatio, geometry.size.height - minimumHeightLeft].min()!
}
var topPadding: CGFloat {
var topPadding: Double {
playerHeight + additionalPadding
}

View File

@@ -3,8 +3,8 @@ import SwiftUI
struct VideoPlayerSizeModifier: ViewModifier {
let geometry: GeometryProxy
let aspectRatio: CGFloat?
let minimumHeightLeft: CGFloat
let aspectRatio: Double?
let minimumHeightLeft: Double
#if os(iOS)
@Environment(\.verticalSizeClass) private var verticalSizeClass
@@ -12,8 +12,8 @@ struct VideoPlayerSizeModifier: ViewModifier {
init(
geometry: GeometryProxy,
aspectRatio: CGFloat? = nil,
minimumHeightLeft: CGFloat? = nil
aspectRatio: Double? = nil,
minimumHeightLeft: Double? = nil
) {
self.geometry = geometry
self.aspectRatio = aspectRatio ?? VideoPlayerView.defaultAspectRatio
@@ -27,7 +27,7 @@ struct VideoPlayerSizeModifier: ViewModifier {
.edgesIgnoringSafeArea(edgesIgnoringSafeArea)
}
var usedAspectRatio: CGFloat {
var usedAspectRatio: Double {
guard aspectRatio != nil else {
return VideoPlayerView.defaultAspectRatio
}
@@ -50,7 +50,7 @@ struct VideoPlayerSizeModifier: ViewModifier {
#endif
}
var maxHeight: CGFloat {
var maxHeight: Double {
#if os(iOS)
verticalSizeClass == .regular ? geometry.size.height - minimumHeightLeft : .infinity
#else

View File

@@ -3,8 +3,8 @@ import Siesta
import SwiftUI
struct VideoPlayerView: View {
static let defaultAspectRatio: CGFloat = 1.77777778
static var defaultMinimumHeightLeft: CGFloat {
static let defaultAspectRatio: Double = 1.77777778
static var defaultMinimumHeightLeft: Double {
#if os(macOS)
300
#else