diff --git a/frontend/src/components/AnnouncementsDisplay.tsx b/frontend/src/components/AnnouncementsDisplay.tsx index c6e6db1e..10ede13b 100644 --- a/frontend/src/components/AnnouncementsDisplay.tsx +++ b/frontend/src/components/AnnouncementsDisplay.tsx @@ -30,7 +30,6 @@ const welcomeAnnouncement: Announcement = { export function AnnouncementsDisplay() { const [announcements, setAnnouncements] = useState([welcomeAnnouncement]); - // 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 const [hiddenAnnouncementIds, setHiddenAnnouncementIds] = useSetting('hiddenAnnouncementIds', []); function addAnnouncements(newAnnouncements: Announcement[]) { @@ -60,8 +59,8 @@ export function AnnouncementsDisplay() { void fetchAnnouncement(); }, []); - const currentlyDisplayingAnnouncement: Announcement | null = useMemo(() => { - return announcements.find((announcement) => !hiddenAnnouncementIds.includes(announcement.id)) || null; + const currentlyDisplayingAnnouncements: Announcement[] = useMemo(() => { + return announcements.filter((announcement) => !hiddenAnnouncementIds.includes(announcement.id)); }, [announcements, hiddenAnnouncementIds]); function hideAnnouncement(id: string) { @@ -69,16 +68,24 @@ export function AnnouncementsDisplay() { void fetchAnnouncement(); } - if (!currentlyDisplayingAnnouncement) { + if (!currentlyDisplayingAnnouncements) { return null; } - // Severity is not implemented in the API currently - const severity = SEVERITIES['Low']; - return ( - ( + hideAnnouncement(announcement.id)} /> + ))} + + ); +} + +function Announcement({ announcement, onHide }: { announcement: Announcement, onHide: () => void }) { + // Severity is not implemented in the API currently + const severity = SEVERITIES['Low']; + return ( +
- {currentlyDisplayingAnnouncement.title} + {announcement.title} hideAnnouncement(currentlyDisplayingAnnouncement.id)} + onClick={() => onHide()} >
- {currentlyDisplayingAnnouncement.text} + {announcement.text}
- ); -} +} \ No newline at end of file