From a25acb1219d506351717edef8ad728abcdaf50f9 Mon Sep 17 00:00:00 2001 From: Shav Kinderlehrer Date: Sat, 23 Dec 2023 11:14:53 -0500 Subject: Use asyncImage for libraryIcons --- Jel/Views/Library/LibraryDetailView.swift | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) (limited to 'Jel/Views/Library/LibraryDetailView.swift') diff --git a/Jel/Views/Library/LibraryDetailView.swift b/Jel/Views/Library/LibraryDetailView.swift index 3d5a04b..37ab613 100644 --- a/Jel/Views/Library/LibraryDetailView.swift +++ b/Jel/Views/Library/LibraryDetailView.swift @@ -15,11 +15,22 @@ struct LibraryDetailView: View { @State var library: BaseItemDto @State var items: [BaseItemDto]? = [] + @State var loading: Bool = true + + let columns = [ + GridItem(.adaptive(minimum: 150)) + ] var body: some View { + if loading { + ProgressView() + .progressViewStyle(.circular) + } ScrollView { - ForEach(items ?? []) {item in - LibraryIconView(library: item, imageType: "Primary", width: 120) - .padding() + LazyVGrid(columns: columns) { + ForEach(items ?? []) {item in + LibraryIconView(library: item, imageType: "Primary", height: 150) + .padding() + } } } .navigationTitle(library.name ?? "Unknown") @@ -31,6 +42,7 @@ struct LibraryDetailView: View { do { let res = try await jellyfinClient.send(request) items = res.value.items + loading = false } catch { } } @@ -38,6 +50,6 @@ struct LibraryDetailView: View { } } -#Preview { - LibraryDetailView(library: BaseItemDto()) -} +//#Preview { +// LibraryDetailView(library: BaseItemDto()) +//} -- cgit v1.2.3