@@ -31,7 +31,7 @@ const welcomeAnnouncement: Announcement = {
3131export 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