Fix ItemCoordinator for tvOS
This commit is contained in:
parent
0eec789f1a
commit
0a57049236
|
@ -825,7 +825,6 @@
|
||||||
62ECA01926FA6D6900E8EBB7 /* AppURLHandler */,
|
62ECA01926FA6D6900E8EBB7 /* AppURLHandler */,
|
||||||
5377CBF8263B596B003A4E83 /* Assets.xcassets */,
|
5377CBF8263B596B003A4E83 /* Assets.xcassets */,
|
||||||
53F866422687A45400DCD1D7 /* Components */,
|
53F866422687A45400DCD1D7 /* Components */,
|
||||||
E193D53F27193FA800900D82 /* Coordinators */,
|
|
||||||
5377CC02263B596B003A4E83 /* Info.plist */,
|
5377CC02263B596B003A4E83 /* Info.plist */,
|
||||||
53AD124C2670278D0094A276 /* JellyfinPlayer.entitlements */,
|
53AD124C2670278D0094A276 /* JellyfinPlayer.entitlements */,
|
||||||
5377CBFA263B596B003A4E83 /* Preview Content */,
|
5377CBFA263B596B003A4E83 /* Preview Content */,
|
||||||
|
@ -1202,13 +1201,6 @@
|
||||||
path = Coordinators;
|
path = Coordinators;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
E193D53F27193FA800900D82 /* Coordinators */ = {
|
|
||||||
isa = PBXGroup;
|
|
||||||
children = (
|
|
||||||
);
|
|
||||||
path = Coordinators;
|
|
||||||
sourceTree = "<group>";
|
|
||||||
};
|
|
||||||
E193D5412719404B00900D82 /* MainCoordinator */ = {
|
E193D5412719404B00900D82 /* MainCoordinator */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
|
|
|
@ -12,62 +12,33 @@ import JellyfinAPI
|
||||||
import Stinsen
|
import Stinsen
|
||||||
import SwiftUI
|
import SwiftUI
|
||||||
|
|
||||||
#if os(iOS)
|
final class ItemCoordinator: NavigationCoordinatable {
|
||||||
final class ItemCoordinator: NavigationCoordinatable {
|
let stack = NavigationStack(initial: \ItemCoordinator.start)
|
||||||
let stack = NavigationStack(initial: \ItemCoordinator.start)
|
|
||||||
|
|
||||||
@Root var start = makeStart
|
@Root var start = makeStart
|
||||||
@Route(.push) var item = makeItem
|
@Route(.push) var item = makeItem
|
||||||
@Route(.push) var library = makeLibrary
|
@Route(.push) var library = makeLibrary
|
||||||
@Route(.fullScreen) var videoPlayer = makeVideoPlayer
|
@Route(.fullScreen) var videoPlayer = makeVideoPlayer
|
||||||
|
|
||||||
let itemDto: BaseItemDto
|
let itemDto: BaseItemDto
|
||||||
|
|
||||||
init(item: BaseItemDto) {
|
init(item: BaseItemDto) {
|
||||||
self.itemDto = item
|
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)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#elseif os(tvOS)
|
func makeLibrary(params: LibraryCoordinatorParams) -> LibraryCoordinator {
|
||||||
// temp for fixing build error
|
LibraryCoordinator(viewModel: params.viewModel, title: params.title)
|
||||||
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()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
#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)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue