diff --git a/src/frontend/src/CustomNodes/GenericNode/components/NodeStatus/components/build-status-display.tsx b/src/frontend/src/CustomNodes/GenericNode/components/NodeStatus/components/build-status-display.tsx
new file mode 100644
index 000000000..152834975
--- /dev/null
+++ b/src/frontend/src/CustomNodes/GenericNode/components/NodeStatus/components/build-status-display.tsx
@@ -0,0 +1,72 @@
+import {
+ RUN_TIMESTAMP_PREFIX,
+ STATUS_BUILD,
+ STATUS_BUILDING,
+ STATUS_INACTIVE,
+} from "@/constants/constants";
+import { BuildStatus } from "@/constants/enums";
+
+const StatusMessage = ({ children, className = "text-foreground" }) => (
+ {children}
+);
+
+const TimeStamp = ({ prefix, time }) => (
+
+);
+
+const Duration = ({ duration }) => (
+
+
Duration:
+
{duration}
+
+);
+
+const ValidationDetails = ({
+ validationString,
+ lastRunTime,
+ validationStatus,
+}) => (
+
+
+ {validationString && (
+
{validationString}
+ )}
+ {lastRunTime && (
+
+ )}
+
+
+
+);
+
+const BuildStatusDisplay = ({
+ buildStatus,
+ validationStatus,
+ validationString,
+ lastRunTime,
+}) => {
+ if (buildStatus === BuildStatus.BUILDING) {
+ return {STATUS_BUILDING};
+ }
+
+ if (buildStatus === BuildStatus.INACTIVE) {
+ return {STATUS_INACTIVE};
+ }
+
+ if (!validationStatus) {
+ return {STATUS_BUILD};
+ }
+
+ return (
+
+ );
+};
+
+export default BuildStatusDisplay;
diff --git a/src/frontend/src/CustomNodes/GenericNode/components/NodeStatus/index.tsx b/src/frontend/src/CustomNodes/GenericNode/components/NodeStatus/index.tsx
index 00e5025a4..3104fafef 100644
--- a/src/frontend/src/CustomNodes/GenericNode/components/NodeStatus/index.tsx
+++ b/src/frontend/src/CustomNodes/GenericNode/components/NodeStatus/index.tsx
@@ -25,6 +25,7 @@ import { Check } from "lucide-react";
import { useEffect, useRef, useState } from "react";
import { useHotkeys } from "react-hotkeys-hook";
import IconComponent from "../../../../components/common/genericIconComponent";
+import BuildStatusDisplay from "./components/build-status-display";
import { normalizeTimeString } from "./utils/format-run-time";
export default function NodeStatus({
@@ -199,37 +200,12 @@ export default function NodeStatus({
: "border-destructive bg-error-background",
)}
content={
- buildStatus === BuildStatus.BUILDING ? (
- {STATUS_BUILDING}
- ) : buildStatus === BuildStatus.INACTIVE ? (
- {STATUS_INACTIVE}
- ) : !validationStatus ? (
- {STATUS_BUILD}
- ) : (
-
-
- {validationString && (
-
- {validationString}
-
- )}
- {lastRunTime && (
-
-
{RUN_TIMESTAMP_PREFIX}
-
- {lastRunTime}
-
-
- )}
-
-
Duration:
-
- {validationStatus?.data.duration}
-
-
-
-
- )
+
}
side="bottom"
>