Skip to content

Commit 9f69532

Browse files
Improve CLI settings section and fix status indicator colors (#3650)
1 parent ded07ac commit 9f69532

8 files changed

Lines changed: 133 additions & 187 deletions

File tree

frontend/src/libs/fleet.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,18 @@ export const getStatusIconType = (status: IInstance['status']): StatusIndicatorP
2626
}
2727
};
2828

29+
export const getStatusIconColor = (status: IInstance['status']): StatusIndicatorProps.Color | undefined => {
30+
switch (status) {
31+
case 'busy':
32+
case 'provisioning':
33+
case 'starting':
34+
case 'terminating':
35+
return 'blue';
36+
default:
37+
return undefined;
38+
}
39+
};
40+
2941
export const getFleetStatusIconType = (status: IFleet['status']): StatusIndicatorProps['type'] => {
3042
switch (status) {
3143
case 'submitted':

frontend/src/libs/run.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,10 @@ export const getStatusIconColor = (
5252
switch (status) {
5353
case 'submitted':
5454
case 'pending':
55-
return 'blue';
55+
case 'provisioning':
5656
case 'pulling':
57-
return 'green';
57+
case 'terminating':
58+
return 'blue';
5859
case 'aborted':
5960
return 'yellow';
6061
case 'done':

frontend/src/pages/Instances/Details/InstanceDetails/index.tsx

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { format } from 'date-fns';
66
import { Box, ColumnLayout, Container, Header, Loader, NavigateLink, StatusIndicator } from 'components';
77

88
import { DATE_TIME_FORMAT } from 'consts';
9-
import { formatBackend, getStatusIconType } from 'libs/fleet';
9+
import { formatBackend, getStatusIconColor, getStatusIconType } from 'libs/fleet';
1010
import { getHealthStatusIconType, prettyEnumValue } from 'libs/instance';
1111
import { formatResources } from 'libs/resources';
1212
import { ROUTES } from 'routes';
@@ -52,9 +52,7 @@ export const InstanceDetails = () => {
5252
<Box variant="awsui-key-label">{t('fleets.fleet')}</Box>
5353
<div>
5454
{data.fleet_name && data.fleet_id ? (
55-
<NavigateLink
56-
href={ROUTES.FLEETS.DETAILS.FORMAT(data.project_name, data.fleet_id)}
57-
>
55+
<NavigateLink href={ROUTES.FLEETS.DETAILS.FORMAT(data.project_name, data.fleet_id)}>
5856
{data.fleet_name}
5957
</NavigateLink>
6058
) : (
@@ -66,7 +64,10 @@ export const InstanceDetails = () => {
6664
<div>
6765
<Box variant="awsui-key-label">{t('fleets.instances.status')}</Box>
6866
<div>
69-
<StatusIndicator type={getStatusIconType(data.status)}>
67+
<StatusIndicator
68+
type={getStatusIconType(data.status)}
69+
colorOverride={getStatusIconColor(data.status)}
70+
>
7071
{(data.status === 'idle' || data.status === 'busy') &&
7172
data.total_blocks !== null &&
7273
data.total_blocks > 1
@@ -98,17 +99,13 @@ export const InstanceDetails = () => {
9899

99100
<div>
100101
<Box variant="awsui-key-label">{t('fleets.instances.finished_at')}</Box>
101-
<div>
102-
{data.finished_at ? format(new Date(data.finished_at), DATE_TIME_FORMAT) : '-'}
103-
</div>
102+
<div>{data.finished_at ? format(new Date(data.finished_at), DATE_TIME_FORMAT) : '-'}</div>
104103
</div>
105104

106105
{data.termination_reason && (
107106
<div>
108107
<Box variant="awsui-key-label">{t('fleets.instances.termination_reason')}</Box>
109-
<div>
110-
{data.termination_reason_message ?? prettyEnumValue(data.termination_reason)}
111-
</div>
108+
<div>{data.termination_reason_message ?? prettyEnumValue(data.termination_reason)}</div>
112109
</div>
113110
)}
114111

frontend/src/pages/Instances/List/hooks/useColumnDefinitions.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { format } from 'date-fns';
55
import { Icon, NavigateLink, StatusIndicator, TableProps } from 'components';
66

77
import { DATE_TIME_FORMAT } from 'consts';
8-
import { formatBackend, getStatusIconType } from 'libs/fleet';
8+
import { formatBackend, getStatusIconColor, getStatusIconType } from 'libs/fleet';
99
import { formatInstanceStatusText, getHealthStatusIconType, prettyEnumValue } from 'libs/instance';
1010
import { formatResources } from 'libs/resources';
1111
import { ROUTES } from 'routes';
@@ -50,7 +50,9 @@ export const useColumnsDefinitions = () => {
5050
id: 'status',
5151
header: t('fleets.instances.status'),
5252
cell: (item) => (
53-
<StatusIndicator type={getStatusIconType(item.status)}>{formatInstanceStatusText(item)}</StatusIndicator>
53+
<StatusIndicator type={getStatusIconType(item.status)} colorOverride={getStatusIconColor(item.status)}>
54+
{formatInstanceStatusText(item)}
55+
</StatusIndicator>
5456
),
5557
},
5658
{

0 commit comments

Comments
 (0)