diff --git a/client/coral-admin/src/actions/moderation.js b/client/coral-admin/src/actions/moderation.js index 75ec5fc09..b7117181e 100644 --- a/client/coral-admin/src/actions/moderation.js +++ b/client/coral-admin/src/actions/moderation.js @@ -6,3 +6,15 @@ export const singleView = () => ({type: actions.SINGLE_VIEW}); // Ban User Dialog export const showBanUserDialog = (user, commentId, showRejectedNote) => ({type: actions.SHOW_BANUSER_DIALOG, user, commentId, showRejectedNote}); export const hideBanUserDialog = (showDialog) => ({type: actions.HIDE_BANUSER_DIALOG, showDialog}); + +// hide shortcuts note +export const hideShortcutsNote = () => { + try { + window.localStorage.setItem('coral:shortcutsNote', 'hide'); + } catch (e) { + + // above will fail in Safari private mode + } + + return {type: actions.HIDE_SHORTCUTS_NOTE}; +}; diff --git a/client/coral-admin/src/components/ModerationKeysModal.js b/client/coral-admin/src/components/ModerationKeysModal.js index 60933dee0..3d43c621d 100644 --- a/client/coral-admin/src/components/ModerationKeysModal.js +++ b/client/coral-admin/src/components/ModerationKeysModal.js @@ -1,6 +1,6 @@ import I18n from 'coral-framework/modules/i18n/i18n'; import translations from '../translations.json'; -import React from 'react'; +import React, {PropTypes} from 'react'; import Modal from 'components/Modal'; import styles from './ModerationKeysModal.css'; @@ -26,40 +26,18 @@ const shortcuts = [ ]; export default class ModerationKeysModal extends React.Component { - constructor (props) { - super(props); - try { - if (window.localStorage.getItem('coral:shortcutsNote') === null) { - window.localStorage.setItem('coral:shortcutsNote', 'show'); - } - } catch (e) { - // above will fail in Private Mode in some browsers. - } - this.state = { - shortcutsNote: window.localStorage.getItem('coral:shortcutsNote') || 'show' - }; - } - - closeCallToAction = () => { - try { - window.localStorage.setItem('coral:shortcutsNote', 'hide'); - this.setState({foo: Math.random()}); // apparently this.forceUpdate() is bad, but we need a re-render - } catch (e) { - - // when setItem fails in Safari Private mode - this.setState({shortcutsNote: 'hide'}); - } + static propTypes = { + hideShortcutsNote: PropTypes.func.isRequired, + shortcutsNoteVisible: PropTypes.string.isRequired } render () { - const {open, onClose} = this.props; - const hideShortcutsNote = window.localStorage.getItem('coral:shortcutsNote') === 'hide' || - this.state.dashboardNote === 'hide'; // for Safari Incognito + const {open, onClose, hideShortcutsNote, shortcutsNoteVisible} = this.props; return (
{lang.t('modqueue.mod-faster')}
{lang.t('modqueue.try-these')}: