summaryrefslogtreecommitdiff
path: root/Hutch/Views/Home/HomeViewModel.swift
diff options
context:
space:
mode:
Diffstat (limited to 'Hutch/Views/Home/HomeViewModel.swift')
-rw-r--r--Hutch/Views/Home/HomeViewModel.swift14
1 files changed, 14 insertions, 0 deletions
diff --git a/Hutch/Views/Home/HomeViewModel.swift b/Hutch/Views/Home/HomeViewModel.swift
index 4bd4f32..6016a11 100644
--- a/Hutch/Views/Home/HomeViewModel.swift
+++ b/Hutch/Views/Home/HomeViewModel.swift
@@ -627,6 +627,20 @@ final class HomeViewModel {
persistNeedsAttentionSnapshot()
}
+ func markAllInboxThreadsRead() {
+ guard !unreadInboxThreads.isEmpty else { return }
+
+ let viewedAt = Date()
+ for thread in unreadInboxThreads {
+ InboxReadStateStore.markViewed(max(viewedAt, thread.lastActivityAt), for: thread.id, defaults: defaults)
+ }
+
+ unreadInboxThreads = []
+ unreadInboxThreadCount = 0
+ hasUnreadInboxThreads = false
+ persistNeedsAttentionSnapshot()
+ }
+
func markInboxThreadUnread(_ thread: InboxThreadSummary) {
InboxReadStateStore.markUnread(for: thread.id, defaults: defaults)
if unreadInboxThreads.contains(where: { $0.id == thread.id }) == false {