diff --git a/frontend/src/const/routes.ts b/frontend/src/const/routes.ts
index 2e835a1db..410df7440 100644
--- a/frontend/src/const/routes.ts
+++ b/frontend/src/const/routes.ts
@@ -33,10 +33,6 @@ export const ROUTE_PATHS = Object.freeze({
"/organization/secret-sharing",
"/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing/"
),
- SecretSharingSettings: setRoute(
- "/organization/secret-sharing/settings",
- "/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing/settings"
- ),
SettingsPage: setRoute(
"/organization/settings",
"/_authenticate/_inject-org-details/_org-layout/organization/settings/"
diff --git a/frontend/src/pages/organization/SecretSharingPage/ShareSecretSection.tsx b/frontend/src/pages/organization/SecretSharingPage/ShareSecretSection.tsx
index c8bfa7dc9..134e341a6 100644
--- a/frontend/src/pages/organization/SecretSharingPage/ShareSecretSection.tsx
+++ b/frontend/src/pages/organization/SecretSharingPage/ShareSecretSection.tsx
@@ -6,11 +6,13 @@ import { ROUTE_PATHS } from "@app/const/routes";
import { useOrganization } from "@app/context";
import { RequestSecretTab } from "./components/RequestSecret/RequestSecretTab";
+import { SecretSharingSettingsTab } from "./components/SecretSharingSettings/SecretSharingSettingsTab";
import { ShareSecretTab } from "./components/ShareSecret/ShareSecretTab";
enum SecretSharingPageTabs {
ShareSecret = "share-secret",
- RequestSecret = "request-secret"
+ RequestSecret = "request-secret",
+ Settings = "settings"
}
export const ShareSecretSection = () => {
@@ -46,6 +48,11 @@ export const ShareSecretSection = () => {
Request Secrets
+ {!isSubOrganization && (
+
+ Settings
+
+ )}
@@ -53,6 +60,9 @@ export const ShareSecretSection = () => {
+
+
+
);
diff --git a/frontend/src/pages/organization/SecretSharingSettingsPage/components/OrgSecretShareLimitSection/OrgSecretShareLimitSection.tsx b/frontend/src/pages/organization/SecretSharingPage/components/SecretSharingSettings/OrgSecretShareLimitSection.tsx
similarity index 100%
rename from frontend/src/pages/organization/SecretSharingSettingsPage/components/OrgSecretShareLimitSection/OrgSecretShareLimitSection.tsx
rename to frontend/src/pages/organization/SecretSharingPage/components/SecretSharingSettings/OrgSecretShareLimitSection.tsx
diff --git a/frontend/src/pages/organization/SecretSharingSettingsPage/components/SecretSharingAllowShareToAnyone/SecretSharingAllowShareToAnyone.tsx b/frontend/src/pages/organization/SecretSharingPage/components/SecretSharingSettings/SecretSharingAllowShareToAnyone.tsx
similarity index 100%
rename from frontend/src/pages/organization/SecretSharingSettingsPage/components/SecretSharingAllowShareToAnyone/SecretSharingAllowShareToAnyone.tsx
rename to frontend/src/pages/organization/SecretSharingPage/components/SecretSharingSettings/SecretSharingAllowShareToAnyone.tsx
diff --git a/frontend/src/pages/organization/SecretSharingPage/components/SecretSharingSettings/SecretSharingSettingsTab.tsx b/frontend/src/pages/organization/SecretSharingPage/components/SecretSharingSettings/SecretSharingSettingsTab.tsx
new file mode 100644
index 000000000..96517eaa9
--- /dev/null
+++ b/frontend/src/pages/organization/SecretSharingPage/components/SecretSharingSettings/SecretSharingSettingsTab.tsx
@@ -0,0 +1,21 @@
+import { OrgPermissionSubjects } from "@app/context";
+import { OrgPermissionSecretShareAction } from "@app/context/OrgPermissionContext/types";
+import { withPermission } from "@app/hoc";
+
+import { OrgSecretShareLimitSection } from "./OrgSecretShareLimitSection";
+import { SecretSharingAllowShareToAnyone } from "./SecretSharingAllowShareToAnyone";
+
+export const SecretSharingSettingsTab = withPermission(
+ () => {
+ return (
+
+
+
+
+ );
+ },
+ {
+ action: OrgPermissionSecretShareAction.ManageSettings,
+ subject: OrgPermissionSubjects.SecretShare
+ }
+);
diff --git a/frontend/src/pages/organization/SecretSharingSettingsPage/SecretSharingSettingsPage.tsx b/frontend/src/pages/organization/SecretSharingSettingsPage/SecretSharingSettingsPage.tsx
deleted file mode 100644
index 5d6424681..000000000
--- a/frontend/src/pages/organization/SecretSharingSettingsPage/SecretSharingSettingsPage.tsx
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Helmet } from "react-helmet";
-import { useTranslation } from "react-i18next";
-
-import { PageHeader } from "@app/components/v2";
-import { useOrganization } from "@app/context";
-import {
- OrgPermissionSecretShareAction,
- OrgPermissionSubjects
-} from "@app/context/OrgPermissionContext/types";
-import { withPermission } from "@app/hoc";
-
-import { SecretSharingSettingsTabGroup } from "./components";
-
-export const SecretSharingSettingsPage = withPermission(
- () => {
- const { t } = useTranslation();
- const { isSubOrganization } = useOrganization();
-
- return (
- <>
-
- {t("common.head-title", { title: "Secret Share Settings" })}
-
-
- >
- );
- },
- {
- action: OrgPermissionSecretShareAction.ManageSettings,
- subject: OrgPermissionSubjects.SecretShare
- }
-);
diff --git a/frontend/src/pages/organization/SecretSharingSettingsPage/components/OrgSecretShareLimitSection/index.tsx b/frontend/src/pages/organization/SecretSharingSettingsPage/components/OrgSecretShareLimitSection/index.tsx
deleted file mode 100644
index 1e83c4be8..000000000
--- a/frontend/src/pages/organization/SecretSharingSettingsPage/components/OrgSecretShareLimitSection/index.tsx
+++ /dev/null
@@ -1 +0,0 @@
-export { OrgSecretShareLimitSection } from "./OrgSecretShareLimitSection";
diff --git a/frontend/src/pages/organization/SecretSharingSettingsPage/components/SecretSharingAllowShareToAnyone/index.tsx b/frontend/src/pages/organization/SecretSharingSettingsPage/components/SecretSharingAllowShareToAnyone/index.tsx
deleted file mode 100644
index d02460498..000000000
--- a/frontend/src/pages/organization/SecretSharingSettingsPage/components/SecretSharingAllowShareToAnyone/index.tsx
+++ /dev/null
@@ -1 +0,0 @@
-export { SecretSharingAllowShareToAnyone } from "./SecretSharingAllowShareToAnyone";
diff --git a/frontend/src/pages/organization/SecretSharingSettingsPage/components/SecretSharingSettingsGeneralTab/SecretSharingSettingsGeneralTab.tsx b/frontend/src/pages/organization/SecretSharingSettingsPage/components/SecretSharingSettingsGeneralTab/SecretSharingSettingsGeneralTab.tsx
deleted file mode 100644
index ba849507d..000000000
--- a/frontend/src/pages/organization/SecretSharingSettingsPage/components/SecretSharingSettingsGeneralTab/SecretSharingSettingsGeneralTab.tsx
+++ /dev/null
@@ -1,11 +0,0 @@
-import { OrgSecretShareLimitSection } from "../OrgSecretShareLimitSection";
-import { SecretSharingAllowShareToAnyone } from "../SecretSharingAllowShareToAnyone";
-
-export const SecretSharingSettingsGeneralTab = () => {
- return (
-
-
-
-
- );
-};
diff --git a/frontend/src/pages/organization/SecretSharingSettingsPage/components/SecretSharingSettingsGeneralTab/index.tsx b/frontend/src/pages/organization/SecretSharingSettingsPage/components/SecretSharingSettingsGeneralTab/index.tsx
deleted file mode 100644
index 306109025..000000000
--- a/frontend/src/pages/organization/SecretSharingSettingsPage/components/SecretSharingSettingsGeneralTab/index.tsx
+++ /dev/null
@@ -1 +0,0 @@
-export { SecretSharingSettingsGeneralTab } from "./SecretSharingSettingsGeneralTab";
diff --git a/frontend/src/pages/organization/SecretSharingSettingsPage/components/SecretSharingSettingsTabGroup/SecretSharingSettingsTabGroup.tsx b/frontend/src/pages/organization/SecretSharingSettingsPage/components/SecretSharingSettingsTabGroup/SecretSharingSettingsTabGroup.tsx
deleted file mode 100644
index 594df474f..000000000
--- a/frontend/src/pages/organization/SecretSharingSettingsPage/components/SecretSharingSettingsTabGroup/SecretSharingSettingsTabGroup.tsx
+++ /dev/null
@@ -1,39 +0,0 @@
-import { useState } from "react";
-import { useSearch } from "@tanstack/react-router";
-
-import { Tab, TabList, TabPanel, Tabs } from "@app/components/v2";
-import { ROUTE_PATHS } from "@app/const/routes";
-
-import { SecretSharingSettingsGeneralTab } from "../SecretSharingSettingsGeneralTab";
-
-export const SecretSharingSettingsTabGroup = () => {
- const search = useSearch({
- from: ROUTE_PATHS.Organization.SecretSharingSettings.id
- });
- const tabs = [
- {
- name: "General",
- key: "tab-secret-sharing-general",
- component: SecretSharingSettingsGeneralTab
- }
- ];
-
- const [selectedTab, setSelectedTab] = useState(search.selectedTab || tabs[0].key);
-
- return (
-
-
- {tabs.map((tab) => (
-
- {tab.name}
-
- ))}
-
- {tabs.map(({ key, component: Component }) => (
-
-
-
- ))}
-
- );
-};
diff --git a/frontend/src/pages/organization/SecretSharingSettingsPage/components/SecretSharingSettingsTabGroup/index.tsx b/frontend/src/pages/organization/SecretSharingSettingsPage/components/SecretSharingSettingsTabGroup/index.tsx
deleted file mode 100644
index 2c60c7e20..000000000
--- a/frontend/src/pages/organization/SecretSharingSettingsPage/components/SecretSharingSettingsTabGroup/index.tsx
+++ /dev/null
@@ -1 +0,0 @@
-export { SecretSharingSettingsTabGroup } from "./SecretSharingSettingsTabGroup";
diff --git a/frontend/src/pages/organization/SecretSharingSettingsPage/components/index.tsx b/frontend/src/pages/organization/SecretSharingSettingsPage/components/index.tsx
deleted file mode 100644
index 2c60c7e20..000000000
--- a/frontend/src/pages/organization/SecretSharingSettingsPage/components/index.tsx
+++ /dev/null
@@ -1 +0,0 @@
-export { SecretSharingSettingsTabGroup } from "./SecretSharingSettingsTabGroup";
diff --git a/frontend/src/pages/organization/SecretSharingSettingsPage/route.tsx b/frontend/src/pages/organization/SecretSharingSettingsPage/route.tsx
deleted file mode 100644
index b938abd2e..000000000
--- a/frontend/src/pages/organization/SecretSharingSettingsPage/route.tsx
+++ /dev/null
@@ -1,30 +0,0 @@
-import { createFileRoute, linkOptions, stripSearchParams } from "@tanstack/react-router";
-import { zodValidator } from "@tanstack/zod-adapter";
-import { z } from "zod";
-
-import { SecretSharingSettingsPage } from "./SecretSharingSettingsPage";
-
-const SettingsPageQueryParams = z.object({
- selectedTab: z.string().catch("")
-});
-
-export const Route = createFileRoute(
- "/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing/settings"
-)({
- component: SecretSharingSettingsPage,
- validateSearch: zodValidator(SettingsPageQueryParams),
- search: {
- middlewares: [stripSearchParams({ selectedTab: "" })]
- },
- context: () => ({
- breadcrumbs: [
- {
- label: "Secret Sharing",
- link: linkOptions({ to: "/organization/secret-sharing" })
- },
- {
- label: "Settings"
- }
- ]
- })
-});
diff --git a/frontend/src/routeTree.gen.ts b/frontend/src/routeTree.gen.ts
index 1562f302d..f95b37a5d 100644
--- a/frontend/src/routeTree.gen.ts
+++ b/frontend/src/routeTree.gen.ts
@@ -56,7 +56,6 @@ import { Route as organizationAccessManagementPageRouteImport } from './pages/or
import { Route as adminGeneralPageRouteImport } from './pages/admin/GeneralPage/route'
import { Route as secretManagerRedirectsRedirectApprovalPageImport } from './pages/secret-manager/redirects/redirect-approval-page'
import { Route as adminResourceOverviewPageRouteImport } from './pages/admin/ResourceOverviewPage/route'
-import { Route as organizationSecretSharingSettingsPageRouteImport } from './pages/organization/SecretSharingSettingsPage/route'
import { Route as organizationRoleByIDPageRouteImport } from './pages/organization/RoleByIDPage/route'
import { Route as organizationUserDetailsByIDPageRouteImport } from './pages/organization/UserDetailsByIDPage/route'
import { Route as organizationIdentityDetailsByIDPageRouteImport } from './pages/organization/IdentityDetailsByIDPage/route'
@@ -751,14 +750,6 @@ const adminResourceOverviewPageRouteRoute =
getParentRoute: () => adminLayoutRoute,
} as any)
-const organizationSecretSharingSettingsPageRouteRoute =
- organizationSecretSharingSettingsPageRouteImport.update({
- id: '/settings',
- path: '/settings',
- getParentRoute: () =>
- AuthenticateInjectOrgDetailsOrgLayoutOrganizationSecretSharingRoute,
- } as any)
-
const organizationRoleByIDPageRouteRoute =
organizationRoleByIDPageRouteImport.update({
id: '/roles/$roleId',
@@ -2617,13 +2608,6 @@ declare module '@tanstack/react-router' {
preLoaderRoute: typeof organizationRoleByIDPageRouteImport
parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationImport
}
- '/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing/settings': {
- id: '/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing/settings'
- path: '/settings'
- fullPath: '/organization/secret-sharing/settings'
- preLoaderRoute: typeof organizationSecretSharingSettingsPageRouteImport
- parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationSecretSharingImport
- }
'/_authenticate/_inject-org-details/admin/_admin-layout/resources/overview': {
id: '/_authenticate/_inject-org-details/admin/_admin-layout/resources/overview'
path: '/resources/overview'
@@ -4018,15 +4002,12 @@ const AuthenticateInjectOrgDetailsOrgLayoutOrganizationNetworkingRouteWithChildr
interface AuthenticateInjectOrgDetailsOrgLayoutOrganizationSecretSharingRouteChildren {
organizationSecretSharingPageRouteRoute: typeof organizationSecretSharingPageRouteRoute
- organizationSecretSharingSettingsPageRouteRoute: typeof organizationSecretSharingSettingsPageRouteRoute
}
const AuthenticateInjectOrgDetailsOrgLayoutOrganizationSecretSharingRouteChildren: AuthenticateInjectOrgDetailsOrgLayoutOrganizationSecretSharingRouteChildren =
{
organizationSecretSharingPageRouteRoute:
organizationSecretSharingPageRouteRoute,
- organizationSecretSharingSettingsPageRouteRoute:
- organizationSecretSharingSettingsPageRouteRoute,
}
const AuthenticateInjectOrgDetailsOrgLayoutOrganizationSecretSharingRouteWithChildren =
@@ -5077,7 +5058,6 @@ export interface FileRoutesByFullPath {
'/organization/identities/$identityId': typeof organizationIdentityDetailsByIDPageRouteRoute
'/organization/members/$membershipId': typeof organizationUserDetailsByIDPageRouteRoute
'/organization/roles/$roleId': typeof organizationRoleByIDPageRouteRoute
- '/organization/secret-sharing/settings': typeof organizationSecretSharingSettingsPageRouteRoute
'/admin/resources/overview': typeof adminResourceOverviewPageRouteRoute
'/projects/cert-management/$projectId': typeof certManagerLayoutRouteWithChildren
'/projects/kms/$projectId': typeof kmsLayoutRouteWithChildren
@@ -5310,7 +5290,6 @@ export interface FileRoutesByTo {
'/organization/identities/$identityId': typeof organizationIdentityDetailsByIDPageRouteRoute
'/organization/members/$membershipId': typeof organizationUserDetailsByIDPageRouteRoute
'/organization/roles/$roleId': typeof organizationRoleByIDPageRouteRoute
- '/organization/secret-sharing/settings': typeof organizationSecretSharingSettingsPageRouteRoute
'/admin/resources/overview': typeof adminResourceOverviewPageRouteRoute
'/projects/cert-management/$projectId': typeof certManagerLayoutRouteWithChildren
'/projects/kms/$projectId': typeof kmsLayoutRouteWithChildren
@@ -5549,7 +5528,6 @@ export interface FileRoutesById {
'/_authenticate/_inject-org-details/_org-layout/organization/identities/$identityId': typeof organizationIdentityDetailsByIDPageRouteRoute
'/_authenticate/_inject-org-details/_org-layout/organization/members/$membershipId': typeof organizationUserDetailsByIDPageRouteRoute
'/_authenticate/_inject-org-details/_org-layout/organization/roles/$roleId': typeof organizationRoleByIDPageRouteRoute
- '/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing/settings': typeof organizationSecretSharingSettingsPageRouteRoute
'/_authenticate/_inject-org-details/admin/_admin-layout/resources/overview': typeof adminResourceOverviewPageRouteRoute
'/_authenticate/_inject-org-details/_org-layout/projects/cert-management/$projectId': typeof AuthenticateInjectOrgDetailsOrgLayoutProjectsCertManagementProjectIdRouteWithChildren
'/_authenticate/_inject-org-details/_org-layout/projects/kms/$projectId': typeof AuthenticateInjectOrgDetailsOrgLayoutProjectsKmsProjectIdRouteWithChildren
@@ -5798,7 +5776,6 @@ export interface FileRouteTypes {
| '/organization/identities/$identityId'
| '/organization/members/$membershipId'
| '/organization/roles/$roleId'
- | '/organization/secret-sharing/settings'
| '/admin/resources/overview'
| '/projects/cert-management/$projectId'
| '/projects/kms/$projectId'
@@ -6030,7 +6007,6 @@ export interface FileRouteTypes {
| '/organization/identities/$identityId'
| '/organization/members/$membershipId'
| '/organization/roles/$roleId'
- | '/organization/secret-sharing/settings'
| '/admin/resources/overview'
| '/projects/cert-management/$projectId'
| '/projects/kms/$projectId'
@@ -6267,7 +6243,6 @@ export interface FileRouteTypes {
| '/_authenticate/_inject-org-details/_org-layout/organization/identities/$identityId'
| '/_authenticate/_inject-org-details/_org-layout/organization/members/$membershipId'
| '/_authenticate/_inject-org-details/_org-layout/organization/roles/$roleId'
- | '/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing/settings'
| '/_authenticate/_inject-org-details/admin/_admin-layout/resources/overview'
| '/_authenticate/_inject-org-details/_org-layout/projects/cert-management/$projectId'
| '/_authenticate/_inject-org-details/_org-layout/projects/kms/$projectId'
@@ -6791,8 +6766,7 @@ export const routeTree = rootRoute
"filePath": "",
"parent": "/_authenticate/_inject-org-details/_org-layout/organization",
"children": [
- "/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing/",
- "/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing/settings"
+ "/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing/"
]
},
"/_authenticate/_inject-org-details/_org-layout/organization/settings": {
@@ -6842,10 +6816,6 @@ export const routeTree = rootRoute
"filePath": "organization/RoleByIDPage/route.tsx",
"parent": "/_authenticate/_inject-org-details/_org-layout/organization"
},
- "/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing/settings": {
- "filePath": "organization/SecretSharingSettingsPage/route.tsx",
- "parent": "/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing"
- },
"/_authenticate/_inject-org-details/admin/_admin-layout/resources/overview": {
"filePath": "admin/ResourceOverviewPage/route.tsx",
"parent": "/_authenticate/_inject-org-details/admin/_admin-layout"
diff --git a/frontend/src/routes.ts b/frontend/src/routes.ts
index bebc50339..9fb30c1c5 100644
--- a/frontend/src/routes.ts
+++ b/frontend/src/routes.ts
@@ -21,10 +21,7 @@ const organizationRoutes = route("/organization", [
route("/access-management", "organization/AccessManagementPage/route.tsx"),
route("/audit-logs", "organization/AuditLogsPage/route.tsx"),
route("/billing", "organization/BillingPage/route.tsx"),
- route("/secret-sharing", [
- index("organization/SecretSharingPage/route.tsx"),
- route("/settings", "organization/SecretSharingSettingsPage/route.tsx")
- ]),
+ route("/secret-sharing", [index("organization/SecretSharingPage/route.tsx")]),
route("/settings", [
index("organization/SettingsPage/route.tsx"),
route("/oauth/callback", "organization/SettingsPage/OauthCallbackPage/route.tsx")