Fix ItemCoordinator for tvOS

This commit is contained in:
Ethan Pippin 2021-10-15 00:49:40 -06:00
parent 0eec789f1a
commit 0a57049236
2 changed files with 24 additions and 61 deletions

View File

@ -825,7 +825,6 @@
62ECA01926FA6D6900E8EBB7 /* AppURLHandler */,
5377CBF8263B596B003A4E83 /* Assets.xcassets */,
53F866422687A45400DCD1D7 /* Components */,
E193D53F27193FA800900D82 /* Coordinators */,
5377CC02263B596B003A4E83 /* Info.plist */,
53AD124C2670278D0094A276 /* JellyfinPlayer.entitlements */,
5377CBFA263B596B003A4E83 /* Preview Content */,
@ -1202,13 +1201,6 @@
path = Coordinators;
sourceTree = "<group>";
};
E193D53F27193FA800900D82 /* Coordinators */ = {
isa = PBXGroup;
children = (
);
path = Coordinators;
sourceTree = "<group>";
};
E193D5412719404B00900D82 /* MainCoordinator */ = {
isa = PBXGroup;
children = (

View File

@ -12,62 +12,33 @@ import JellyfinAPI
import Stinsen
import SwiftUI
#if os(iOS)
final class ItemCoordinator: NavigationCoordinatable {
let stack = NavigationStack(initial: \ItemCoordinator.start)
final class ItemCoordinator: NavigationCoordinatable {
let stack = NavigationStack(initial: \ItemCoordinator.start)
@Root var start = makeStart
@Route(.push) var item = makeItem
@Route(.push) var library = makeLibrary
@Route(.fullScreen) var videoPlayer = makeVideoPlayer
@Root var start = makeStart
@Route(.push) var item = makeItem
@Route(.push) var library = makeLibrary
@Route(.fullScreen) var videoPlayer = makeVideoPlayer
let itemDto: BaseItemDto
let itemDto: BaseItemDto
init(item: BaseItemDto) {
self.itemDto = item
}
func makeLibrary(params: LibraryCoordinatorParams) -> LibraryCoordinator {
LibraryCoordinator(viewModel: params.viewModel, title: params.title)
}
func makeItem(item: BaseItemDto) -> ItemCoordinator {
ItemCoordinator(item: item)
}
func makeVideoPlayer(item: BaseItemDto) -> NavigationViewCoordinator<VideoPlayerCoordinator> {
NavigationViewCoordinator(VideoPlayerCoordinator(item: item))
}
@ViewBuilder func makeStart() -> some View {
ItemNavigationView(item: itemDto)
}
init(item: BaseItemDto) {
self.itemDto = item
}
#elseif os(tvOS)
// temp for fixing build error
final class ItemCoordinator: NavigationCoordinatable {
let stack = NavigationStack<ItemCoordinator>(initial: \ItemCoordinator.start)
@Root var start = makeStart
@Route(.push) var item = makeItem
@Route(.push) var library = makeLibrary
@Route(.fullScreen) var videoPlayer = makeVideoPlayer
@ViewBuilder func makeStart() -> some View {
EmptyView()
}
@ViewBuilder func makeLibrary(params: (viewModel: LibraryViewModel, title: String)) -> some View {
EmptyView()
}
@ViewBuilder func makeItem(item: BaseItemDto) -> some View {
EmptyView()
}
@ViewBuilder func makeVideoPlayer(item: BaseItemDto) -> some View {
EmptyView()
}
func makeLibrary(params: LibraryCoordinatorParams) -> LibraryCoordinator {
LibraryCoordinator(viewModel: params.viewModel, title: params.title)
}
#endif
func makeItem(item: BaseItemDto) -> ItemCoordinator {
ItemCoordinator(item: item)
}
func makeVideoPlayer(item: BaseItemDto) -> NavigationViewCoordinator<VideoPlayerCoordinator> {
NavigationViewCoordinator(VideoPlayerCoordinator(item: item))
}
@ViewBuilder func makeStart() -> some View {
ItemNavigationView(item: itemDto)
}
}