diff options
Diffstat (limited to 'src/components/layout/AppLayout.js')
-rw-r--r-- | src/components/layout/AppLayout.js | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/src/components/layout/AppLayout.js b/src/components/layout/AppLayout.js index e6e5d40fe..0a65dcffa 100644 --- a/src/components/layout/AppLayout.js +++ b/src/components/layout/AppLayout.js | |||
@@ -1,8 +1,8 @@ | |||
1 | import React, { Component } from 'react'; | 1 | import React, { Component } from 'react'; |
2 | import PropTypes from 'prop-types'; | 2 | import PropTypes from 'prop-types'; |
3 | import { observer, PropTypes as MobxPropTypes } from 'mobx-react'; | 3 | import { observer, PropTypes as MobxPropTypes } from 'mobx-react'; |
4 | import { defineMessages, intlShape } from 'react-intl'; | 4 | import { defineMessages, injectIntl } from 'react-intl'; |
5 | import { TitleBar } from 'electron-react-titlebar'; | 5 | import { TitleBar } from 'electron-react-titlebar/renderer'; |
6 | import injectSheet from 'react-jss'; | 6 | import injectSheet from 'react-jss'; |
7 | 7 | ||
8 | import InfoBar from '../ui/InfoBar'; | 8 | import InfoBar from '../ui/InfoBar'; |
@@ -27,20 +27,20 @@ function createMarkup(HTMLString) { | |||
27 | const messages = defineMessages({ | 27 | const messages = defineMessages({ |
28 | servicesUpdated: { | 28 | servicesUpdated: { |
29 | id: 'infobar.servicesUpdated', | 29 | id: 'infobar.servicesUpdated', |
30 | defaultMessage: '!!!Your services have been updated.', | 30 | defaultMessage: 'Your services have been updated.', |
31 | }, | 31 | }, |
32 | buttonReloadServices: { | 32 | buttonReloadServices: { |
33 | id: 'infobar.buttonReloadServices', | 33 | id: 'infobar.buttonReloadServices', |
34 | defaultMessage: '!!!Reload services', | 34 | defaultMessage: 'Reload services', |
35 | }, | 35 | }, |
36 | requiredRequestsFailed: { | 36 | requiredRequestsFailed: { |
37 | id: 'infobar.requiredRequestsFailed', | 37 | id: 'infobar.requiredRequestsFailed', |
38 | defaultMessage: '!!!Could not load services and user information', | 38 | defaultMessage: 'Could not load services and user information', |
39 | }, | 39 | }, |
40 | authRequestFailed: { | 40 | authRequestFailed: { |
41 | id: 'infobar.authRequestFailed', | 41 | id: 'infobar.authRequestFailed', |
42 | defaultMessage: | 42 | defaultMessage: |
43 | '!!!There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.', | 43 | 'There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.', |
44 | }, | 44 | }, |
45 | }); | 45 | }); |
46 | 46 | ||
@@ -88,16 +88,13 @@ class AppLayout extends Component { | |||
88 | 88 | ||
89 | state = { | 89 | state = { |
90 | shouldShowAppUpdateInfoBar: true, | 90 | shouldShowAppUpdateInfoBar: true, |
91 | shouldShowServicesUpdatedInfoBar: true, | ||
91 | }; | 92 | }; |
92 | 93 | ||
93 | static defaultProps = { | 94 | static defaultProps = { |
94 | children: [], | 95 | children: [], |
95 | }; | 96 | }; |
96 | 97 | ||
97 | static contextTypes = { | ||
98 | intl: intlShape, | ||
99 | }; | ||
100 | |||
101 | render() { | 98 | render() { |
102 | const { | 99 | const { |
103 | classes, | 100 | classes, |
@@ -119,7 +116,7 @@ class AppLayout extends Component { | |||
119 | areRequiredRequestsLoading, | 116 | areRequiredRequestsLoading, |
120 | } = this.props; | 117 | } = this.props; |
121 | 118 | ||
122 | const { intl } = this.context; | 119 | const { intl } = this.props; |
123 | 120 | ||
124 | return ( | 121 | return ( |
125 | <ErrorBoundary> | 122 | <ErrorBoundary> |
@@ -179,12 +176,14 @@ class AppLayout extends Component { | |||
179 | {intl.formatMessage(messages.authRequestFailed)} | 176 | {intl.formatMessage(messages.authRequestFailed)} |
180 | </InfoBar> | 177 | </InfoBar> |
181 | )} | 178 | )} |
182 | {showServicesUpdatedInfoBar && ( | 179 | {showServicesUpdatedInfoBar && this.state.shouldShowServicesUpdatedInfoBar && ( |
183 | <InfoBar | 180 | <InfoBar |
184 | type="primary" | 181 | type="primary" |
185 | ctaLabel={intl.formatMessage(messages.buttonReloadServices)} | 182 | ctaLabel={intl.formatMessage(messages.buttonReloadServices)} |
186 | onClick={reloadServicesAfterUpdate} | 183 | onClick={reloadServicesAfterUpdate} |
187 | sticky | 184 | onHide={() => { |
185 | this.setState({ shouldShowServicesUpdatedInfoBar: false }); | ||
186 | }} | ||
188 | > | 187 | > |
189 | <span className="mdi mdi-power-plug" /> | 188 | <span className="mdi mdi-power-plug" /> |
190 | {intl.formatMessage(messages.servicesUpdated)} | 189 | {intl.formatMessage(messages.servicesUpdated)} |
@@ -213,4 +212,4 @@ class AppLayout extends Component { | |||
213 | } | 212 | } |
214 | } | 213 | } |
215 | 214 | ||
216 | export default AppLayout; | 215 | export default injectIntl(AppLayout); |