Fix performace on pages with many images
This commit is contained in:
parent
c86c08d4bb
commit
f6aa6ee9be
|
@ -145,7 +145,6 @@ struct LibrarySearchView: View {
|
||||||
}
|
}
|
||||||
.frame(width:100, height: 150)
|
.frame(width:100, height: 150)
|
||||||
.cornerRadius(10)
|
.cornerRadius(10)
|
||||||
.shadow(radius: 5)
|
|
||||||
} else {
|
} else {
|
||||||
WebImage(url: URL(string: "\(globalData.server?.baseURI ?? "")/Items/\(item.Id)/Images/\(item.ImageType)?fillWidth=300&fillHeight=450&quality=90&tag=\(item.Image)"))
|
WebImage(url: URL(string: "\(globalData.server?.baseURI ?? "")/Items/\(item.Id)/Images/\(item.ImageType)?fillWidth=300&fillHeight=450&quality=90&tag=\(item.Image)"))
|
||||||
.resizable()
|
.resizable()
|
||||||
|
@ -174,7 +173,6 @@ struct LibrarySearchView: View {
|
||||||
.cornerRadius(10.0)
|
.cornerRadius(10.0)
|
||||||
.padding(3), alignment: .topTrailing
|
.padding(3), alignment: .topTrailing
|
||||||
)
|
)
|
||||||
.shadow(radius: 5)
|
|
||||||
}
|
}
|
||||||
Text(item.Name)
|
Text(item.Name)
|
||||||
.font(.caption)
|
.font(.caption)
|
||||||
|
|
|
@ -18,7 +18,7 @@ struct LibraryView: View {
|
||||||
@State private var library_ids: [String] = []
|
@State private var library_ids: [String] = []
|
||||||
@State private var selected_library_id: String = "";
|
@State private var selected_library_id: String = "";
|
||||||
@State private var isLoading: Bool = true;
|
@State private var isLoading: Bool = true;
|
||||||
|
|
||||||
@State private var startIndex: Int = 0;
|
@State private var startIndex: Int = 0;
|
||||||
@State private var endIndex: Int = 60;
|
@State private var endIndex: Int = 60;
|
||||||
@State private var totalItems: Int = 0;
|
@State private var totalItems: Int = 0;
|
||||||
|
@ -76,9 +76,9 @@ struct LibraryView: View {
|
||||||
recalcTracks()
|
recalcTracks()
|
||||||
_isLoading.wrappedValue = true;
|
_isLoading.wrappedValue = true;
|
||||||
if(_extraParam.wrappedValue == "") {
|
if(_extraParam.wrappedValue == "") {
|
||||||
_url.wrappedValue = "/Users/\(globalData.user?.user_id ?? "")/Items?Limit=\(endIndex)&StartIndex=\(startIndex)&Recursive=true&Fields=PrimaryImageAspectRatio%2CBasicSyncInfo&ImageTypeLimit=1&EnableImageTypes=Primary%2CBackdrop%2CThumb%2CBanner&IncludeItemTypes=Movie,Series\(selected_library_id == "favorites" ? "&Filters=IsFavorite" : "&ParentId=" + selected_library_id)\(filterString)"
|
_url.wrappedValue = "/Users/\(globalData.user?.user_id ?? "")/Items?&Recursive=true&Fields=PrimaryImageAspectRatio%2CBasicSyncInfo&ImageTypeLimit=1&EnableImageTypes=Primary%2CBackdrop%2CThumb%2CBanner&IncludeItemTypes=Movie,Series\(selected_library_id == "favorites" ? "&Filters=IsFavorite" : "&ParentId=" + selected_library_id)\(filterString)"
|
||||||
} else {
|
} else {
|
||||||
_url.wrappedValue = "/Users/\(globalData.user?.user_id ?? "")/Items?Limit=\(endIndex)&StartIndex=\(startIndex)&Recursive=true&Fields=PrimaryImageAspectRatio%2CBasicSyncInfo&ImageTypeLimit=1&EnableImageTypes=Primary%2CBackdrop%2CThumb%2CBanner&IncludeItemTypes=Movie,Series\(filterString)\(extraParam)"
|
_url.wrappedValue = "/Users/\(globalData.user?.user_id ?? "")/Items?&Recursive=true&Fields=PrimaryImageAspectRatio%2CBasicSyncInfo&ImageTypeLimit=1&EnableImageTypes=Primary%2CBackdrop%2CThumb%2CBanner&IncludeItemTypes=Movie,Series\(filterString)\(extraParam)"
|
||||||
}
|
}
|
||||||
|
|
||||||
let request = RestRequest(method: .get, url: (globalData.server?.baseURI ?? "") + _url.wrappedValue)
|
let request = RestRequest(method: .get, url: (globalData.server?.baseURI ?? "") + _url.wrappedValue)
|
||||||
|
@ -188,7 +188,6 @@ struct LibraryView: View {
|
||||||
}
|
}
|
||||||
.frame(width:100, height: 150)
|
.frame(width:100, height: 150)
|
||||||
.cornerRadius(10)
|
.cornerRadius(10)
|
||||||
.shadow(radius: 5)
|
|
||||||
} else {
|
} else {
|
||||||
WebImage(url: URL(string: "\(globalData.server?.baseURI ?? "")/Items/\(item.Id)/Images/\(item.ImageType)?maxWidth=150&quality=80&tag=\(item.Image)"))
|
WebImage(url: URL(string: "\(globalData.server?.baseURI ?? "")/Items/\(item.Id)/Images/\(item.ImageType)?maxWidth=150&quality=80&tag=\(item.Image)"))
|
||||||
.resizable()
|
.resizable()
|
||||||
|
@ -217,7 +216,6 @@ struct LibraryView: View {
|
||||||
.cornerRadius(10.0)
|
.cornerRadius(10.0)
|
||||||
.padding(3), alignment: .topTrailing
|
.padding(3), alignment: .topTrailing
|
||||||
)
|
)
|
||||||
.shadow(radius: 5)
|
|
||||||
}
|
}
|
||||||
Text(item.Name)
|
Text(item.Name)
|
||||||
.font(.caption)
|
.font(.caption)
|
||||||
|
@ -289,7 +287,7 @@ struct LibraryView: View {
|
||||||
}.onAppear(perform: listOnAppear).overrideViewPreference(.unspecified).navigationTitle("All Media")
|
}.onAppear(perform: listOnAppear).overrideViewPreference(.unspecified).navigationTitle("All Media")
|
||||||
.toolbar {
|
.toolbar {
|
||||||
ToolbarItemGroup(placement: .navigationBarTrailing) {
|
ToolbarItemGroup(placement: .navigationBarTrailing) {
|
||||||
NavigationLink(destination: LibrarySearchView(url: "/Users/\(globalData.user?.user_id ?? "")/Items?Limit=30&StartIndex=0&Recursive=true&Fields=PrimaryImageAspectRatio%2CBasicSyncInfo&ImageTypeLimit=1&EnableImageTypes=Primary%2CBackdrop%2CThumb%2CBanner&IncludeItemTypes=Movie,Series\(extraParam)", close: $closeSearch), isActive: $closeSearch) {
|
NavigationLink(destination: LibrarySearchView(url: "/Users/\(globalData.user?.user_id ?? "")/Items?Limit=300&StartIndex=0&Recursive=true&Fields=PrimaryImageAspectRatio%2CBasicSyncInfo&ImageTypeLimit=1&EnableImageTypes=Primary%2CBackdrop%2CThumb%2CBanner&IncludeItemTypes=Movie,Series\(extraParam)", close: $closeSearch), isActive: $closeSearch) {
|
||||||
Image(systemName: "magnifyingglass")
|
Image(systemName: "magnifyingglass")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -603,7 +603,7 @@ struct MovieItemView: View {
|
||||||
Spacer().frame(width: UIDevice.current.userInterfaceIdiom == .pad ? 16 : 55)
|
Spacer().frame(width: UIDevice.current.userInterfaceIdiom == .pad ? 16 : 55)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}.padding(.top, -3)
|
}.padding(.top, -3).padding(.trailing, UIDevice.current.userInterfaceIdiom == .pad ? -55 : 0)
|
||||||
}
|
}
|
||||||
if(fullItem.Directors.count != 0) {
|
if(fullItem.Directors.count != 0) {
|
||||||
HStack() {
|
HStack() {
|
||||||
|
|
Loading…
Reference in New Issue