-
Notifications
You must be signed in to change notification settings - Fork 29
/
Copy pathindex.tsx
53 lines (46 loc) · 1.53 KB
/
index.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/*
* Copyright © 2020 Cask Data, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
import * as React from 'react';
import withStyles, { WithStyles, StyleRules } from '@material-ui/core/styles/withStyles';
import StatusMapper from 'services/StatusMapper';
import StatusIndicator from 'components/shared/Status/StatusIndicator';
const styles = (): StyleRules => {
return {
indicator: {
marginRight: '5px',
},
statusText: {
verticalAlign: 'middle',
},
};
};
interface IStatusProps extends WithStyles<typeof styles> {
status?: string;
}
const StatusView: React.FC<IStatusProps> = ({ classes, status }) => {
if (!status) {
return <span className={classes.root}>--</span>;
}
const displayName = StatusMapper.lookupDisplayStatus(status);
return (
<span className={classes.root}>
<StatusIndicator status={status} className={classes.indicator} />
<span className={classes.statusText}>{displayName}</span>
</span>
);
};
const Status = withStyles(styles)(StatusView);
export default Status;