Skip to content

Commit 96b78d9

Browse files
committed
Fix PR
1 parent acd0166 commit 96b78d9

File tree

2 files changed

+45
-24
lines changed

2 files changed

+45
-24
lines changed
Lines changed: 36 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,51 @@
11
import { Icon, IconName } from '../icon/Icon.component';
2-
32
import {
43
STATUS_WARNING,
54
STATUS_CRITICAL,
6-
STATUS_HEALTH,
7-
} from '../tablev2/TableUtils';
5+
STATUS_HEALTHY,
6+
} from '../../components/constants';
7+
import { CoreUITheme } from '../../style/theme';
8+
import { Loader } from '../loader/Loader.component';
89

9-
export enum StatusCluster {
10+
export enum Status {
1011
HEALTHY = 'healthy',
1112
WARNING = 'warning',
1213
CRITICAL = 'critical',
1314
UNKNOWN = 'unknown',
15+
LOADING = 'loading',
1416
}
1517

16-
export const StatusIcon = ({ status }: { status: StatusCluster }) => {
17-
const icon: { status: string; name: IconName } = (() => {
18-
switch (status) {
19-
case STATUS_HEALTH:
20-
return { status: 'statusHealthy', name: 'Check-circle' };
21-
22-
case STATUS_WARNING:
23-
return { status: 'statusWarning', name: 'Times-circle' };
18+
export const StatusIcon = ({ status }: { status: Status }) => {
19+
if (status === 'loading') {
20+
return <Loader />;
21+
}
22+
const icon: { color: keyof CoreUITheme; name: IconName; label: string } =
23+
(() => {
24+
switch (status) {
25+
case STATUS_HEALTHY:
26+
return {
27+
color: 'statusHealthy',
28+
name: 'Check-circle',
29+
label: 'Healthy',
30+
};
2431

25-
case STATUS_CRITICAL:
26-
return { status: 'statusCritical', name: 'Times-circle' };
32+
case STATUS_WARNING:
33+
return {
34+
color: 'statusWarning',
35+
name: 'Times-circle',
36+
label: 'Warning',
37+
};
2738

28-
default:
29-
return { status: 'textTertiary', name: 'Info' };
30-
}
31-
})();
39+
case STATUS_CRITICAL:
40+
return {
41+
color: 'statusCritical',
42+
name: 'Times-circle',
43+
label: 'Critical',
44+
};
45+
default:
46+
return { color: 'textTertiary', name: 'Info', label: 'Info' };
47+
}
48+
})();
3249

33-
return <Icon color={icon.status} name={icon.name} />;
50+
return <Icon color={icon.color} name={icon.name} />;
3451
};

stories/statusicon.stories.tsx

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React from 'react';
22
import {
3-
StatusCluster,
3+
Status,
44
StatusIcon,
55
} from '../src/lib/components/statusicon/StatusIcon.component';
66
import { Wrapper } from './common';
@@ -22,19 +22,23 @@ export const Default = {
2222
<Wrapper>
2323
<Stack>
2424
<Text>Healthy status </Text>
25-
<StatusIcon status={StatusCluster.HEALTHY} />{' '}
25+
<StatusIcon status={Status.HEALTHY} />{' '}
2626
</Stack>
2727
<Stack>
2828
<Text>Warning status </Text>
29-
<StatusIcon status={StatusCluster.WARNING} />
29+
<StatusIcon status={Status.WARNING} />
3030
</Stack>
3131
<Stack>
3232
<Text>Critical status </Text>
33-
<StatusIcon status={StatusCluster.CRITICAL} />
33+
<StatusIcon status={Status.CRITICAL} />
34+
</Stack>
35+
<Stack>
36+
<Text>Loading status </Text>
37+
<StatusIcon status={Status.LOADING} />
3438
</Stack>
3539
<Stack>
3640
<Text>Unknown status </Text>
37-
<StatusIcon status={StatusCluster.UNKNOWN} />
41+
<StatusIcon status={Status.UNKNOWN} />
3842
</Stack>
3943
</Wrapper>
4044
);

0 commit comments

Comments
 (0)