From 0a5704923618ec68e59fe241e68063a495550db6 Mon Sep 17 00:00:00 2001 From: Ethan Pippin Date: Fri, 15 Oct 2021 00:49:40 -0600 Subject: [PATCH] Fix ItemCoordinator for tvOS --- JellyfinPlayer.xcodeproj/project.pbxproj | 8 --- Shared/Coordinators/ItemCoordinator.swift | 77 +++++++---------------- 2 files changed, 24 insertions(+), 61 deletions(-) diff --git a/JellyfinPlayer.xcodeproj/project.pbxproj b/JellyfinPlayer.xcodeproj/project.pbxproj index 84fa091b..0785991d 100644 --- a/JellyfinPlayer.xcodeproj/project.pbxproj +++ b/JellyfinPlayer.xcodeproj/project.pbxproj @@ -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 = ""; }; - E193D53F27193FA800900D82 /* Coordinators */ = { - isa = PBXGroup; - children = ( - ); - path = Coordinators; - sourceTree = ""; - }; E193D5412719404B00900D82 /* MainCoordinator */ = { isa = PBXGroup; children = ( diff --git a/Shared/Coordinators/ItemCoordinator.swift b/Shared/Coordinators/ItemCoordinator.swift index 12781b52..d8f4588f 100644 --- a/Shared/Coordinators/ItemCoordinator.swift +++ b/Shared/Coordinators/ItemCoordinator.swift @@ -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 { - 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(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 { + NavigationViewCoordinator(VideoPlayerCoordinator(item: item)) + } + + @ViewBuilder func makeStart() -> some View { + ItemNavigationView(item: itemDto) + } +}