added uid for identification (#620)

This commit is contained in:
DONY BENNY
2025-11-15 22:58:12 +05:30
committed by GitHub
parent b23310cb2d
commit 1d8151d41d
2 changed files with 34 additions and 31 deletions

View File

@@ -1,25 +1,25 @@
import { HD_RESOURCE_CONDITION_TYPE } from "../../API/releases"; import { HD_RESOURCE_CONDITION_TYPE } from "../../API/releases";
import { Tooltip } from "flowbite-react"; import { Tooltip } from "flowbite-react";
import { ReleaseHealthStatus } from "../../data/types"; import { ReleaseHealthStatus } from "../../data/types";
import { v4 as uuidv4 } from "uuid";
interface Props { interface Props {
statusData: ReleaseHealthStatus[]; statusData: ReleaseHealthStatus[];
} }
const HealthStatus = ({ statusData }: Props) => { const HealthStatus = ({ statusData }: Props) => {
const statuses = statusData.map((item) => { const statuses = statusData.flatMap((item) => {
for (let i = 0; i < item.status.conditions.length; i++) { return item.status?.conditions
const cond = item.status.conditions[i]; ?.filter((cond) => cond.type === HD_RESOURCE_CONDITION_TYPE)
.map((cond) => {
if (cond.type !== HD_RESOURCE_CONDITION_TYPE) { const stableKey =
continue; item.metadata?.uid
} ? `${item.metadata.uid}-${item.metadata.namespace ?? "default"}`
: `${item.kind}-${item.metadata?.namespace ?? "default"}-${item.metadata?.name}`;
return ( return (
<Tooltip <Tooltip
key={uuidv4()} // this is not a good practice, we need to fetch some unique id from the backend key={stableKey}
content={`${cond.status} ${item.kind} ${item.metadata.name}`} content={`${cond.status} ${item.kind} ${item.metadata?.name}`}
> >
<span <span
className={`inline-block ${ className={`inline-block ${
@@ -32,8 +32,12 @@ const HealthStatus = ({ statusData }: Props) => {
></span> ></span>
</Tooltip> </Tooltip>
); );
}
}); });
});
if (statuses.length === 0) {
return <div>No health statuses available</div>;
}
return <div className="flex flex-wrap gap-1">{statuses}</div>; return <div className="flex flex-wrap gap-1">{statuses}</div>;
}; };

View File

@@ -53,10 +53,9 @@ export type ReleaseHealthStatus = {
metadata: { metadata: {
name: string; name: string;
namespace: string; namespace: string;
creationTimestamp?: string; uid?: string; // added: Kubernetes UID for stable identification
labels: { creationTimestamp: Date;
[key: string]: string; labels: string[];
};
}; };
spec: unknown; spec: unknown;
status: { status: {