From 63deeeba9631aa977cf3af146595ce0324c068b5 Mon Sep 17 00:00:00 2001 From: Ushie Date: Tue, 3 Jun 2025 02:23:13 +0300 Subject: [PATCH] fix: Set announcement as read when opened --- .../announcements/AnnouncementBanner.svelte | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/routes/announcements/AnnouncementBanner.svelte b/src/routes/announcements/AnnouncementBanner.svelte index 69f8f7c..3e3d198 100644 --- a/src/routes/announcements/AnnouncementBanner.svelte +++ b/src/routes/announcements/AnnouncementBanner.svelte @@ -27,14 +27,23 @@ } } - const handleClick = () => - latestUnreadAnnouncement && goto(`/announcements/${latestUnreadAnnouncement.id}`); + function setAsRead() { + if (!latestUnreadAnnouncement) return; + $read_announcements.add(latestUnreadAnnouncement.id); + localStorage.setItem('read_announcements', JSON.stringify(Array.from($read_announcements))); + latestUnreadAnnouncement = undefined; + } + + function handleClick() { + if (latestUnreadAnnouncement) { + goto(`/announcements/${latestUnreadAnnouncement.id}`); + setAsRead(); + } + } function handleClose() { if (latestUnreadAnnouncement && browser) { - $read_announcements.add(latestUnreadAnnouncement.id); - localStorage.setItem('read_announcements', JSON.stringify(Array.from($read_announcements))); - latestUnreadAnnouncement = undefined; + setAsRead(); } }