summaryrefslogtreecommitdiffstats
path: root/web/react/components/error_bar.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'web/react/components/error_bar.jsx')
-rw-r--r--web/react/components/error_bar.jsx26
1 files changed, 26 insertions, 0 deletions
diff --git a/web/react/components/error_bar.jsx b/web/react/components/error_bar.jsx
index 921e8afe1..f04185b46 100644
--- a/web/react/components/error_bar.jsx
+++ b/web/react/components/error_bar.jsx
@@ -3,6 +3,16 @@
import ErrorStore from '../stores/error_store.jsx';
+// import mm-intl is required for the tool to be able to extract the messages
+import {defineMessages} from 'mm-intl';
+
+var messages = defineMessages({
+ preview: {
+ 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 +23,12 @@ export default class ErrorBar extends React.Component {
this.state = ErrorStore.getLastError();
}
+ static propTypes() {
+ return {
+ intl: ReactIntl.intlShape.isRequired
+ };
+ }
+
isValidError(s) {
if (!s) {
return false;
@@ -41,6 +57,13 @@ export default class ErrorBar extends React.Component {
return false;
}
+ componentWillMount() {
+ if (global.window.mm_config.SendEmailNotifications === 'false') {
+ ErrorStore.storeLastError({message: this.props.intl.formatMessage(messages.preview)});
+ this.onErrorChange();
+ }
+ }
+
componentDidMount() {
ErrorStore.addChangeListener(this.onErrorChange);
}
@@ -64,6 +87,7 @@ export default class ErrorBar extends React.Component {
e.preventDefault();
}
+ ErrorStore.clearLastError();
this.setState({message: null});
}
@@ -86,3 +110,5 @@ export default class ErrorBar extends React.Component {
);
}
}
+
+export default ReactIntl.injectIntl(ErrorBar);