From 0eb98a6aa3689d329340d2ff809b2a9cfd19f041 Mon Sep 17 00:00:00 2001
From: Johanna Szepanski <johanna.szepanski@softhouse.se>
Date: Thu, 19 Sep 2024 13:27:57 +0200
Subject: [PATCH] use status icons from common

---
 package-lock.json                             | 14 +--
 package.json                                  |  2 +-
 src/components/Job/JobStatus.js               | 92 +++++++++----------
 .../Job/JobTable/JobStatusColumn.js           |  2 +-
 4 files changed, 52 insertions(+), 58 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index f3dacb34..6b8768cc 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -11,7 +11,7 @@
         "@ahooksjs/use-url-state": "^3.5.0",
         "@emotion/react": "^11.11.1",
         "@emotion/styled": "^11.11.0",
-        "@ess-ics/ce-ui-common": "6.7.0-04a696b4",
+        "@ess-ics/ce-ui-common": "6.7.0-18ea750c",
         "@fontsource/roboto": "^4.1.0",
         "@mui/icons-material": "^5.14.1",
         "@mui/material": "^5.14.1",
@@ -3119,9 +3119,9 @@
       }
     },
     "node_modules/@ess-ics/ce-ui-common": {
-      "version": "6.7.0-04a696b4",
-      "resolved": "https://artifactory.esss.lu.se/artifactory/api/npm/ics-npm/@ess-ics/ce-ui-common/-/ce-ui-common-6.7.0-04a696b4.tgz",
-      "integrity": "sha512-N6jXuIBh1l3ml98UUhMlAUYlU2fA8En9AadNp6v0w/7YmpJM9MNt8HwyLzeL4kfY1ZDWHdi7dGDPvb5iLMDmIw==",
+      "version": "6.7.0-18ea750c",
+      "resolved": "https://artifactory.esss.lu.se/artifactory/api/npm/ics-npm/@ess-ics/ce-ui-common/-/ce-ui-common-6.7.0-18ea750c.tgz",
+      "integrity": "sha512-jnvOeXSvs4S7AkzpX16zf50g+22Ey+FMrpq3gQoOaVzPHBt2Zc7A6xDtp8rL5sgVFeX/63Bh0vNz+RPS9YUZxA==",
       "dependencies": {
         "@fontsource/titillium-web": "^4.5.9",
         "@mui/x-data-grid-pro": "^6.5.0",
@@ -34763,9 +34763,9 @@
       "dev": true
     },
     "@ess-ics/ce-ui-common": {
-      "version": "6.7.0-04a696b4",
-      "resolved": "https://artifactory.esss.lu.se/artifactory/api/npm/ics-npm/@ess-ics/ce-ui-common/-/ce-ui-common-6.7.0-04a696b4.tgz",
-      "integrity": "sha512-N6jXuIBh1l3ml98UUhMlAUYlU2fA8En9AadNp6v0w/7YmpJM9MNt8HwyLzeL4kfY1ZDWHdi7dGDPvb5iLMDmIw==",
+      "version": "6.7.0-18ea750c",
+      "resolved": "https://artifactory.esss.lu.se/artifactory/api/npm/ics-npm/@ess-ics/ce-ui-common/-/ce-ui-common-6.7.0-18ea750c.tgz",
+      "integrity": "sha512-jnvOeXSvs4S7AkzpX16zf50g+22Ey+FMrpq3gQoOaVzPHBt2Zc7A6xDtp8rL5sgVFeX/63Bh0vNz+RPS9YUZxA==",
       "requires": {
         "@fontsource/titillium-web": "^4.5.9",
         "@mui/x-data-grid-pro": "^6.5.0",
diff --git a/package.json b/package.json
index 7bea12ba..6f22ebb6 100644
--- a/package.json
+++ b/package.json
@@ -7,7 +7,7 @@
     "@ahooksjs/use-url-state": "^3.5.0",
     "@emotion/react": "^11.11.1",
     "@emotion/styled": "^11.11.0",
-    "@ess-ics/ce-ui-common": "6.7.0-04a696b4",
+    "@ess-ics/ce-ui-common": "6.7.0-18ea750c",
     "@fontsource/roboto": "^4.1.0",
     "@mui/icons-material": "^5.14.1",
     "@mui/material": "^5.14.1",
diff --git a/src/components/Job/JobStatus.js b/src/components/Job/JobStatus.js
index d518e934..c32b5ee0 100644
--- a/src/components/Job/JobStatus.js
+++ b/src/components/Job/JobStatus.js
@@ -1,49 +1,46 @@
-import { STEPPER_STATES, LabeledIcon } from "@ess-ics/ce-ui-common";
-import { HelpOutline } from "@mui/icons-material";
+import {
+  StepperEvents,
+  LabeledIcon,
+  IconRunning,
+  IconSuccessful,
+  IconFailed,
+  IconUnknown
+} from "@ess-ics/ce-ui-common";
+import { theme } from "../../style/Theme";
 
-const ActiveIcon = STEPPER_STATES.active.outlinedIcon;
-const CompletedIcon = STEPPER_STATES.completed.outlinedIcon;
-const ErrorIcon = STEPPER_STATES.error.outlinedIcon;
-
-const STEPPER_STATUS = {
-  queued: {
-    label: "Queued",
-    alertType: "info",
-    icon: ActiveIcon,
-    color: STEPPER_STATES.active.color.main
-  },
-  running: {
-    label: "Running",
-    alertType: "info",
-    icon: ActiveIcon,
-    color: STEPPER_STATES.active.color.main
-  },
-  successful: {
-    label: "Completed",
-    alertType: "success",
-    icon: CompletedIcon,
-    color: STEPPER_STATES.completed.color.main
+const getStatus = (status) => {
+  switch (status.toLowerCase()) {
+    case StepperEvents.queued:
+      return {
+        label: "Queued",
+        icon: IconRunning
+      };
+    case StepperEvents.running:
+      return {
+        label: "Running",
+        icon: IconRunning
+      };
+    case StepperEvents.successful:
+      return {
+        label: "Successful",
+        icon: IconSuccessful
+      };
+    case StepperEvents.failed:
+      return {
+        label: "Failed",
+        icon: IconFailed
+      };
+    default:
+      return {
+        label: "Unknown",
+        icon: IconUnknown
+      };
   }
 };
 
-const STATUS = {
-  ...STEPPER_STATUS,
-  failed: {
-    label: "Error",
-    alertType: "error",
-    icon: ErrorIcon,
-    color: STEPPER_STATES.error.color.main
-  },
-  unknown: {
-    label: "Unknown",
-    alertType: "info",
-    icon: HelpOutline,
-    color: STEPPER_STATES.disabled.color.main
-  }
-};
-
-export const JobStatusIcon = ({ job }) => {
-  const activeStep = STATUS[job?.status?.toLowerCase()] ?? STATUS.unknown;
+export const JobStatusIcon = ({ status }) => {
+  const activeStep = getStatus(status);
+  const Icon = activeStep.icon;
 
   return (
     <LabeledIcon
@@ -51,14 +48,11 @@ export const JobStatusIcon = ({ job }) => {
       labelPosition="right"
       LabelProps={{
         color:
-          activeStep.alertType === "error" ? STATUS.failed.color : "inherit"
-      }}
-      Icon={activeStep.icon}
-      IconProps={{
-        style: {
-          fill: activeStep.color
-        }
+          status.toLowerCase() === StepperEvents.failed
+            ? theme.palette.status.fail.main
+            : "inherit"
       }}
+      Icon={() => <Icon size="medium" />}
     />
   );
 };
diff --git a/src/components/Job/JobTable/JobStatusColumn.js b/src/components/Job/JobTable/JobStatusColumn.js
index 3a393365..912db370 100644
--- a/src/components/Job/JobTable/JobStatusColumn.js
+++ b/src/components/Job/JobTable/JobStatusColumn.js
@@ -6,7 +6,7 @@ export const JobStatusColumn = ({ job }) => {
   return (
     <Stack>
       <Stack gap={0.5}>
-        <JobStatusIcon job={job} />
+        <JobStatusIcon status={job.status} />
         <StartAndDuration
           createdAt={job.createdAt}
           startTime={job?.startTime}
-- 
GitLab