diff --git a/frontend/src/components/permissions/AccessTree/utils/createFolderNode.ts b/frontend/src/components/permissions/AccessTree/utils/createFolderNode.ts
index a40398ba7..b05ea1c52 100644
--- a/frontend/src/components/permissions/AccessTree/utils/createFolderNode.ts
+++ b/frontend/src/components/permissions/AccessTree/utils/createFolderNode.ts
@@ -87,17 +87,24 @@ const shouldShowConditionalAccess = (
folderPath: string,
conditionalFields: string[]
): boolean => {
- return actionRuleMap.some((rule) => {
+ // Find all rules that apply to this environment/path
+ const applicableRules = actionRuleMap.filter((rule) => {
const ruleConditions = rule[action]?.conditions;
if (!ruleConditions) return false;
-
- // Check if any of the conditional fields are present
- const hasConditionalField = conditionalFields.some((field) => ruleConditions[field]);
- if (!hasConditionalField) return false;
-
- // Check if base conditions (environment and secretPath) apply
return doBaseConditionsApply(ruleConditions, environment, folderPath);
});
+
+ // If no rules apply, don't show conditional
+ if (applicableRules.length === 0) return false;
+
+ // Check if ALL applicable rules have conditional fields and if at least one rule applies without conditional fields, show full access
+ const allRulesHaveConditionalFields = applicableRules.every((rule) => {
+ const ruleConditions = rule[action]?.conditions;
+ if (!ruleConditions) return false;
+ return conditionalFields.some((field) => ruleConditions[field]);
+ });
+
+ return allRulesHaveConditionalFields;
};
const determineAccessLevel = (
diff --git a/frontend/src/pages/secret-manager/OverviewPage/OverviewPage.tsx b/frontend/src/pages/secret-manager/OverviewPage/OverviewPage.tsx
index f3abbec97..ddc7e69ed 100644
--- a/frontend/src/pages/secret-manager/OverviewPage/OverviewPage.tsx
+++ b/frontend/src/pages/secret-manager/OverviewPage/OverviewPage.tsx
@@ -10,6 +10,8 @@ import {
faArrowRight,
faArrowRightToBracket,
faArrowUp,
+ faCheck,
+ faCopy,
faFilter,
faFingerprint,
faFolder,
@@ -79,6 +81,7 @@ import {
usePopUp,
useResetPageHelper,
useResizableHeaderHeight,
+ useTimedReset,
useToggle
} from "@app/hooks";
import {
@@ -194,6 +197,15 @@ export const OverviewPage = () => {
}
};
+ const [copiedSlug, , setCopiedSlug] = useTimedReset
{name}
+ ) : ( + "" + )} +{slug}
+