fix (#579)
This commit is contained in:
parent
f13d734c76
commit
83f9c1c81c
|
@ -43,6 +43,8 @@ final class LibraryCoordinator: NavigationCoordinatable {
|
|||
#if os(tvOS)
|
||||
@Route(.modal)
|
||||
var item = makeItem
|
||||
@Route(.push)
|
||||
var library = makeLibrary
|
||||
#else
|
||||
@Route(.push)
|
||||
var item = makeItem
|
||||
|
@ -71,6 +73,10 @@ final class LibraryCoordinator: NavigationCoordinatable {
|
|||
func makeItem(item: BaseItemDto) -> NavigationViewCoordinator<ItemCoordinator> {
|
||||
NavigationViewCoordinator(ItemCoordinator(item: item))
|
||||
}
|
||||
|
||||
func makeLibrary(parameters: LibraryCoordinator.Parameters) -> NavigationViewCoordinator<LibraryCoordinator> {
|
||||
NavigationViewCoordinator(LibraryCoordinator(parameters: parameters))
|
||||
}
|
||||
#else
|
||||
func makeItem(item: BaseItemDto) -> ItemCoordinator {
|
||||
ItemCoordinator(item: item)
|
||||
|
|
|
@ -9,12 +9,13 @@
|
|||
import CollectionView
|
||||
import Defaults
|
||||
import Introspect
|
||||
import JellyfinAPI
|
||||
import SwiftUI
|
||||
|
||||
struct LibraryView: View {
|
||||
|
||||
@EnvironmentObject
|
||||
private var libraryRouter: LibraryCoordinator.Router
|
||||
private var router: LibraryCoordinator.Router
|
||||
@ObservedObject
|
||||
var viewModel: LibraryViewModel
|
||||
@State
|
||||
|
@ -33,12 +34,26 @@ struct LibraryView: View {
|
|||
L10n.noResults.text
|
||||
}
|
||||
|
||||
private func baseItemOnSelect(_ item: BaseItemDto) {
|
||||
if let baseParent = viewModel.parent as? BaseItemDto {
|
||||
if baseParent.collectionType == "folders" {
|
||||
router.route(to: \.library, .init(parent: item, type: .folders, filters: .init()))
|
||||
} else if item.type == .folder {
|
||||
router.route(to: \.library, .init(parent: item, type: .library, filters: .init()))
|
||||
} else {
|
||||
router.route(to: \.item, item)
|
||||
}
|
||||
} else {
|
||||
router.route(to: \.item, item)
|
||||
}
|
||||
}
|
||||
|
||||
@ViewBuilder
|
||||
private var libraryItemsView: some View {
|
||||
CollectionView(items: viewModel.items) { _, item, _ in
|
||||
PosterButton(item: item, type: libraryPosterType)
|
||||
.onSelect { item in
|
||||
libraryRouter.route(to: \.item, item)
|
||||
baseItemOnSelect(item)
|
||||
}
|
||||
}
|
||||
.layout { _, layoutEnvironment in
|
||||
|
|
|
@ -44,9 +44,6 @@ struct ItemView: View {
|
|||
}
|
||||
case .person:
|
||||
LibraryView(viewModel: .init(parent: item, type: .person))
|
||||
case .collectionFolder:
|
||||
Text("Here")
|
||||
// LibraryView(viewModel: .init(parent: item, type: .folders))
|
||||
default:
|
||||
Text(L10n.notImplementedYetWithType(item.type ?? "--"))
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue