diff options
Diffstat (limited to 'src/components/services/content/ServiceDisabled.tsx')
-rw-r--r-- | src/components/services/content/ServiceDisabled.tsx | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/components/services/content/ServiceDisabled.tsx b/src/components/services/content/ServiceDisabled.tsx new file mode 100644 index 000000000..2f0d439ec --- /dev/null +++ b/src/components/services/content/ServiceDisabled.tsx | |||
@@ -0,0 +1,41 @@ | |||
1 | import { Component, ReactElement } from 'react'; | ||
2 | import { observer } from 'mobx-react'; | ||
3 | import { defineMessages, injectIntl, WrappedComponentProps } from 'react-intl'; | ||
4 | import Button from '../../ui/button'; | ||
5 | import { H1 } from '../../ui/headline'; | ||
6 | |||
7 | const messages = defineMessages({ | ||
8 | headline: { | ||
9 | id: 'service.disabledHandler.headline', | ||
10 | defaultMessage: '{name} is disabled', | ||
11 | }, | ||
12 | action: { | ||
13 | id: 'service.disabledHandler.action', | ||
14 | defaultMessage: 'Enable {name}', | ||
15 | }, | ||
16 | }); | ||
17 | |||
18 | interface IProps extends WrappedComponentProps { | ||
19 | name: string; | ||
20 | enable: () => void; | ||
21 | } | ||
22 | |||
23 | @observer | ||
24 | class ServiceDisabled extends Component<IProps> { | ||
25 | render(): ReactElement { | ||
26 | const { name, enable, intl } = this.props; | ||
27 | |||
28 | return ( | ||
29 | <div className="services__info-layer"> | ||
30 | <H1>{intl.formatMessage(messages.headline, { name })}</H1> | ||
31 | <Button | ||
32 | label={intl.formatMessage(messages.action, { name })} | ||
33 | buttonType="inverted" | ||
34 | onClick={() => enable()} | ||
35 | /> | ||
36 | </div> | ||
37 | ); | ||
38 | } | ||
39 | } | ||
40 | |||
41 | export default injectIntl(ServiceDisabled); | ||