diff --git a/ui/components/Icon.tsx b/ui/components/Icon.tsx
index d1c194e4cd..6132f47584 100644
--- a/ui/components/Icon.tsx
+++ b/ui/components/Icon.tsx
@@ -97,6 +97,7 @@ export enum IconType {
TemplatesIcon,
ClustersIcon,
ExploreIcon,
+ PendingActionIcon,
}
type Props = {
@@ -179,6 +180,9 @@ function getIcon(i: IconType) {
case IconType.ReconcileIcon:
return () =>
;
+ case IconType.PendingActionIcon:
+ return () =>
;
+
case IconType.ArrowDropDownIcon:
return ArrowDropDownIcon;
diff --git a/ui/components/KubeStatusIndicator.tsx b/ui/components/KubeStatusIndicator.tsx
index cdd450842c..845f3ea777 100644
--- a/ui/components/KubeStatusIndicator.tsx
+++ b/ui/components/KubeStatusIndicator.tsx
@@ -18,6 +18,7 @@ export enum ReadyType {
Ready = "Ready",
NotReady = "Not Ready",
Reconciling = "Reconciling",
+ PendingAction = "PendingAction",
Suspended = "Suspended",
None = "None",
}
@@ -40,11 +41,10 @@ export function computeReady(conditions: Condition[]): ReadyType {
return ReadyType.Ready;
}
- if (
- readyCondition.status === ReadyStatusValue.Unknown &&
- readyCondition.reason === "Progressing"
- ) {
- return ReadyType.Reconciling;
+ if (readyCondition.status === ReadyStatusValue.Unknown) {
+ if (readyCondition.reason === "Progressing") return ReadyType.Reconciling;
+ if (readyCondition.reason === "TerraformPlannedWithChanges")
+ return ReadyType.PendingAction;
}
if (readyCondition.status === ReadyStatusValue.None) return ReadyType.None;
@@ -107,6 +107,12 @@ export const getIndicatorInfo = (
icon: IconType.ReconcileIcon,
color: "primary",
};
+ if (ready === ReadyType.PendingAction)
+ return {
+ type: ReadyType.PendingAction,
+ icon: IconType.PendingActionIcon,
+ color: "feedbackOriginal",
+ };
if (ready === ReadyType.Ready)
return {
type: ReadyType.Ready,
diff --git a/ui/images/pending-action.svg b/ui/images/pending-action.svg
new file mode 100644
index 0000000000..e095e291ea
--- /dev/null
+++ b/ui/images/pending-action.svg
@@ -0,0 +1 @@
+
diff --git a/ui/lib/images.ts b/ui/lib/images.ts
index 566e43e956..f77cf167a1 100644
--- a/ui/lib/images.ts
+++ b/ui/lib/images.ts
@@ -1,15 +1,16 @@
/* eslint-disable */
// @ts-nocheck
+import signInWheel from "data-url:../images/SignInWheel.svg";
+import weaveLogo from "data-url:../images/WeaveLogo.svg";
import bg from "data-url:../images/bg-circles.png";
import failedSrc from "data-url:../images/failed.svg";
import logotype from "data-url:../images/logotype.svg";
+import pendingAction from "data-url:../images/pending-action.svg";
import reconcileSrc from "data-url:../images/reconcile.svg";
-import signInWheel from "data-url:../images/SignInWheel.svg";
import successSrc from "data-url:../images/success.svg";
import suspendedSrc from "data-url:../images/suspended.svg";
import weaveG from "data-url:../images/weaveG.svg";
-import weaveLogo from "data-url:../images/WeaveLogo.svg";
export default {
bg,
@@ -21,4 +22,5 @@ export default {
suspendedSrc,
weaveLogo,
reconcileSrc,
+ pendingAction,
};