diff --git a/src/components/SealedSecretDetail.tsx b/src/components/SealedSecretDetail.tsx index b86a0eb..52c5b19 100644 --- a/src/components/SealedSecretDetail.tsx +++ b/src/components/SealedSecretDetail.tsx @@ -69,9 +69,15 @@ export function SealedSecretDetail() { // Check if user can decrypt secrets (requires get permission on Secrets) React.useEffect(() => { + let cancelled = false; if (namespace) { - canDecryptSecrets(namespace).then(setCanDecrypt); + canDecryptSecrets(namespace).then((result) => { + if (!cancelled) setCanDecrypt(result); + }); } + return () => { + cancelled = true; + }; }, [namespace]); // Wait for required params before rendering @@ -154,7 +160,7 @@ export function SealedSecretDetail() { title={ - + {sealedSecret.metadata.name} @@ -233,24 +239,24 @@ export function SealedSecretDetail() { columns={[ { label: 'Key', - getter: (row: any) => row.key, + getter: (row: { key: string; value: string }) => row.key, }, { label: 'Encrypted Value', - getter: (row: any) => { + getter: (row: { key: string; value: string }) => { const val = row.value; return val.length > 40 ? val.substring(0, 40) + '...' : val; }, }, { label: 'Actions', - getter: (row: any) => + getter: (row: { key: string; value: string }) => canDecrypt ? ( - ) : ( - ), @@ -331,8 +337,8 @@ export function SealedSecretDetail() { /> )} - setDeleteDialogOpen(false)}> - Delete SealedSecret? + setDeleteDialogOpen(false)} aria-labelledby="delete-dialog-title"> + Delete SealedSecret? Are you sure you want to delete the SealedSecret {name}? This will also delete the resulting Kubernetes Secret. diff --git a/src/components/SealingKeysView.tsx b/src/components/SealingKeysView.tsx index 1044a37..22a96d3 100644 --- a/src/components/SealingKeysView.tsx +++ b/src/components/SealingKeysView.tsx @@ -189,7 +189,7 @@ export function SealingKeysView() { return ( {expiryDate} - + ({certInfo.daysUntilExpiry} days)