diff --git a/client/src/app/components/Icons/taskStateToIcon.tsx b/client/src/app/components/Icons/TaskStateIcon.tsx
similarity index 55%
rename from client/src/app/components/Icons/taskStateToIcon.tsx
rename to client/src/app/components/Icons/TaskStateIcon.tsx
index a4b616febe..11af306b5c 100644
--- a/client/src/app/components/Icons/taskStateToIcon.tsx
+++ b/client/src/app/components/Icons/TaskStateIcon.tsx
@@ -1,13 +1,18 @@
import { TaskState } from "@app/api/models";
-import React from "react";
+import React, { FC } from "react";
import { Icon } from "@patternfly/react-core";
-import CheckCircleIcon from "@patternfly/react-icons/dist/esm/icons/check-circle-icon";
-import TimesCircleIcon from "@patternfly/react-icons/dist/esm/icons/times-circle-icon";
-import InProgressIcon from "@patternfly/react-icons/dist/esm/icons/in-progress-icon";
-import ExclamationCircleIcon from "@patternfly/react-icons/dist/esm/icons/exclamation-circle-icon";
-import UnknownIcon from "@patternfly/react-icons/dist/esm/icons/unknown-icon";
+import {
+ CheckCircleIcon,
+ TimesCircleIcon,
+ InProgressIcon,
+ ExclamationCircleIcon,
+ UnknownIcon,
+ PendingIcon,
+ TaskIcon,
+ PauseCircleIcon,
+} from "@patternfly/react-icons";
-export const taskStateToIcon = (state?: TaskState) => {
+export const TaskStateIcon: FC<{ state?: TaskState }> = ({ state }) => {
switch (state) {
case "not supported":
case "No task":
@@ -26,14 +31,17 @@ export const taskStateToIcon = (state?: TaskState) => {
);
- case "Pending":
+ case "Running":
return ;
- case "Created":
+ case "Pending":
+ return ;
case "QuotaBlocked":
- case "Running":
- case "Ready":
case "Postponed":
+ return ;
+ case "Created":
+ case "Ready":
+ return ;
default:
- return <>>;
+ return ;
}
};
diff --git a/client/src/app/components/Icons/index.ts b/client/src/app/components/Icons/index.ts
index 1ad916bfe6..bdcc8a6e08 100644
--- a/client/src/app/components/Icons/index.ts
+++ b/client/src/app/components/Icons/index.ts
@@ -1,4 +1,4 @@
export * from "./OptionalTooltip";
export * from "./IconedStatus";
export * from "./IconWithLabel";
-export * from "./taskStateToIcon";
+export * from "./TaskStateIcon";
diff --git a/client/src/app/components/task-manager/TaskManagerDrawer.tsx b/client/src/app/components/task-manager/TaskManagerDrawer.tsx
index 3836087f9e..63ccc967c4 100644
--- a/client/src/app/components/task-manager/TaskManagerDrawer.tsx
+++ b/client/src/app/components/task-manager/TaskManagerDrawer.tsx
@@ -18,14 +18,7 @@ import {
NotificationDrawerListItemHeader,
Tooltip,
} from "@patternfly/react-core";
-import {
- CubesIcon,
- InProgressIcon,
- PauseCircleIcon,
- PendingIcon,
- CheckCircleIcon,
- TaskIcon,
-} from "@patternfly/react-icons";
+import { CubesIcon } from "@patternfly/react-icons";
import { css } from "@patternfly/react-styles";
import { TaskState } from "@app/api/models";
@@ -33,6 +26,7 @@ import { useTaskManagerContext } from "./TaskManagerContext";
import { useServerTasks } from "@app/queries/tasks";
import "./TaskManagerDrawer.css";
+import { TaskStateIcon } from "../Icons";
/** A version of `Task` specific for the task manager drawer components */
interface TaskManagerTask {
@@ -126,28 +120,11 @@ export const TaskManagerDrawer: React.FC = forwardRef(
);
TaskManagerDrawer.displayName = "TaskManagerDrawer";
-const TaskStateToIcon: React.FC<{ task: TaskManagerTask }> = ({ task }) =>
- task.state === "Ready" ? (
-
-
-
- ) : task.state === "Postponed" ? (
-
-
-
- ) : task.state === "Pending" ? (
-
-
-
- ) : task.state === "Running" ? (
-
-
-
- ) : (
-
-
-
- );
+const TaskStateToIcon: React.FC<{ taskState: TaskState }> = ({ taskState }) => (
+
+
+
+);
const TaskItem: React.FC<{
task: TaskManagerTask;
@@ -174,7 +151,7 @@ const TaskItem: React.FC<{
}
+ icon={}
>
{/* Put the item's action menu here */}
diff --git a/client/src/app/pages/tasks/tasks-page.tsx b/client/src/app/pages/tasks/tasks-page.tsx
index 915deccbcb..3e9e2c9bc7 100644
--- a/client/src/app/pages/tasks/tasks-page.tsx
+++ b/client/src/app/pages/tasks/tasks-page.tsx
@@ -43,7 +43,7 @@ import { TablePersistenceKeyPrefix } from "@app/Constants";
import { useSelectionState } from "@migtools/lib-ui";
import { useServerTasks } from "@app/queries/tasks";
import { Task } from "@app/api/models";
-import { IconWithLabel, taskStateToIcon } from "@app/components/Icons";
+import { IconWithLabel, TaskStateIcon } from "@app/components/Icons";
import { ManageColumnsToolbar } from "../applications/applications-table/components/manage-columns-toolbar";
import dayjs from "dayjs";
import { useTaskActions } from "./useTaskActions";
@@ -226,7 +226,7 @@ export const TasksPage: React.FC = () => {
kind: kind ?? addon,
state: (
}
label={