summaryrefslogtreecommitdiff
path: root/ui/routes/(app)
diff options
context:
space:
mode:
Diffstat (limited to 'ui/routes/(app)')
-rw-r--r--ui/routes/(app)/+layout.svelte8
1 files changed, 5 insertions, 3 deletions
diff --git a/ui/routes/(app)/+layout.svelte b/ui/routes/(app)/+layout.svelte
index a4ae442..90fa82e 100644
--- a/ui/routes/(app)/+layout.svelte
+++ b/ui/routes/(app)/+layout.svelte
@@ -29,11 +29,13 @@
function enrichChannels(channels, channelsMeta, messages) {
const enrichedChannels = [];
for (const ch of channels.values()) {
+ const createdAt = ch.at;
const channelMessages = messages.filter((message) => message.channel === ch.id);
- const lastMessage = channelMessages.slice(-1)[0];
- const lastMessageAt = lastMessage?.at;
+ const sentAt = channelMessages.map((message) => message.at);
+ const lastEventAt = Math.max(createdAt, ...sentAt);
+
const lastReadAt = channelsMeta.get(ch.id)?.lastReadAt;
- const hasUnreads = lastReadAt === undefined || lastMessageAt > lastReadAt;
+ const hasUnreads = lastReadAt === undefined || lastEventAt > lastReadAt;
enrichedChannels.push({
...ch,
hasUnreads