PluginProbe ʕ •ᴥ•ʔ
Strong Testimonials / 3.3.5
Strong Testimonials v3.3.5
3.3.6 3.3.5 3.3.4 3.3.3 3.3.2 3.3.1 trunk 1.0.1 2.30.9 2.31.10 2.32 2.32.1 2.32.2 2.32.3 2.32.4 2.33 2.34 2.35 2.36 2.37 2.38 2.38.1 2.39 2.39.1 2.39.2 2.39.3 2.40.0 2.40.1 2.40.2 2.40.3 2.40.4 2.40.5 2.40.6 2.40.7 2.41.0 2.41.1 2.50.0 2.50.1 2.50.2 2.50.3 2.50.4 2.51.0 2.51.1 2.51.2 2.51.3 2.51.4 2.51.5 2.51.6 2.51.7 2.51.8 2.51.9 3.0.0 3.0.1 3.0.2 3.0.3 3.1.0 3.1.1 3.1.10 3.1.11 3.1.12 3.1.13 3.1.14 3.1.15 3.1.16 3.1.17 3.1.18 3.1.19 3.1.2 3.1.20 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.2.0 3.2.1 3.2.10 3.2.11 3.2.12 3.2.13 3.2.14 3.2.15 3.2.16 3.2.17 3.2.18 3.2.19 3.2.2 3.2.20 3.2.21 3.2.22 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9 3.3.0
strong-testimonials / admin / wpchill / apps / notification-system / notifications.jsx
strong-testimonials / admin / wpchill / apps / notification-system Last commit date
images 1 year ago notification 9 months ago query 1 year ago state 1 year ago index.js 1 year ago index.scss 1 year ago notification-icon.jsx 1 year ago notifications-container.jsx 1 year ago notifications.jsx 1 year ago
notifications.jsx
31 lines
1 import { NotificationIcon } from './notification-icon';
2 import { NotificationsContainer } from './notifications-container';
3 import { useWpchillState } from './state/use-wpchill-state';
4 import { useNotificationQuery } from './query/useNotificationQuery';
5 import { useEffect } from '@wordpress/element';
6 import { setVisibleNotifications } from './state/actions';
7
8 export function Notifications() {
9 const { data, isLoading } = useNotificationQuery();
10 const { state, dispatch } = useWpchillState();
11 const { closedBubble, showContainer } = state;
12
13 useEffect( () => {
14 if ( ! isLoading && data ) {
15 const allNotifications = Object.values( data ).flat();
16 dispatch( setVisibleNotifications( allNotifications ) );
17 }
18 }, [ data, isLoading, dispatch ] );
19
20 if ( 0 === state.visibleNotifications.length || closedBubble ) {
21 return null;
22 }
23
24 return (
25 <>
26 <NotificationIcon />
27 { showContainer && <NotificationsContainer /> }
28 </>
29 );
30 }
31