From 4ba3a40e8d33062804b053de1d6d607f58605b28 Mon Sep 17 00:00:00 2001
From: ialokim <ialokim@mailbox.org>
Date: Wed, 23 Nov 2022 19:41:23 +0100
Subject: [PATCH] decrease unread counter when posts are read

---
 .../kotlin/org/briarproject/briar/desktop/forums/ForumItem.kt | 3 +++
 .../org/briarproject/briar/desktop/forums/ForumViewModel.kt   | 4 ++++
 2 files changed, 7 insertions(+)

diff --git a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/forums/ForumItem.kt b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/forums/ForumItem.kt
index c68fdc1d7e..266c7bc7c8 100644
--- a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/forums/ForumItem.kt
+++ b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/forums/ForumItem.kt
@@ -55,4 +55,7 @@ data class ForumItem(
             unread = if (header.isRead) unread else unread + 1,
             timestamp = max(header.timestamp, this.timestamp)
         )
+
+    fun updateOnPostsRead(num: Int) =
+        copy(unread = unread - num)
 }
diff --git a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/forums/ForumViewModel.kt b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/forums/ForumViewModel.kt
index 1e5c78569a..629bb298f4 100644
--- a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/forums/ForumViewModel.kt
+++ b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/forums/ForumViewModel.kt
@@ -105,6 +105,10 @@ class ForumViewModel @Inject constructor(
             e is ForumPostReceivedEvent -> {
                 updateItem(e.groupId) { it.updateOnPostReceived(e.header) }
             }
+
+            e is ForumPostReadEvent -> {
+                updateItem(e.groupId) { it.updateOnPostsRead(e.numMarkedRead) }
+            }
         }
     }
 
-- 
GitLab