diff --git a/src/components/ControlPlane/ManagedResources.tsx b/src/components/ControlPlane/ManagedResources.tsx index c2342f32..fdad9aea 100644 --- a/src/components/ControlPlane/ManagedResources.tsx +++ b/src/components/ControlPlane/ManagedResources.tsx @@ -83,26 +83,28 @@ export function ManagedResources() { ]; const rows: ResourceRow[] = - managedResources?.flatMap((managedResource) => - managedResource.items?.map((item) => { - const conditionSynced = item.status.conditions?.find( - (condition) => condition.type === 'Synced', - ); - const conditionReady = item.status.conditions?.find( - (condition) => condition.type === 'Ready', - ); + managedResources + ?.filter((managedResource) => managedResource.items) + .flatMap((managedResource) => + managedResource.items?.map((item) => { + const conditionSynced = item.status.conditions?.find( + (condition) => condition.type === 'Synced', + ); + const conditionReady = item.status.conditions?.find( + (condition) => condition.type === 'Ready', + ); - return { - kind: item.kind, - name: item.metadata.name, - created: timeAgo.format(new Date(item.metadata.creationTimestamp)), - synced: conditionSynced?.status === 'True', - syncedTransitionTime: conditionSynced?.lastTransitionTime ?? '', - ready: conditionReady?.status === 'True', - readyTransitionTime: conditionReady?.lastTransitionTime ?? '', - }; - }), - ) ?? []; + return { + kind: item.kind, + name: item.metadata.name, + created: timeAgo.format(new Date(item.metadata.creationTimestamp)), + synced: conditionSynced?.status === 'True', + syncedTransitionTime: conditionSynced?.lastTransitionTime ?? '', + ready: conditionReady?.status === 'True', + readyTransitionTime: conditionReady?.lastTransitionTime ?? '', + }; + }), + ) ?? []; return ( <> @@ -138,10 +140,7 @@ export function ManagedResources() { ); } -function ResourceStatusCell({ - value, - transitionTime, -}: StatusCellProps) { +function ResourceStatusCell({ value, transitionTime }: StatusCellProps) { return (