Fix settings overlay layout

This commit is contained in:
Arkadiusz Fal 2022-08-14 19:58:46 +02:00
parent 62769016fc
commit 356f8c7af1
3 changed files with 31 additions and 19 deletions

View File

@ -51,7 +51,7 @@ struct FixtureEnvironmentObjectsModifier: ViewModifier {
}
private var playerControls: PlayerControlsModel {
PlayerControlsModel(presentingControls: true, presentingControlsOverlay: false, player: player)
PlayerControlsModel(presentingControls: false, presentingControlsOverlay: true, player: player)
}
private var subscriptions: SubscriptionsModel {

View File

@ -140,7 +140,7 @@ struct ControlsOverlay: View {
}
#if os(macOS)
.buttonStyle(.bordered)
#else
#elseif os(tvOS)
.modifier(ControlBackgroundModifier())
.clipShape(RoundedRectangle(cornerRadius: 4))
#endif

View File

@ -66,28 +66,40 @@ struct VideoPlayerView: View {
if playerControls.presentingControlsOverlay {
HStack {
ControlsOverlay()
#if os(tvOS)
.onExitCommand {
withAnimation(PlayerControls.animation) {
playerControls.hideOverlays()
HStack {
#if !os(tvOS)
Spacer()
#endif
ControlsOverlay()
#if os(tvOS)
.onExitCommand {
withAnimation(PlayerControls.animation) {
playerControls.hideOverlays()
}
}
}
.onPlayPauseCommand {
player.togglePlay()
}
#else
.frame(maxWidth: overlayWidth)
#endif
.onPlayPauseCommand {
player.togglePlay()
}
#endif
.padding()
.modifier(ControlBackgroundModifier())
.clipShape(RoundedRectangle(cornerRadius: 4))
.transition(.opacity)
#if !os(tvOS)
Spacer()
#endif
}
#if os(macOS)
.frame(width: player.playerSize.width)
#endif
#if !os(tvOS)
Spacer()
#endif
}
#if os(tvOS)
.clipShape(RoundedRectangle(cornerRadius: 10))
#else
.frame(maxWidth: player.playerSize.width)
#endif
}
}
@ -105,9 +117,9 @@ struct VideoPlayerView: View {
return GeometryReader { geometry in
HSplitView {
content
.onAppear {
playerSize = geometry.size
}
}
.onAppear {
playerSize = geometry.size
}
}
.alert(isPresented: $navigation.presentingAlertInVideoPlayer) { navigation.alert }