From f49dfd624628395d9a75460632a19393ff452cdf Mon Sep 17 00:00:00 2001 From: Arkadiusz Fal Date: Thu, 16 Apr 2026 04:55:17 +0200 Subject: [PATCH] Hide description header in tvOS video info right column The right column is already dedicated to video info so the "Description" label is redundant. Add an opt-out `showsHeader` parameter to `TVScrollableDescription` (default true) and pass false from `VideoInfoView`; the player overlay and channel view keep the header. --- Yattee/Views/Player/tvOS/TVDetailsPanel.swift | 21 +++++++++++-------- Yattee/Views/Video/VideoInfoView.swift | 3 ++- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/Yattee/Views/Player/tvOS/TVDetailsPanel.swift b/Yattee/Views/Player/tvOS/TVDetailsPanel.swift index 7ad246a6..65bee2df 100644 --- a/Yattee/Views/Player/tvOS/TVDetailsPanel.swift +++ b/Yattee/Views/Player/tvOS/TVDetailsPanel.swift @@ -309,6 +309,7 @@ enum TVDetailsFocusItem: Hashable { struct TVScrollableDescription: View { let description: String @Binding var isScrollLocked: Bool + var showsHeader: Bool = true @FocusState private var isFocused: Bool @State private var scrollOffset: CGFloat = 0 @@ -358,17 +359,19 @@ struct TVScrollableDescription: View { private var descriptionContent: some View { VStack(alignment: .leading, spacing: 12) { - HStack { - Text("player.description") - .font(.headline) - .foregroundStyle(.white.opacity(0.7)) + if showsHeader { + HStack { + Text("player.description") + .font(.headline) + .foregroundStyle(.white.opacity(0.7)) - Spacer() + Spacer() - if isFocused { - Text(isScrollLocked ? "player.description.scrollToClose" : "player.description.clickToExpand") - .font(.callout) - .foregroundStyle(.white.opacity(0.5)) + if isFocused { + Text(isScrollLocked ? "player.description.scrollToClose" : "player.description.clickToExpand") + .font(.callout) + .foregroundStyle(.white.opacity(0.5)) + } } } diff --git a/Yattee/Views/Video/VideoInfoView.swift b/Yattee/Views/Video/VideoInfoView.swift index b0688114..bcc29079 100644 --- a/Yattee/Views/Video/VideoInfoView.swift +++ b/Yattee/Views/Video/VideoInfoView.swift @@ -675,7 +675,8 @@ struct VideoInfoView: View { } else if let description = displayedVideo?.description, !description.isEmpty { TVScrollableDescription( description: description, - isScrollLocked: $isDescriptionScrollLocked + isScrollLocked: $isDescriptionScrollLocked, + showsHeader: false ) .frame(height: isDescriptionScrollLocked ? geometry.size.height : 450) .padding(.horizontal)