diff --git a/Shared/Coordinators/TVLibrariesCoordinator.swift b/Shared/Coordinators/TVLibrariesCoordinator.swift index cdd2a493..b2ec1121 100644 --- a/Shared/Coordinators/TVLibrariesCoordinator.swift +++ b/Shared/Coordinators/TVLibrariesCoordinator.swift @@ -34,6 +34,6 @@ final class TVLibrariesCoordinator: NavigationCoordinatable { } func makeLibrary(library: BaseItemDto) -> LibraryCoordinator { - LibraryCoordinator(viewModel: LibraryViewModel(parentID: library.id), title: library.title) + LibraryCoordinator(viewModel: LibraryViewModel(parentID: library.id), title: library.title) } } diff --git a/Swiftfin tvOS/Views/LibraryView.swift b/Swiftfin tvOS/Views/LibraryView.swift index 08f957e5..6ee1fe63 100644 --- a/Swiftfin tvOS/Views/LibraryView.swift +++ b/Swiftfin tvOS/Views/LibraryView.swift @@ -15,7 +15,7 @@ struct LibraryView: View { var libraryRouter: LibraryCoordinator.Router @StateObject var viewModel: LibraryViewModel - var title: String + var title: String // MARK: tracks for grid diff --git a/Swiftfin/Views/LibraryListView.swift b/Swiftfin/Views/LibraryListView.swift index 7c40f19a..2438e35c 100644 --- a/Swiftfin/Views/LibraryListView.swift +++ b/Swiftfin/Views/LibraryListView.swift @@ -7,12 +7,10 @@ // import Foundation -import JellyfinAPI import Stinsen import SwiftUI struct LibraryListView: View { - @EnvironmentObject var libraryListRouter: LibraryListCoordinator.Router @StateObject @@ -25,20 +23,23 @@ struct LibraryListView: View { libraryListRouter.route(to: \.library, (viewModel: LibraryViewModel(filters: viewModel.withFavorites), title: L10n.favorites)) } label: { - HStack { - Spacer() - L10n.yourFavorites.text - .foregroundColor(.black) - .font(.subheadline) - .fontWeight(.semibold) - Spacer() + ZStack { + HStack { + Spacer() + L10n.yourFavorites.text + .foregroundColor(.black) + .font(.subheadline) + .fontWeight(.semibold) + Spacer() + } } - .frame(height: 100) + .padding(16) .background(Color.white) + .frame(minWidth: 100, maxWidth: .infinity) } .cornerRadius(10) .shadow(radius: 5) - .padding() + .padding(.bottom, 5) if !viewModel.isLoading { @@ -61,17 +62,17 @@ struct LibraryListView: View { .fontWeight(.semibold) } Spacer() - } - } - .background(Color.black) - .frame(height: 100) + }.padding(32) + }.background(Color.black) + .frame(minWidth: 100, maxWidth: .infinity) + .frame(height: 100) } .cornerRadius(10) .shadow(radius: 5) - .padding() + .padding(.bottom, 5) } - ForEach(Array(viewModel.libraryRandomItems.keys), id: \.id) { library in + ForEach(viewModel.libraries, id: \.id) { library in if library.collectionType ?? "" == "movies" || library.collectionType ?? "" == "tvshows" { Button { libraryListRouter.route(to: \.library, @@ -79,24 +80,25 @@ struct LibraryListView: View { title: library.name ?? "")) } label: { ZStack { -// ImageView(src: library.getPrimaryImage(maxWidth: 500), bh: library.getPrimaryImageBlurHash()) -// .opacity(0.4) - - ImageView(src: viewModel.libraryRandomItems[library]!.getBackdropImage(maxWidth: 500)) - - VStack { - Text(library.name ?? "") - .foregroundColor(.white) - .font(.title2) - .fontWeight(.semibold) - } - } - .background(Color.black) - .frame(height: 100) + ImageView(src: library.getPrimaryImage(maxWidth: 500), bh: library.getPrimaryImageBlurHash()) + .opacity(0.4) + HStack { + Spacer() + VStack { + Text(library.name ?? "") + .foregroundColor(.white) + .font(.title2) + .fontWeight(.semibold) + } + Spacer() + }.padding(32) + }.background(Color.black) + .frame(minWidth: 100, maxWidth: .infinity) + .frame(height: 100) } .cornerRadius(10) .shadow(radius: 5) - .padding() + .padding(.bottom, 5) } else { EmptyView() } @@ -104,7 +106,9 @@ struct LibraryListView: View { } else { ProgressView() } - } + }.padding(.leading, 16) + .padding(.trailing, 16) + .padding(.top, 8) } .navigationTitle(L10n.allMedia) .toolbar {