From a5ab2182eb42820edaebab4ad7f4a7cf87debdc8 Mon Sep 17 00:00:00 2001 From: Angelo Stavrow Date: Mon, 7 Dec 2020 15:15:49 -0500 Subject: [PATCH] Overlay ProgressView on post list while processing network requests --- Shared/Navigation/ContentView.swift | 42 +++++++++++++++++------------ 1 file changed, 25 insertions(+), 17 deletions(-) diff --git a/Shared/Navigation/ContentView.swift b/Shared/Navigation/ContentView.swift index dd6272e..d5c1e4d 100644 --- a/Shared/Navigation/ContentView.swift +++ b/Shared/Navigation/ContentView.swift @@ -51,26 +51,34 @@ struct ContentView: View { #endif #if os(macOS) - PostListView(selectedCollection: nil, showAllPosts: model.account.isLoggedIn) - .toolbar { - ToolbarItemGroup(placement: .primaryAction) { - if let selectedPost = model.selectedPost { - ActivePostToolbarView(activePost: selectedPost) - .alert(isPresented: $model.isPresentingNetworkErrorAlert, content: { - Alert( - title: Text("Connection Error"), - message: Text(""" - There is no internet connection at the moment. \ - Please reconnect or try again later. - """), - dismissButton: .default(Text("OK"), action: { - model.isPresentingNetworkErrorAlert = false - }) - ) - }) + ZStack { + PostListView(selectedCollection: nil, showAllPosts: model.account.isLoggedIn) + .toolbar { + ToolbarItemGroup(placement: .primaryAction) { + if let selectedPost = model.selectedPost { + ActivePostToolbarView(activePost: selectedPost) + .alert(isPresented: $model.isPresentingNetworkErrorAlert, content: { + Alert( + title: Text("Connection Error"), + message: Text(""" + There is no internet connection at the moment. \ + Please reconnect or try again later. + """), + dismissButton: .default(Text("OK"), action: { + model.isPresentingNetworkErrorAlert = false + }) + ) + }) + } } + } + if model.isProcessingRequest { + ZStack { + Color(NSColor.controlBackgroundColor).opacity(0.75) + ProgressView() } } + } #else PostListView(selectedCollection: nil, showAllPosts: model.account.isLoggedIn) #endif