| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 | 
							- import jitsiLocalStorage from '../../../modules/util/JitsiLocalStorage';
 - 
 - import {
 -     HIDE_NOTIFICATION,
 -     SET_NOTIFICATIONS_ENABLED,
 -     SHOW_NOTIFICATION
 - } from './actionTypes';
 - import {
 -     Notification,
 -     NotificationWithToggle
 - } from './components';
 - 
 - import { NOTIFICATION_TYPE } from './constants';
 - 
 - /**
 -  * Removes the notification with the passed in id.
 -  *
 -  * @param {string} uid - The unique identifier for the notification to be
 -  * removed.
 -  * @returns {{
 -  *     type: HIDE_NOTIFICATION,
 -  *     uid: number
 -  * }}
 -  */
 - export function hideNotification(uid) {
 -     return {
 -         type: HIDE_NOTIFICATION,
 -         uid
 -     };
 - }
 - 
 - /**
 -  * Stops notifications from being displayed.
 -  *
 -  * @param {boolean} enabled - Whether or not notifications should display.
 -  * @returns {{
 -  *     type: SET_NOTIFICATIONS_ENABLED,
 -  *     enabled: boolean
 -  * }}
 -  */
 - export function setNotificationsEnabled(enabled) {
 -     return {
 -         type: SET_NOTIFICATIONS_ENABLED,
 -         enabled
 -     };
 - }
 - 
 - /**
 -  * Queues an error notification for display.
 -  *
 -  * @param {Object} props - The props needed to show the notification component.
 -  * @returns {Object}
 -  */
 - export function showErrorNotification(props) {
 -     return showNotification(Notification, {
 -         ...props,
 -         appearance: NOTIFICATION_TYPE.ERROR
 -     });
 - }
 - 
 - /**
 -  * Queues a notification for display.
 -  *
 -  * @param {ReactComponent} component - The notification component to be
 -  * displayed.
 -  * @param {Object} props - The props needed to show the notification component.
 -  * @param {number} timeout - How long the notification should display before
 -  * automatically being hidden.
 -  * @returns {{
 -  *     type: SHOW_NOTIFICATION,
 -  *     component: ReactComponent,
 -  *     props: Object,
 -  *     timeout: number,
 -  *     uid: number
 -  * }}
 -  */
 - export function showNotification(component, props = {}, timeout) {
 -     return {
 -         type: SHOW_NOTIFICATION,
 -         component,
 -         props,
 -         timeout,
 -         uid: window.Date.now()
 -     };
 - }
 - 
 - /**
 -  * Queues a warning notification for display.
 -  *
 -  * @param {Object} props - The props needed to show the notification component.
 -  * @returns {Object}
 -  */
 - export function showWarningNotification(props) {
 -     return showNotification(Notification, {
 -         ...props,
 -         appearance: NOTIFICATION_TYPE.WARNING
 -     });
 - }
 - 
 - /**
 -  * Displays a notification unless the passed in persistenceKey value exists in
 -  * local storage and has been set to "true".
 -  *
 -  * @param {string} persistenceKey - The local storage key to look up for whether
 -  * or not the notification should display.
 -  * @param {Object} props - The props needed to show the notification component.
 -  * @returns {Function}
 -  */
 - export function maybeShowNotificationWithDoNotDisplay(persistenceKey, props) {
 -     return dispatch => {
 -         if (jitsiLocalStorage.getItem(persistenceKey) === 'true') {
 -             return;
 -         }
 - 
 -         const newProps = Object.assign({}, props, {
 -             onToggleSubmit: isToggled => {
 -                 jitsiLocalStorage.setItem(persistenceKey, isToggled);
 -             }
 -         });
 - 
 -         dispatch({
 -             type: SHOW_NOTIFICATION,
 -             component: NotificationWithToggle,
 -             props: newProps,
 -             uid: window.Date.now()
 -         });
 -     };
 - }
 
 
  |