From 14f12195002fa77b08fc324bad06a3bf3e586a09 Mon Sep 17 00:00:00 2001 From: Ethan Pippin Date: Sat, 3 Sep 2022 23:19:32 -0600 Subject: [PATCH] iOS/iPadOS - Media/LibraryView Loading Indicator (#556) --- Shared/ViewModels/MediaViewModel.swift | 1 + Swiftfin/Views/LibraryView/LibraryView.swift | 5 +++++ Swiftfin/Views/MediaView.swift | 7 +++++++ 3 files changed, 13 insertions(+) diff --git a/Shared/ViewModels/MediaViewModel.swift b/Shared/ViewModels/MediaViewModel.swift index 320884cc..a3aeddf9 100644 --- a/Shared/ViewModels/MediaViewModel.swift +++ b/Shared/ViewModels/MediaViewModel.swift @@ -37,6 +37,7 @@ final class MediaViewModel: ViewModel { func requestLibraries() { UserViewsAPI.getUserViews(userId: SessionManager.main.currentLogin.user.id) + .trackActivity(loading) .sink(receiveCompletion: { completion in self.handleAPIRequestError(completion: completion) }, receiveValue: { response in diff --git a/Swiftfin/Views/LibraryView/LibraryView.swift b/Swiftfin/Views/LibraryView/LibraryView.swift index 758e034b..a4e5c20f 100644 --- a/Swiftfin/Views/LibraryView/LibraryView.swift +++ b/Swiftfin/Views/LibraryView/LibraryView.swift @@ -116,6 +116,11 @@ struct LibraryView: View { } .toolbar { ToolbarItemGroup(placement: .navigationBarTrailing) { + + if viewModel.isLoading && !viewModel.items.isEmpty { + ProgressView() + } + Button { switch libraryViewType { case .grid: diff --git a/Swiftfin/Views/MediaView.swift b/Swiftfin/Views/MediaView.swift index 530c993f..ae66c486 100644 --- a/Swiftfin/Views/MediaView.swift +++ b/Swiftfin/Views/MediaView.swift @@ -69,5 +69,12 @@ struct MediaView: View { } .ignoresSafeArea() .navigationTitle(L10n.allMedia) + .toolbar { + ToolbarItemGroup(placement: .navigationBarTrailing) { + if viewModel.isLoading { + ProgressView() + } + } + } } }