From f6aa6ee9be8e975e459fb21c8508e74a5b2ef749 Mon Sep 17 00:00:00 2001 From: Aiden Vigue Date: Mon, 24 May 2021 21:21:58 -0400 Subject: [PATCH] Fix performace on pages with many images --- JellyfinPlayer/LibrarySearchView.swift | 2 -- JellyfinPlayer/LibraryView.swift | 10 ++++------ JellyfinPlayer/MovieItemView.swift | 2 +- 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/JellyfinPlayer/LibrarySearchView.swift b/JellyfinPlayer/LibrarySearchView.swift index e315651d..bd8f8d3a 100644 --- a/JellyfinPlayer/LibrarySearchView.swift +++ b/JellyfinPlayer/LibrarySearchView.swift @@ -145,7 +145,6 @@ struct LibrarySearchView: View { } .frame(width:100, height: 150) .cornerRadius(10) - .shadow(radius: 5) } else { WebImage(url: URL(string: "\(globalData.server?.baseURI ?? "")/Items/\(item.Id)/Images/\(item.ImageType)?fillWidth=300&fillHeight=450&quality=90&tag=\(item.Image)")) .resizable() @@ -174,7 +173,6 @@ struct LibrarySearchView: View { .cornerRadius(10.0) .padding(3), alignment: .topTrailing ) - .shadow(radius: 5) } Text(item.Name) .font(.caption) diff --git a/JellyfinPlayer/LibraryView.swift b/JellyfinPlayer/LibraryView.swift index 09a0b066..e2bf1b1e 100644 --- a/JellyfinPlayer/LibraryView.swift +++ b/JellyfinPlayer/LibraryView.swift @@ -18,7 +18,7 @@ struct LibraryView: View { @State private var library_ids: [String] = [] @State private var selected_library_id: String = ""; @State private var isLoading: Bool = true; - + @State private var startIndex: Int = 0; @State private var endIndex: Int = 60; @State private var totalItems: Int = 0; @@ -76,9 +76,9 @@ struct LibraryView: View { recalcTracks() _isLoading.wrappedValue = true; 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 { - _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) @@ -188,7 +188,6 @@ struct LibraryView: View { } .frame(width:100, height: 150) .cornerRadius(10) - .shadow(radius: 5) } else { WebImage(url: URL(string: "\(globalData.server?.baseURI ?? "")/Items/\(item.Id)/Images/\(item.ImageType)?maxWidth=150&quality=80&tag=\(item.Image)")) .resizable() @@ -217,7 +216,6 @@ struct LibraryView: View { .cornerRadius(10.0) .padding(3), alignment: .topTrailing ) - .shadow(radius: 5) } Text(item.Name) .font(.caption) @@ -289,7 +287,7 @@ struct LibraryView: View { }.onAppear(perform: listOnAppear).overrideViewPreference(.unspecified).navigationTitle("All Media") .toolbar { 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") } } diff --git a/JellyfinPlayer/MovieItemView.swift b/JellyfinPlayer/MovieItemView.swift index e2313628..45d9b144 100644 --- a/JellyfinPlayer/MovieItemView.swift +++ b/JellyfinPlayer/MovieItemView.swift @@ -603,7 +603,7 @@ struct MovieItemView: View { 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) { HStack() {