From d0a921d05c39db27ca53cf586f9a5f32cc501ea0 Mon Sep 17 00:00:00 2001 From: Ashik K Date: Fri, 17 Oct 2025 12:27:52 +0200 Subject: [PATCH] Fix login and settings screens on tvOS - use push navigation everywhere MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Changed all modal routes to push in login and settings coordinators: - SelectUserCoordinator: login flow, server connection, advanced settings - UserSignInCoordinator: quick connect, security settings - SettingsCoordinator: all settings pages (both iOS and tvOS) - AppSettingsCoordinator: log viewer All screens now use full-screen push navigation instead of modal popups. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .../Coordinators/AppSettingsCoordinator.swift | 2 +- .../Coordinators/SelectUserCoordinator.swift | 8 +++---- Shared/Coordinators/SettingsCoordinator.swift | 24 +++++++++---------- .../Coordinators/UserSignInCoordinator.swift | 4 ++-- 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/Shared/Coordinators/AppSettingsCoordinator.swift b/Shared/Coordinators/AppSettingsCoordinator.swift index 3805e3ba..63237232 100644 --- a/Shared/Coordinators/AppSettingsCoordinator.swift +++ b/Shared/Coordinators/AppSettingsCoordinator.swift @@ -27,7 +27,7 @@ final class AppSettingsCoordinator: NavigationCoordinatable { #endif #if os(tvOS) - @Route(.modal) + @Route(.push) var log = makeLog @Route(.fullScreen) diff --git a/Shared/Coordinators/SelectUserCoordinator.swift b/Shared/Coordinators/SelectUserCoordinator.swift index fc0e5459..cf3ab555 100644 --- a/Shared/Coordinators/SelectUserCoordinator.swift +++ b/Shared/Coordinators/SelectUserCoordinator.swift @@ -17,13 +17,13 @@ final class SelectUserCoordinator: NavigationCoordinatable { @Root var start = makeStart - @Route(.modal) + @Route(.push) var advancedSettings = makeAdvancedSettings - @Route(.modal) + @Route(.push) var connectToServer = makeConnectToServer - @Route(.modal) + @Route(.push) var editServer = makeEditServer - @Route(.modal) + @Route(.push) var userSignIn = makeUserSignIn func makeAdvancedSettings() -> NavigationViewCoordinator { diff --git a/Shared/Coordinators/SettingsCoordinator.swift b/Shared/Coordinators/SettingsCoordinator.swift index 10750aa1..acd67e48 100644 --- a/Shared/Coordinators/SettingsCoordinator.swift +++ b/Shared/Coordinators/SettingsCoordinator.swift @@ -26,11 +26,11 @@ final class SettingsCoordinator: NavigationCoordinatable { var playbackQualitySettings = makePlaybackQualitySettings @Route(.push) var quickConnect = makeQuickConnectAuthorize - @Route(.modal) + @Route(.push) var resetUserPassword = makeResetUserPassword @Route(.push) var localSecurity = makeLocalSecurity - @Route(.modal) + @Route(.push) var photoPicker = makePhotoPicker @Route(.push) var userProfile = makeUserProfileSettings @@ -51,12 +51,12 @@ final class SettingsCoordinator: NavigationCoordinatable { var videoPlayerSettings = makeVideoPlayerSettings @Route(.push) var customDeviceProfileSettings = makeCustomDeviceProfileSettings - @Route(.modal) + @Route(.push) var itemOverviewView = makeItemOverviewView - @Route(.modal) + @Route(.push) var editCustomDeviceProfile = makeEditCustomDeviceProfile - @Route(.modal) + @Route(.push) var createCustomDeviceProfile = makeCreateCustomDeviceProfile @Route(.push) @@ -69,19 +69,19 @@ final class SettingsCoordinator: NavigationCoordinatable { #endif #if os(tvOS) - @Route(.modal) + @Route(.push) var customizeViewsSettings = makeCustomizeViewsSettings - @Route(.modal) + @Route(.push) var experimentalSettings = makeExperimentalSettings - @Route(.modal) + @Route(.push) var log = makeLog - @Route(.modal) + @Route(.push) var serverDetail = makeServerDetail - @Route(.modal) + @Route(.push) var videoPlayerSettings = makeVideoPlayerSettings - @Route(.modal) + @Route(.push) var playbackQualitySettings = makePlaybackQualitySettings - @Route(.modal) + @Route(.push) var userProfile = makeUserProfileSettings #endif diff --git a/Shared/Coordinators/UserSignInCoordinator.swift b/Shared/Coordinators/UserSignInCoordinator.swift index ecbbb333..a5b978cb 100644 --- a/Shared/Coordinators/UserSignInCoordinator.swift +++ b/Shared/Coordinators/UserSignInCoordinator.swift @@ -23,11 +23,11 @@ final class UserSignInCoordinator: NavigationCoordinatable { @Root var start = makeStart - @Route(.modal) + @Route(.push) var quickConnect = makeQuickConnect #if os(iOS) - @Route(.modal) + @Route(.push) var security = makeSecurity #endif