From c523010427a5e45ff166e4979fd438b5f446e094 Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Thu, 17 Nov 2022 14:33:05 +0800 Subject: [PATCH] Prefetch content and update share extension info after saving items --- .../Share/ShareExtensionViewModel.swift | 13 +++++++++++++ .../App/Views/Labels/LabelsMasonaryView.swift | 4 ---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/apple/OmnivoreKit/Sources/App/AppExtensions/Share/ShareExtensionViewModel.swift b/apple/OmnivoreKit/Sources/App/AppExtensions/Share/ShareExtensionViewModel.swift index b3f2fa632..517e2a746 100644 --- a/apple/OmnivoreKit/Sources/App/AppExtensions/Share/ShareExtensionViewModel.swift +++ b/apple/OmnivoreKit/Sources/App/AppExtensions/Share/ShareExtensionViewModel.swift @@ -172,6 +172,15 @@ public class ShareExtensionViewModel: ObservableObject { } updateStatusOnMain(requestId: newRequestID, newStatus: .synced) + + // Prefetch the newly saved content + if let itemID = newRequestID, + let currentViewer = services.dataService.currentViewer?.username, + (try? await services.dataService.loadArticleContentWithRetries(itemID: itemID, username: currentViewer)) != nil + { + updateStatusOnMain(requestId: requestId, newStatus: .saved, objectID: linkedItemObjectID) + } + return true } @@ -184,6 +193,10 @@ public class ShareExtensionViewModel: ObservableObject { if let objectID = objectID { self.linkedItem = self.services.dataService.viewContext.object(with: objectID) as? LinkedItem + if let title = self.linkedItem?.title { + self.title = title + } + self.url = self.linkedItem?.pageURLString } } } diff --git a/apple/OmnivoreKit/Sources/App/Views/Labels/LabelsMasonaryView.swift b/apple/OmnivoreKit/Sources/App/Views/Labels/LabelsMasonaryView.swift index 1c3139bbb..61d2dc785 100644 --- a/apple/OmnivoreKit/Sources/App/Views/Labels/LabelsMasonaryView.swift +++ b/apple/OmnivoreKit/Sources/App/Views/Labels/LabelsMasonaryView.swift @@ -77,10 +77,6 @@ struct LabelsMasonaryView: View { } private func item(for item: (label: LinkedItemLabel, selected: Bool)) -> some View { - if item.selected { - print(" -- SELECTED LABEL", item.label.name) - } - print("GETTING ITERATION", iteration) let chip = TextChip(feedItemLabel: item.label, negated: false, checked: item.selected) { chip in onLabelTap(item.label, chip) }