diff options
Diffstat (limited to 'Hutch/Views/Home/HomeViewModel.swift')
| -rw-r--r-- | Hutch/Views/Home/HomeViewModel.swift | 14 |
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 { |
