diff --git a/Shared/Player/Video Details/VideoActions.swift b/Shared/Player/Video Details/VideoActions.swift index f269300a..613e4396 100644 --- a/Shared/Player/Video Details/VideoActions.swift +++ b/Shared/Player/Video Details/VideoActions.swift @@ -86,6 +86,10 @@ struct VideoActions: View { } } + func isAnyActionVisible() -> Bool { + return Action.allCases.contains { isVisible($0) } + } + func isActionable(_ action: Action) -> Bool { switch action { case .share: diff --git a/Shared/Player/Video Details/VideoDetails.swift b/Shared/Player/Video Details/VideoDetails.swift index 0eb460d8..173fd830 100644 --- a/Shared/Player/Video Details/VideoDetails.swift +++ b/Shared/Player/Video Details/VideoDetails.swift @@ -235,15 +235,22 @@ struct VideoDetails: View { ) #endif // swiftlint:enable trailing_closure - - VideoActions(video: player.videoForDisplay) - .padding(.vertical, 5) - .frame(maxHeight: 50) - .frame(maxWidth: .infinity) - .borderTop(height: 0.5, color: Color("ControlsBorderColor")) - .borderBottom(height: 0.5, color: Color("ControlsBorderColor")) - .animation(nil, value: player.currentItem) - .frame(minWidth: 0, maxWidth: .infinity) + if VideoActions().isAnyActionVisible() { + VideoActions(video: player.videoForDisplay) + .padding(.vertical, 5) + .frame(maxHeight: 50) + .frame(maxWidth: .infinity) + .borderTop(height: 0.5, color: Color("ControlsBorderColor")) + .borderBottom(height: 0.5, color: Color("ControlsBorderColor")) + .animation(nil, value: player.currentItem) + .frame(minWidth: 0, maxWidth: .infinity) + } else { + Rectangle() + .fill(Color.clear) + .frame(height: 0.5) + .frame(maxWidth: .infinity) + .background(Color("ControlsBorderColor")) + } ScrollViewReader { proxy in pageView