LiveTV as root
This commit is contained in:
parent
b7fd00702f
commit
25ec19b1fe
|
@ -11,6 +11,7 @@ import Foundation
|
||||||
import SwiftUI
|
import SwiftUI
|
||||||
|
|
||||||
struct LibraryListView: View {
|
struct LibraryListView: View {
|
||||||
|
@EnvironmentObject var mainCoordinator: MainCoordinator.Router
|
||||||
@EnvironmentObject var libraryListRouter: LibraryListCoordinator.Router
|
@EnvironmentObject var libraryListRouter: LibraryListCoordinator.Router
|
||||||
@StateObject var viewModel = LibraryListViewModel()
|
@StateObject var viewModel = LibraryListViewModel()
|
||||||
|
|
||||||
|
@ -24,7 +25,7 @@ struct LibraryListView: View {
|
||||||
} else {
|
} else {
|
||||||
Button() {
|
Button() {
|
||||||
if library.collectionType == "livetv" {
|
if library.collectionType == "livetv" {
|
||||||
self.libraryListRouter.route(to: \.liveTvTabs)
|
self.mainCoordinator.root(\.liveTV)
|
||||||
} else {
|
} else {
|
||||||
self.libraryListRouter.route(to: \.library, (viewModel: LibraryViewModel(), title: library.name ?? ""))
|
self.libraryListRouter.route(to: \.library, (viewModel: LibraryViewModel(), title: library.name ?? ""))
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,6 @@ final class LibraryListCoordinator: NavigationCoordinatable {
|
||||||
@Root var start = makeStart
|
@Root var start = makeStart
|
||||||
@Route(.push) var search = makeSearch
|
@Route(.push) var search = makeSearch
|
||||||
@Route(.push) var library = makeLibrary
|
@Route(.push) var library = makeLibrary
|
||||||
@Route(.modal) var liveTvTabs = makeLiveTvTabs
|
|
||||||
|
|
||||||
let viewModel: LibraryListViewModel
|
let viewModel: LibraryListViewModel
|
||||||
|
|
||||||
|
@ -33,10 +32,6 @@ final class LibraryListCoordinator: NavigationCoordinatable {
|
||||||
func makeSearch(viewModel: LibrarySearchViewModel) -> SearchCoordinator {
|
func makeSearch(viewModel: LibrarySearchViewModel) -> SearchCoordinator {
|
||||||
SearchCoordinator(viewModel: viewModel)
|
SearchCoordinator(viewModel: viewModel)
|
||||||
}
|
}
|
||||||
|
|
||||||
func makeLiveTvTabs() -> LiveTVTabCoordinator {
|
|
||||||
LiveTVTabCoordinator()
|
|
||||||
}
|
|
||||||
|
|
||||||
@ViewBuilder
|
@ViewBuilder
|
||||||
func makeStart() -> some View {
|
func makeStart() -> some View {
|
||||||
|
|
|
@ -17,7 +17,8 @@ final class MainCoordinator: NavigationCoordinatable {
|
||||||
|
|
||||||
@Root var mainTab = makeMainTab
|
@Root var mainTab = makeMainTab
|
||||||
@Root var serverList = makeServerList
|
@Root var serverList = makeServerList
|
||||||
|
@Root var liveTV = makeLiveTV
|
||||||
|
|
||||||
init() {
|
init() {
|
||||||
if SessionManager.main.currentLogin != nil {
|
if SessionManager.main.currentLogin != nil {
|
||||||
self.stack = NavigationStack(initial: \MainCoordinator.mainTab)
|
self.stack = NavigationStack(initial: \MainCoordinator.mainTab)
|
||||||
|
@ -51,4 +52,8 @@ final class MainCoordinator: NavigationCoordinatable {
|
||||||
func makeServerList() -> NavigationViewCoordinator<ServerListCoordinator> {
|
func makeServerList() -> NavigationViewCoordinator<ServerListCoordinator> {
|
||||||
NavigationViewCoordinator(ServerListCoordinator())
|
NavigationViewCoordinator(ServerListCoordinator())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func makeLiveTV() -> LiveTVTabCoordinator {
|
||||||
|
LiveTVTabCoordinator()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue