diff options
Diffstat (limited to 'web/react/components')
-rw-r--r-- | web/react/components/error_bar.jsx | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/web/react/components/error_bar.jsx b/web/react/components/error_bar.jsx index 921e8afe1..36ab1438a 100644 --- a/web/react/components/error_bar.jsx +++ b/web/react/components/error_bar.jsx @@ -3,6 +3,17 @@ import ErrorStore from '../stores/error_store.jsx'; +var intlShape = ReactIntl.intlShape; +var injectIntl = ReactIntl.injectIntl; +var defineMessages = ReactIntl.defineMessages; + +const messages = defineMessages({ + previewMode: { + id: 'error_bar.preview_mode', + defaultMessage: 'Preview Mode: Email notifications have not been configured' + } +}); + export default class ErrorBar extends React.Component { constructor() { super(); @@ -13,6 +24,12 @@ export default class ErrorBar extends React.Component { this.state = ErrorStore.getLastError(); } + static propTypes() { + return { + intl: intlShape.isRequired + }; + } + isValidError(s) { if (!s) { return false; @@ -41,6 +58,14 @@ export default class ErrorBar extends React.Component { return false; } + componentWillMount() { + const {formatMessage} = this.props.intl; + if (global.window.mm_config.SendEmailNotifications === 'false') { + ErrorStore.storeLastError({message: formatMessage(messages.previewMode)}); + this.onErrorChange(); + } + } + componentDidMount() { ErrorStore.addChangeListener(this.onErrorChange); } @@ -86,3 +111,5 @@ export default class ErrorBar extends React.Component { ); } } + +export default injectIntl(ErrorBar); |