From 4840c9a05fc6fd509f627549a98756ed958e1523 Mon Sep 17 00:00:00 2001 From: Arkadiusz Fal Date: Sun, 9 Nov 2025 16:36:28 +0100 Subject: [PATCH] Use fullScreenCover for Settings and Accounts on tvOS MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Replace sheet presentation with fullScreenCover for Settings and Accounts views on tvOS - Add proper background color to Settings and Accounts screens on tvOS - Clean up trailing whitespace in HomeView 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- Shared/Home/HomeView.swift | 2 +- Shared/Navigation/AccountsView.swift | 4 ++++ Shared/Navigation/ContentView.swift | 12 ++++++++++++ Shared/Settings/SettingsView.swift | 3 +++ 4 files changed, 20 insertions(+), 1 deletion(-) diff --git a/Shared/Home/HomeView.swift b/Shared/Home/HomeView.swift index d85331ed..3632207c 100644 --- a/Shared/Home/HomeView.swift +++ b/Shared/Home/HomeView.swift @@ -43,7 +43,7 @@ struct HomeView: View { AccentButton(imageSystemName: "ellipsis") { NavigationModel.shared.presentingOpenVideos = true } - .frame(maxWidth: 40) + .frame(maxWidth: 40) } } #endif diff --git a/Shared/Navigation/AccountsView.swift b/Shared/Navigation/AccountsView.swift index c662ce3c..d2c5992e 100644 --- a/Shared/Navigation/AccountsView.swift +++ b/Shared/Navigation/AccountsView.swift @@ -3,6 +3,9 @@ import SwiftUI struct AccountsView: View { @StateObject private var model = AccountsViewModel() @Environment(\.presentationMode) private var presentationMode + #if os(tvOS) + @Environment(\.colorScheme) private var colorScheme + #endif var body: some View { #if os(macOS) @@ -28,6 +31,7 @@ struct AccountsView: View { } #if os(tvOS) .frame(maxWidth: 1000) + .background(Color.background(scheme: colorScheme).ignoresSafeArea()) #endif #endif } diff --git a/Shared/Navigation/ContentView.swift b/Shared/Navigation/ContentView.swift index b9f5b806..aebd7925 100644 --- a/Shared/Navigation/ContentView.swift +++ b/Shared/Navigation/ContentView.swift @@ -63,17 +63,29 @@ struct ContentView: View { WelcomeScreen() } ) + #if os(tvOS) + .fullScreenCover(isPresented: $navigation.presentingSettings) { + SettingsView() + } + #else .background( EmptyView().sheet(isPresented: $navigation.presentingSettings) { SettingsView() } ) + #endif .modifier(ImportSettingsSheetViewModifier(isPresented: $navigation.presentingSettingsImportSheet, settingsFile: $navigation.settingsImportURL)) + #if os(tvOS) + .fullScreenCover(isPresented: $navigation.presentingAccounts) { + AccountsView() + } + #else .background( EmptyView().sheet(isPresented: $navigation.presentingAccounts) { AccountsView() } ) + #endif .background( EmptyView().sheet(isPresented: $navigation.presentingHomeSettings) { #if os(macOS) diff --git a/Shared/Settings/SettingsView.swift b/Shared/Settings/SettingsView.swift index aca6ad8f..09d1b9dc 100644 --- a/Shared/Settings/SettingsView.swift +++ b/Shared/Settings/SettingsView.swift @@ -134,6 +134,9 @@ struct SettingsView: View { settingsList .navigationTitle("Settings") } + #if os(tvOS) + .background(Color.background(scheme: colorScheme).ignoresSafeArea()) + #endif #endif }