feat: Don't mark all announcements as read on first launch, and set the correct default tags

This commit is contained in:
Ushie
2026-03-04 06:46:40 +03:00
parent d368c0ff6f
commit 398ca006b6

View File

@@ -98,19 +98,14 @@ class DashboardViewModel(
} ?: throw IllegalStateException("Announcements could not be retrieved")
val readAnnouncements = prefs.readAnnouncements.get()
if (readAnnouncements.isEmpty()) {
val announcementIds = announcements.mapTo(mutableSetOf()) { it.id }
prefs.readAnnouncements.update(announcementIds)
return@uiSafe
}
unreadAnnouncement = announcements.firstOrNull { announcement ->
val isNotArchived =
announcement.archivedAt.toInstant(TimeZone.UTC) > Clock.System.now()
val hasRelevantTag = "revanced" in announcement.tags ||
"manager" in announcement.tags
val hasRelevantTag = announcement.tags.any {
it == "✨ ReVanced" || it == "💊 Manager"
}
val isUnread = announcement.id !in readAnnouncements
isNotArchived && hasRelevantTag && isUnread