Skip to content

Commit b9224f0

Browse files
committed
Refactor task state to icon mapping
Follow the mapping used by the drawer with following changes: 1. use PauseCircleIcon also for QuotaBlocked state 2. use TaskIcon for Ready state (instead of CheckCircleIcon) 3. use CheckCircleIcon for state Succeeded Signed-off-by: Radoslaw Szwajkowski <[email protected]>
1 parent 172710a commit b9224f0

File tree

2 files changed

+24
-41
lines changed

2 files changed

+24
-41
lines changed

client/src/app/components/Icons/taskStateToIcon.tsx

+18-10
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
11
import { TaskState } from "@app/api/models";
22
import React from "react";
33
import { Icon } from "@patternfly/react-core";
4-
import CheckCircleIcon from "@patternfly/react-icons/dist/esm/icons/check-circle-icon";
5-
import TimesCircleIcon from "@patternfly/react-icons/dist/esm/icons/times-circle-icon";
6-
import InProgressIcon from "@patternfly/react-icons/dist/esm/icons/in-progress-icon";
7-
import ExclamationCircleIcon from "@patternfly/react-icons/dist/esm/icons/exclamation-circle-icon";
8-
import UnknownIcon from "@patternfly/react-icons/dist/esm/icons/unknown-icon";
4+
import {
5+
CheckCircleIcon,
6+
TimesCircleIcon,
7+
InProgressIcon,
8+
ExclamationCircleIcon,
9+
UnknownIcon,
10+
PendingIcon,
11+
TaskIcon,
12+
PauseCircleIcon,
13+
} from "@patternfly/react-icons";
914

1015
export const taskStateToIcon = (state?: TaskState) => {
1116
switch (state) {
@@ -26,14 +31,17 @@ export const taskStateToIcon = (state?: TaskState) => {
2631
<ExclamationCircleIcon />
2732
</Icon>
2833
);
29-
case "Pending":
34+
case "Running":
3035
return <InProgressIcon />;
31-
case "Created":
36+
case "Pending":
37+
return <PendingIcon />;
3238
case "QuotaBlocked":
33-
case "Running":
34-
case "Ready":
3539
case "Postponed":
40+
return <PauseCircleIcon />;
41+
case "Created":
42+
case "Ready":
43+
return <TaskIcon />;
3644
default:
37-
return <></>;
45+
return <TaskIcon />;
3846
}
3947
};

client/src/app/components/task-manager/TaskManagerDrawer.tsx

+6-31
Original file line numberDiff line numberDiff line change
@@ -18,21 +18,15 @@ import {
1818
NotificationDrawerListItemHeader,
1919
Tooltip,
2020
} from "@patternfly/react-core";
21-
import {
22-
CubesIcon,
23-
InProgressIcon,
24-
PauseCircleIcon,
25-
PendingIcon,
26-
CheckCircleIcon,
27-
TaskIcon,
28-
} from "@patternfly/react-icons";
21+
import { CubesIcon } from "@patternfly/react-icons";
2922
import { css } from "@patternfly/react-styles";
3023

3124
import { TaskState } from "@app/api/models";
3225
import { useTaskManagerContext } from "./TaskManagerContext";
3326
import { useServerTasks } from "@app/queries/tasks";
3427

3528
import "./TaskManagerDrawer.css";
29+
import { taskStateToIcon } from "../Icons";
3630

3731
/** A version of `Task` specific for the task manager drawer components */
3832
interface TaskManagerTask {
@@ -126,28 +120,9 @@ export const TaskManagerDrawer: React.FC<TaskManagerDrawerProps> = forwardRef(
126120
);
127121
TaskManagerDrawer.displayName = "TaskManagerDrawer";
128122

129-
const TaskStateToIcon: React.FC<{ task: TaskManagerTask }> = ({ task }) =>
130-
task.state === "Ready" ? (
131-
<Tooltip content="Ready">
132-
<CheckCircleIcon />
133-
</Tooltip>
134-
) : task.state === "Postponed" ? (
135-
<Tooltip content="Postponed">
136-
<PauseCircleIcon />
137-
</Tooltip>
138-
) : task.state === "Pending" ? (
139-
<Tooltip content="Pending">
140-
<PendingIcon />
141-
</Tooltip>
142-
) : task.state === "Running" ? (
143-
<Tooltip content="Running">
144-
<InProgressIcon />
145-
</Tooltip>
146-
) : (
147-
<Tooltip content="Unknown">
148-
<TaskIcon />
149-
</Tooltip>
150-
);
123+
const TaskStateToIcon: React.FC<{ taskState: TaskState }> = ({ taskState }) => (
124+
<Tooltip content={taskState}>{taskStateToIcon(taskState)}</Tooltip>
125+
);
151126

152127
const TaskItem: React.FC<{
153128
task: TaskManagerTask;
@@ -174,7 +149,7 @@ const TaskItem: React.FC<{
174149
<NotificationDrawerListItemHeader
175150
variant="custom"
176151
title={title}
177-
icon={<TaskStateToIcon task={task} />}
152+
icon={<TaskStateToIcon taskState={task.state} />}
178153
>
179154
{/* Put the item's action menu here */}
180155
</NotificationDrawerListItemHeader>

0 commit comments

Comments
 (0)