diff --git a/JellyfinPlayer tvOS/Views/LibraryListView.swift b/JellyfinPlayer tvOS/Views/LibraryListView.swift index e3d4d516..7c50212f 100644 --- a/JellyfinPlayer tvOS/Views/LibraryListView.swift +++ b/JellyfinPlayer tvOS/Views/LibraryListView.swift @@ -11,6 +11,7 @@ import Foundation import SwiftUI struct LibraryListView: View { + @EnvironmentObject var mainCoordinator: MainCoordinator.Router @EnvironmentObject var libraryListRouter: LibraryListCoordinator.Router @StateObject var viewModel = LibraryListViewModel() @@ -24,7 +25,7 @@ struct LibraryListView: View { } else { Button() { if library.collectionType == "livetv" { - self.libraryListRouter.route(to: \.liveTvTabs) + self.mainCoordinator.root(\.liveTV) } else { self.libraryListRouter.route(to: \.library, (viewModel: LibraryViewModel(), title: library.name ?? "")) } diff --git a/Shared/Coordinators/LibraryListCoordinator.swift b/Shared/Coordinators/LibraryListCoordinator.swift index f3d8eea2..932004bf 100644 --- a/Shared/Coordinators/LibraryListCoordinator.swift +++ b/Shared/Coordinators/LibraryListCoordinator.swift @@ -18,7 +18,6 @@ final class LibraryListCoordinator: NavigationCoordinatable { @Root var start = makeStart @Route(.push) var search = makeSearch @Route(.push) var library = makeLibrary - @Route(.modal) var liveTvTabs = makeLiveTvTabs let viewModel: LibraryListViewModel @@ -33,10 +32,6 @@ final class LibraryListCoordinator: NavigationCoordinatable { func makeSearch(viewModel: LibrarySearchViewModel) -> SearchCoordinator { SearchCoordinator(viewModel: viewModel) } - - func makeLiveTvTabs() -> LiveTVTabCoordinator { - LiveTVTabCoordinator() - } @ViewBuilder func makeStart() -> some View { diff --git a/Shared/Coordinators/MainCoordinator/tvOSMainCoordinator.swift b/Shared/Coordinators/MainCoordinator/tvOSMainCoordinator.swift index 122a870f..a9dfdc96 100644 --- a/Shared/Coordinators/MainCoordinator/tvOSMainCoordinator.swift +++ b/Shared/Coordinators/MainCoordinator/tvOSMainCoordinator.swift @@ -17,7 +17,8 @@ final class MainCoordinator: NavigationCoordinatable { @Root var mainTab = makeMainTab @Root var serverList = makeServerList - + @Root var liveTV = makeLiveTV + init() { if SessionManager.main.currentLogin != nil { self.stack = NavigationStack(initial: \MainCoordinator.mainTab) @@ -51,4 +52,8 @@ final class MainCoordinator: NavigationCoordinatable { func makeServerList() -> NavigationViewCoordinator { NavigationViewCoordinator(ServerListCoordinator()) } + + func makeLiveTV() -> LiveTVTabCoordinator { + LiveTVTabCoordinator() + } }