@@ -125,13 +125,14 @@ private extension StoreStatsAndTopPerformersViewController {
125125
126126 var syncError : Error ? = nil
127127
128- ensureGhostContentIsDisplayed ( )
129- showSpinner ( shouldShowSpinner: true )
128+ let viewControllerToSync = visibleChildViewController
129+ ensureGhostContentIsDisplayed ( for: viewControllerToSync)
130+ showSpinner ( for: viewControllerToSync, shouldShowSpinner: true )
130131
131132 defer {
132133 group. notify ( queue: . main) { [ weak self] in
133134 self ? . isSyncing = false
134- self ? . showSpinner ( shouldShowSpinner: false )
135+ self ? . showSpinner ( for : viewControllerToSync , shouldShowSpinner: false )
135136 if let error = syncError {
136137 DDLogError ( " ⛔️ Error loading dashboard: \( error) " )
137138 self ? . handleSyncError ( error: error)
@@ -149,7 +150,7 @@ private extension StoreStatsAndTopPerformersViewController {
149150 let timezoneForStatsDates = TimeZone . siteTimezone
150151 let timezoneForSync = TimeZone . current
151152
152- [ visibleChildViewController ] . forEach { [ weak self] vc in
153+ [ viewControllerToSync ] . forEach { [ weak self] vc in
153154 guard let self = self else {
154155 return
155156 }
@@ -240,13 +241,11 @@ private extension StoreStatsAndTopPerformersViewController {
240241 }
241242 }
242243
243- func showSpinner( shouldShowSpinner: Bool ) {
244- periodVCs. forEach { ( vc) in
245- if shouldShowSpinner {
246- vc. refreshControl. beginRefreshing ( )
247- } else {
248- vc. refreshControl. endRefreshing ( )
249- }
244+ func showSpinner( for periodViewController: StoreStatsAndTopPerformersPeriodViewController , shouldShowSpinner: Bool ) {
245+ if shouldShowSpinner {
246+ periodViewController. refreshControl. beginRefreshing ( )
247+ } else {
248+ periodViewController. refreshControl. endRefreshing ( )
250249 }
251250 }
252251}
@@ -257,13 +256,11 @@ private extension StoreStatsAndTopPerformersViewController {
257256
258257 /// Displays the Ghost Placeholder whenever there is no visible data.
259258 ///
260- func ensureGhostContentIsDisplayed( ) {
261- periodVCs. forEach { periodVC in
262- guard periodVC. shouldDisplayStoreStatsGhostContent else {
263- return
264- }
265- periodVC. displayGhostContent ( )
259+ func ensureGhostContentIsDisplayed( for periodViewController: StoreStatsAndTopPerformersPeriodViewController ) {
260+ guard periodViewController. shouldDisplayStoreStatsGhostContent else {
261+ return
266262 }
263+ periodViewController. displayGhostContent ( )
267264 }
268265
269266 /// If the Ghost Content was previously onscreen, this method will restart the animations.
0 commit comments