Files
yattee/Shared/Player/Controls/VideoDetailsOverlay.swift
Arkadiusz Fal adf282d0e2 Add left padding to video details overlay on iPad in non-fullscreen mode
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.
2025-11-15 11:51:00 +01:00

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()
}
}