Skip to content

Commit 0f784eb

Browse files
committed
Fixed more on the banners
1 parent 546c49c commit 0f784eb

File tree

2 files changed

+16
-2
lines changed

2 files changed

+16
-2
lines changed

public/src/App.tsx

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { BrowserRouter as Router, Switch, Route } from "react-router-dom";
33
import { useSelector, useDispatch } from 'react-redux'
44
import { useAlert } from 'react-alert';
55
import { loadQueues } from './actions/queueActions';
6-
import { loadBanners } from './actions/bannerActions';
6+
import { loadBanners, hideBanner } from './actions/bannerActions';
77
import HomePage from './pages/Home';
88
import Queue from './pages/Queue';
99
import NavBar from './viewcomponents/NavBar';
@@ -28,7 +28,17 @@ export default (): JSX.Element => {
2828
dispatch(loadBanners());
2929

3030
useEffect(() => {
31-
31+
const seenBanners = (localStorage.getItem('SeenBanners') ?? []) as number[];
32+
for (let banner of banners) {
33+
if (banner.startTime > Date.now() || banner.endTime < Date.now() || seenBanners.some(id => id === banner.id)) {
34+
continue;
35+
}
36+
37+
alert.show(banner.message,
38+
{
39+
onClose: () => dispatch(hideBanner(banner.id))
40+
});
41+
}
3242
}, [banners]);
3343

3444
return (

public/src/reducers/bannerReducer.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@ export default (state = initialState, action: FluxStandardAction) => {
2424
}
2525

2626
case BannerActionTypes.HideBanner: {
27+
const token = 'SeenBanners';
28+
const seenBanners = (localStorage.getItem(token) ?? []) as number[];
29+
seenBanners.push(action.payload.id);
30+
localStorage.setItem(token, JSON.stringify(seenBanners));
2731
return state;
2832
}
2933

0 commit comments

Comments
 (0)