revert LibraryListView
This commit is contained in:
parent
d47268cfe1
commit
1c74928d93
|
@ -34,6 +34,6 @@ final class TVLibrariesCoordinator: NavigationCoordinatable {
|
||||||
}
|
}
|
||||||
|
|
||||||
func makeLibrary(library: BaseItemDto) -> LibraryCoordinator {
|
func makeLibrary(library: BaseItemDto) -> LibraryCoordinator {
|
||||||
LibraryCoordinator(viewModel: LibraryViewModel(parentID: library.id), title: library.title)
|
LibraryCoordinator(viewModel: LibraryViewModel(parentID: library.id), title: library.title)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,7 +15,7 @@ struct LibraryView: View {
|
||||||
var libraryRouter: LibraryCoordinator.Router
|
var libraryRouter: LibraryCoordinator.Router
|
||||||
@StateObject
|
@StateObject
|
||||||
var viewModel: LibraryViewModel
|
var viewModel: LibraryViewModel
|
||||||
var title: String
|
var title: String
|
||||||
|
|
||||||
// MARK: tracks for grid
|
// MARK: tracks for grid
|
||||||
|
|
||||||
|
|
|
@ -7,12 +7,10 @@
|
||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
import JellyfinAPI
|
|
||||||
import Stinsen
|
import Stinsen
|
||||||
import SwiftUI
|
import SwiftUI
|
||||||
|
|
||||||
struct LibraryListView: View {
|
struct LibraryListView: View {
|
||||||
|
|
||||||
@EnvironmentObject
|
@EnvironmentObject
|
||||||
var libraryListRouter: LibraryListCoordinator.Router
|
var libraryListRouter: LibraryListCoordinator.Router
|
||||||
@StateObject
|
@StateObject
|
||||||
|
@ -25,20 +23,23 @@ struct LibraryListView: View {
|
||||||
libraryListRouter.route(to: \.library,
|
libraryListRouter.route(to: \.library,
|
||||||
(viewModel: LibraryViewModel(filters: viewModel.withFavorites), title: L10n.favorites))
|
(viewModel: LibraryViewModel(filters: viewModel.withFavorites), title: L10n.favorites))
|
||||||
} label: {
|
} label: {
|
||||||
HStack {
|
ZStack {
|
||||||
Spacer()
|
HStack {
|
||||||
L10n.yourFavorites.text
|
Spacer()
|
||||||
.foregroundColor(.black)
|
L10n.yourFavorites.text
|
||||||
.font(.subheadline)
|
.foregroundColor(.black)
|
||||||
.fontWeight(.semibold)
|
.font(.subheadline)
|
||||||
Spacer()
|
.fontWeight(.semibold)
|
||||||
|
Spacer()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.frame(height: 100)
|
.padding(16)
|
||||||
.background(Color.white)
|
.background(Color.white)
|
||||||
|
.frame(minWidth: 100, maxWidth: .infinity)
|
||||||
}
|
}
|
||||||
.cornerRadius(10)
|
.cornerRadius(10)
|
||||||
.shadow(radius: 5)
|
.shadow(radius: 5)
|
||||||
.padding()
|
.padding(.bottom, 5)
|
||||||
|
|
||||||
if !viewModel.isLoading {
|
if !viewModel.isLoading {
|
||||||
|
|
||||||
|
@ -61,17 +62,17 @@ struct LibraryListView: View {
|
||||||
.fontWeight(.semibold)
|
.fontWeight(.semibold)
|
||||||
}
|
}
|
||||||
Spacer()
|
Spacer()
|
||||||
}
|
}.padding(32)
|
||||||
}
|
}.background(Color.black)
|
||||||
.background(Color.black)
|
.frame(minWidth: 100, maxWidth: .infinity)
|
||||||
.frame(height: 100)
|
.frame(height: 100)
|
||||||
}
|
}
|
||||||
.cornerRadius(10)
|
.cornerRadius(10)
|
||||||
.shadow(radius: 5)
|
.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" {
|
if library.collectionType ?? "" == "movies" || library.collectionType ?? "" == "tvshows" {
|
||||||
Button {
|
Button {
|
||||||
libraryListRouter.route(to: \.library,
|
libraryListRouter.route(to: \.library,
|
||||||
|
@ -79,24 +80,25 @@ struct LibraryListView: View {
|
||||||
title: library.name ?? ""))
|
title: library.name ?? ""))
|
||||||
} label: {
|
} label: {
|
||||||
ZStack {
|
ZStack {
|
||||||
// ImageView(src: library.getPrimaryImage(maxWidth: 500), bh: library.getPrimaryImageBlurHash())
|
ImageView(src: library.getPrimaryImage(maxWidth: 500), bh: library.getPrimaryImageBlurHash())
|
||||||
// .opacity(0.4)
|
.opacity(0.4)
|
||||||
|
HStack {
|
||||||
ImageView(src: viewModel.libraryRandomItems[library]!.getBackdropImage(maxWidth: 500))
|
Spacer()
|
||||||
|
VStack {
|
||||||
VStack {
|
Text(library.name ?? "")
|
||||||
Text(library.name ?? "")
|
.foregroundColor(.white)
|
||||||
.foregroundColor(.white)
|
.font(.title2)
|
||||||
.font(.title2)
|
.fontWeight(.semibold)
|
||||||
.fontWeight(.semibold)
|
}
|
||||||
}
|
Spacer()
|
||||||
}
|
}.padding(32)
|
||||||
.background(Color.black)
|
}.background(Color.black)
|
||||||
.frame(height: 100)
|
.frame(minWidth: 100, maxWidth: .infinity)
|
||||||
|
.frame(height: 100)
|
||||||
}
|
}
|
||||||
.cornerRadius(10)
|
.cornerRadius(10)
|
||||||
.shadow(radius: 5)
|
.shadow(radius: 5)
|
||||||
.padding()
|
.padding(.bottom, 5)
|
||||||
} else {
|
} else {
|
||||||
EmptyView()
|
EmptyView()
|
||||||
}
|
}
|
||||||
|
@ -104,7 +106,9 @@ struct LibraryListView: View {
|
||||||
} else {
|
} else {
|
||||||
ProgressView()
|
ProgressView()
|
||||||
}
|
}
|
||||||
}
|
}.padding(.leading, 16)
|
||||||
|
.padding(.trailing, 16)
|
||||||
|
.padding(.top, 8)
|
||||||
}
|
}
|
||||||
.navigationTitle(L10n.allMedia)
|
.navigationTitle(L10n.allMedia)
|
||||||
.toolbar {
|
.toolbar {
|
||||||
|
|
Loading…
Reference in New Issue