Use fullScreenCover for Settings and Accounts on tvOS

- 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 <noreply@anthropic.com>
This commit is contained in:
Arkadiusz Fal
2025-11-09 16:36:28 +01:00
parent e0ca48fd44
commit 4840c9a05f
4 changed files with 20 additions and 1 deletions

View File

@@ -43,7 +43,7 @@ struct HomeView: View {
AccentButton(imageSystemName: "ellipsis") {
NavigationModel.shared.presentingOpenVideos = true
}
.frame(maxWidth: 40)
.frame(maxWidth: 40)
}
}
#endif

View File

@@ -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
}

View File

@@ -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)

View File

@@ -134,6 +134,9 @@ struct SettingsView: View {
settingsList
.navigationTitle("Settings")
}
#if os(tvOS)
.background(Color.background(scheme: colorScheme).ignoresSafeArea())
#endif
#endif
}