mirror of
https://github.com/yattee/yattee.git
synced 2025-11-16 06:58:43 +00:00
When displaying the video details overlay on iPad in non-fullscreen windows, add 65px of left padding (50px for system controls width + 15px spacing) to prevent content from overlapping with iPad system controls.
43 lines
1.3 KiB
Swift
43 lines
1.3 KiB
Swift
import Defaults
|
|
import SwiftUI
|
|
|
|
struct VideoDetailsOverlay: View {
|
|
@ObservedObject private var controls = PlayerControlsModel.shared
|
|
|
|
var body: some View {
|
|
VideoDetails(video: controls.player.videoForDisplay, fullScreen: fullScreenBinding, sidebarQueue: .constant(false))
|
|
.clipShape(RoundedRectangle(cornerRadius: 4))
|
|
.padding(.leading, overlayLeadingPadding)
|
|
.id(controls.player.currentVideo?.cacheKey)
|
|
}
|
|
|
|
var fullScreenBinding: Binding<Bool> {
|
|
.init(get: {
|
|
controls.presentingDetailsOverlay
|
|
}, set: { newValue in
|
|
controls.presentingDetailsOverlay = newValue
|
|
})
|
|
}
|
|
|
|
#if os(iOS)
|
|
private var overlayLeadingPadding: CGFloat {
|
|
// On iPad in non-fullscreen mode, add left padding for system controls
|
|
if Constants.isIPad && !Constants.isWindowFullscreen {
|
|
return Constants.iPadSystemControlsWidth + 15
|
|
}
|
|
return 0
|
|
}
|
|
#else
|
|
private var overlayLeadingPadding: CGFloat {
|
|
return 0
|
|
}
|
|
#endif
|
|
}
|
|
|
|
struct VideoDetailsOverlay_Previews: PreviewProvider {
|
|
static var previews: some View {
|
|
VideoDetailsOverlay()
|
|
.injectFixtureEnvironmentObjects()
|
|
}
|
|
}
|