Skip to content

Commit 259cf9e

Browse files
committed
change to use array of hidden announcements
1 parent 9bad7fd commit 259cf9e

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

frontend/src/components/AnnouncementsDisplay.tsx

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ const welcomeAnnouncement: Announcement = {
3131
export function AnnouncementsDisplay() {
3232
const [announcement, setAnnouncement] = useState<Announcement | null>(null);
3333
// showWelcome will display a welcome motd, the welcome motd has an id of "welcome" and once that is saved to hiddenMotdId, it will not show again
34-
const [hiddenAnnouncementId, setHiddenAnnouncementId] = useSetting('hiddenAnnouncementId', 'showWelcome');
34+
const [hiddenAnnouncementIds, setHiddenAnnouncementIds] = useSetting<string[]>('hiddenAnnouncementIds', []);
3535

3636
async function fetchAnnouncement() {
3737
const announcement = await getLatestAnnouncement();
@@ -41,23 +41,22 @@ export function AnnouncementsDisplay() {
4141
useEffect(() => {
4242
void fetchAnnouncement();
4343
}, []);
44-
4544
useEffect(() => {
46-
if (hiddenAnnouncementId === 'showWelcome') {
45+
if (hiddenAnnouncementIds.length > 0) {
4746
setAnnouncement(welcomeAnnouncement);
4847
}
49-
}, [hiddenAnnouncementId]);
48+
}, [hiddenAnnouncementIds]);
5049

5150
function hideAnnouncement() {
5251
if (announcement) {
53-
setHiddenAnnouncementId(announcement.id);
52+
setHiddenAnnouncementIds([...hiddenAnnouncementIds, announcement.id]);
5453
void fetchAnnouncement();
5554
}
5655
}
5756

5857
const hidden = useMemo(() => {
59-
return hiddenAnnouncementId === announcement?.id;
60-
}, [hiddenAnnouncementId, announcement]);
58+
return !announcement?.id || hiddenAnnouncementIds.includes(announcement.id);
59+
}, [hiddenAnnouncementIds, announcement]);
6160

6261
if (!announcement || !announcement.title || hidden) {
6362
return null;

0 commit comments

Comments
 (0)