aboutsummaryrefslogtreecommitdiffstats
path: root/src/features/workspaces/components/WorkspaceServiceListItem.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/features/workspaces/components/WorkspaceServiceListItem.js')
-rw-r--r--src/features/workspaces/components/WorkspaceServiceListItem.js50
1 files changed, 50 insertions, 0 deletions
diff --git a/src/features/workspaces/components/WorkspaceServiceListItem.js b/src/features/workspaces/components/WorkspaceServiceListItem.js
new file mode 100644
index 000000000..7b516d056
--- /dev/null
+++ b/src/features/workspaces/components/WorkspaceServiceListItem.js
@@ -0,0 +1,50 @@
1import React, { Component } from 'react';
2import PropTypes from 'prop-types';
3import { observer } from 'mobx-react';
4import injectSheet from 'react-jss';
5import { Toggle } from '@meetfranz/forms';
6
7import Service from '../../../models/Service';
8import ServiceIcon from '../../../components/ui/ServiceIcon';
9
10const styles = theme => ({
11 service: {
12 height: theme.workspaceSettings.listItemHeight,
13 display: 'flex',
14 },
15 name: {
16 marginTop: '4px',
17 },
18});
19
20@injectSheet(styles) @observer
21class ServiceListItem extends Component {
22 static propTypes = {
23 classes: PropTypes.object.isRequired,
24 isInWorkspace: PropTypes.bool.isRequired,
25 onToggle: PropTypes.func.isRequired,
26 service: PropTypes.instanceOf(Service).isRequired,
27 };
28
29 render() {
30 const {
31 classes,
32 isInWorkspace,
33 onToggle,
34 service,
35 } = this.props;
36
37 return (
38 <div className={classes.service}>
39 <ServiceIcon service={service} />
40 <Toggle
41 checked={isInWorkspace}
42 onChange={onToggle}
43 label={service.name}
44 />
45 </div>
46 );
47 }
48}
49
50export default ServiceListItem;