diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/components/SecretListView/CollapsibleSecretImports.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/components/SecretListView/CollapsibleSecretImports.tsx index 5f0e747a2..9a66b23f5 100644 --- a/frontend/src/pages/secret-manager/SecretDashboardPage/components/SecretListView/CollapsibleSecretImports.tsx +++ b/frontend/src/pages/secret-manager/SecretDashboardPage/components/SecretListView/CollapsibleSecretImports.tsx @@ -83,7 +83,12 @@ export const CollapsibleSecretImports: React.FC = if (folder.secrets?.length) { folder.secrets.forEach(({ secretId: secret, referencedSecretKey }) => { const secretPath = folder.name === "/" ? `/${secret}` : `${folder.name}/${secret}`; - if (secretsToDelete.includes(referencedSecretKey)) { + if ( + secretsToDelete.includes(referencedSecretKey) && + !items.some( + (item) => item.environment.name === env.environment.name && item.path === secretPath + ) + ) { items.push({ type: ItemType.Secret, path: secretPath, @@ -116,6 +121,24 @@ export const CollapsibleSecretImports: React.FC = }); }, [importedBy]); + const hasImportedItems = importedBy.some((element) => { + if (element.folders && element.folders.length > 0) { + return element.folders.some( + (folder) => + folder.isImported || + (folder.secrets && + folder.secrets.length > 0 && + folder.secrets.some((secret) => secretsToDelete.includes(secret.referencedSecretKey))) + ); + } + + return false; + }); + + if (!hasImportedItems) { + return null; + } + return (