From 03debcab5a8c0dae70a216a385ffa2578c86710e Mon Sep 17 00:00:00 2001 From: = Date: Tue, 14 Jan 2025 19:49:46 +0530 Subject: [PATCH 01/10] feat: completed sidebar changes --- frontend/src/components/v2/Menu/Menu.tsx | 82 +++--- .../OrganizationLayout/OrganizationLayout.tsx | 254 +++++++++++------ .../MenuIconButton/MenuIconButton.tsx | 55 ++++ .../components/MenuIconButton/index.tsx | 1 + .../SidebarFooter/SidebarFooter.tsx | 171 +++++++++-- .../SidebarHeader/SidebarHeader.tsx | 250 +++++++++++------ .../layouts/ProjectLayout/ProjectLayout.tsx | 265 +++++++++--------- .../ProjectSelect/ProjectSelect.tsx | 2 +- frontend/src/pages/cert-manager/layout.tsx | 7 +- frontend/src/pages/kms/layout.tsx | 7 +- .../CertManagerOverviewPage/route.tsx | 16 +- .../organization/KmsOverviewPage/route.tsx | 16 +- .../SecretManagerOverviewPage/route.tsx | 16 +- .../organization/SshOverviewPage/route.tsx | 16 +- frontend/src/pages/secret-manager/layout.tsx | 7 +- frontend/src/pages/ssh/layout.tsx | 7 +- 16 files changed, 794 insertions(+), 378 deletions(-) create mode 100644 frontend/src/layouts/OrganizationLayout/components/MenuIconButton/MenuIconButton.tsx create mode 100644 frontend/src/layouts/OrganizationLayout/components/MenuIconButton/index.tsx diff --git a/frontend/src/components/v2/Menu/Menu.tsx b/frontend/src/components/v2/Menu/Menu.tsx index f33f6c21b..29076af18 100644 --- a/frontend/src/components/v2/Menu/Menu.tsx +++ b/frontend/src/components/v2/Menu/Menu.tsx @@ -38,46 +38,46 @@ export const MenuItem = ({ }: MenuItemProps & ComponentPropsWithRef): JSX.Element => { const iconRef = useRef(null); return ( -
iconRef.current?.play()} onMouseLeave={() => iconRef.current?.stop()}> -
  • - - -
    - {icon && ( -
    - { - iconRef.current = el; - }} - src={`/lotties/${icon}.json`} - loop - className="h-full w-full" - /> -
    - )} - {children} - - {description && {description}} - -
  • -
    +
  • iconRef.current?.play()} + onMouseLeave={() => iconRef.current?.stop()} + className={twMerge( + "duration-50 group mt-0.5 flex cursor-pointer flex-col rounded px-1 py-2 font-inter text-sm text-bunker-100 transition-all hover:bg-mineshaft-700", + isSelected && "bg-mineshaft-600 hover:bg-mineshaft-600", + isDisabled && "cursor-not-allowed hover:bg-transparent", + className + )} + > + + +
    + {icon && ( +
    + { + iconRef.current = el; + }} + src={`/lotties/${icon}.json`} + loop + className="h-full w-full" + /> +
    + )} + {children} + + {description && {description}} + +
  • ); }; @@ -90,7 +90,7 @@ export type MenuGroupProps = { export const MenuGroup = ({ children, title }: MenuGroupProps): JSX.Element => ( <> -
  • {title}
  • +
  • {title}
  • {children} ); diff --git a/frontend/src/layouts/OrganizationLayout/OrganizationLayout.tsx b/frontend/src/layouts/OrganizationLayout/OrganizationLayout.tsx index 7a5a48892..af050ef70 100644 --- a/frontend/src/layouts/OrganizationLayout/OrganizationLayout.tsx +++ b/frontend/src/layouts/OrganizationLayout/OrganizationLayout.tsx @@ -1,14 +1,16 @@ -import { useState } from "react"; +import { ReactNode, useState } from "react"; import { useTranslation } from "react-i18next"; import { faMobile } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { useQueryClient } from "@tanstack/react-query"; import { Link, Outlet, useNavigate, useRouter } from "@tanstack/react-router"; +import { AnimatePresence, motion } from "framer-motion"; +import { twMerge } from "tailwind-merge"; import { Mfa } from "@app/components/auth/Mfa"; import { CreateOrgModal } from "@app/components/organization/CreateOrgModal"; import SecurityClient from "@app/components/utilities/SecurityClient"; -import { Menu, MenuItem } from "@app/components/v2"; +import { Menu, MenuGroup, MenuItem } from "@app/components/v2"; import { useUser } from "@app/context"; import { usePopUp, useToggle } from "@app/hooks"; import { useSelectOrganization, workspaceKeys } from "@app/hooks/api"; @@ -18,10 +20,15 @@ import { ProjectType } from "@app/hooks/api/workspace/types"; import { navigateUserToOrg } from "@app/pages/auth/LoginPage/Login.utils"; import { InsecureConnectionBanner } from "./components/InsecureConnectionBanner"; +import { MenuIconButton } from "./components/MenuIconButton"; import { SidebarFooter } from "./components/SidebarFooter"; import { SidebarHeader } from "./components/SidebarHeader"; -export const OrganizationLayout = () => { +type Props = { + children?: ReactNode; +}; + +export const OrganizationLayout = ({ children }: Props) => { const [shouldShowMfa, toggleShowMfa] = useToggle(false); const [requiredMfaMethod, setRequiredMfaMethod] = useState(MfaMethod.EMAIL); const [mfaSuccessCallback, setMfaSuccessCallback] = useState<() => void>(() => {}); @@ -34,6 +41,9 @@ export const OrganizationLayout = () => { const router = useRouter(); const queryClient = useQueryClient(); + const isNestedLayout = Boolean(children); + const [isCollapsed, setIsCollapsed] = useToggle(isNestedLayout); + const { t } = useTranslation(); const handleOrgChange = async (orgId: string) => { queryClient.removeQueries({ queryKey: authKeys.getAuthToken }); @@ -71,93 +81,171 @@ export const OrganizationLayout = () => { return ( <> -
    +
    {!window.isSecureContext && }
    -
    diff --git a/frontend/src/layouts/OrganizationLayout/components/MenuIconButton/MenuIconButton.tsx b/frontend/src/layouts/OrganizationLayout/components/MenuIconButton/MenuIconButton.tsx new file mode 100644 index 000000000..0a07a4ef3 --- /dev/null +++ b/frontend/src/layouts/OrganizationLayout/components/MenuIconButton/MenuIconButton.tsx @@ -0,0 +1,55 @@ +import { ComponentPropsWithRef, ElementType, useRef } from "react"; +import { DotLottie, DotLottieReact } from "@lottiefiles/dotlottie-react"; + +import { MenuItemProps } from "@app/components/v2"; +import { twMerge } from "tailwind-merge"; + +export const MenuIconButton = ({ + children, + icon, + className, + isDisabled, + isSelected, + as: Item = "button", + description, + // wrapping in forward ref with generic component causes the loss of ts definitions on props + inputRef, + ...props +}: MenuItemProps & ComponentPropsWithRef): JSX.Element => { + const iconRef = useRef(null); + return ( + iconRef.current?.play()} + onMouseLeave={() => iconRef.current?.stop()} + ref={inputRef} + {...props} + > +
    + {icon && ( +
    + { + iconRef.current = el; + }} + src={`/lotties/${icon}.json`} + loop + className="h-full w-full" + /> +
    + )} + {children} + + ); +}; diff --git a/frontend/src/layouts/OrganizationLayout/components/MenuIconButton/index.tsx b/frontend/src/layouts/OrganizationLayout/components/MenuIconButton/index.tsx new file mode 100644 index 000000000..6655c7091 --- /dev/null +++ b/frontend/src/layouts/OrganizationLayout/components/MenuIconButton/index.tsx @@ -0,0 +1 @@ +export { MenuIconButton } from "./MenuIconButton"; diff --git a/frontend/src/layouts/OrganizationLayout/components/SidebarFooter/SidebarFooter.tsx b/frontend/src/layouts/OrganizationLayout/components/SidebarFooter/SidebarFooter.tsx index 6a634a9c4..5d45850c6 100644 --- a/frontend/src/layouts/OrganizationLayout/components/SidebarFooter/SidebarFooter.tsx +++ b/frontend/src/layouts/OrganizationLayout/components/SidebarFooter/SidebarFooter.tsx @@ -1,25 +1,33 @@ import { faGithub, faSlack } from "@fortawesome/free-brands-svg-icons"; import { + faAnglesLeft, + faAnglesRight, + faArrowUpRightFromSquare, faBook, faEnvelope, faInfinity, faInfo, + faInfoCircle, faPlus, - faQuestion + faQuestion, + faUser } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { Link } from "@tanstack/react-router"; +import { Link, useNavigate } from "@tanstack/react-router"; import { WishForm } from "@app/components/features/WishForm"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, - DropdownMenuTrigger + DropdownMenuTrigger, + MenuItem } from "@app/components/v2"; import { envConfig } from "@app/config/env"; -import { useOrganization, useSubscription } from "@app/context"; -import { useGetOrgTrialUrl } from "@app/hooks/api"; +import { useOrganization, useSubscription, useUser } from "@app/context"; +import { useGetOrgTrialUrl, useLogoutUser } from "@app/hooks/api"; + +import { MenuIconButton } from "../MenuIconButton"; export const INFISICAL_SUPPORT_OPTIONS = [ [ @@ -44,40 +52,68 @@ export const INFISICAL_SUPPORT_OPTIONS = [ ] ]; -export const SidebarFooter = () => { +type Props = { + isCollapsed?: boolean; + onToggleSidebar: () => void; +}; + +export const SidebarFooter = ({ isCollapsed, onToggleSidebar }: Props) => { const { subscription } = useSubscription(); const { currentOrg } = useOrganization(); const { mutateAsync } = useGetOrgTrialUrl(); + const { user } = useUser(); + const navigate = useNavigate(); + const logout = useLogoutUser(); + const logOutUser = async () => { + try { + console.log("Logging out..."); + await logout.mutateAsync(); + navigate({ to: "/login" }); + } catch (error) { + console.error(error); + } + }; + return (
    {(window.location.origin.includes("https://app.infisical.com") || - window.location.origin.includes("https://gamma.infisical.com")) && } - -
    - - Invite people -
    - - - -
    - - Help & Support + window.location.origin.includes("https://gamma.infisical.com")) && + !isCollapsed && } + {!isCollapsed && ( + +
    + + Invite people
    + + )} + + + {isCollapsed ? ( + + + Support + + ) : ( +
    + + Help & Support +
    + )}
    {INFISICAL_SUPPORT_OPTIONS.map(([icon, text, url]) => ( @@ -125,6 +161,91 @@ export const SidebarFooter = () => {
    )} + {isCollapsed ? ( + + + + ) : ( + + + Collapse + + )} + + + {isCollapsed ? ( +
    + +
    + {user?.firstName?.charAt(0)} +
    +
    +
    + ) : ( +
    +
    + {user?.firstName?.charAt(0)} +
    +
    + {user?.firstName} {user?.lastName} +
    +
    + +
    +
    + )} +
    + +
    {user?.username}
    + + Personal Settings + + + + Documentation + + + + + + Join Slack Community + + + + {user?.superAdmin && ( + + + Server Admin Console + + + )} + + + Organization Admin Console + + +
    + + +
    ); }; diff --git a/frontend/src/layouts/OrganizationLayout/components/SidebarHeader/SidebarHeader.tsx b/frontend/src/layouts/OrganizationLayout/components/SidebarHeader/SidebarHeader.tsx index 98683c2e5..fe68e8bd4 100644 --- a/frontend/src/layouts/OrganizationLayout/components/SidebarHeader/SidebarHeader.tsx +++ b/frontend/src/layouts/OrganizationLayout/components/SidebarHeader/SidebarHeader.tsx @@ -1,6 +1,6 @@ -import { faAngleDown, faArrowUpRightFromSquare, faCheck } from "@fortawesome/free-solid-svg-icons"; +import { faCheck, faSort } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { Link, useNavigate } from "@tanstack/react-router"; +import { useNavigate } from "@tanstack/react-router"; import { Button, @@ -9,17 +9,18 @@ import { DropdownMenuItem, DropdownMenuTrigger } from "@app/components/v2"; -import { useOrganization, useUser } from "@app/context"; +import { useOrganization } from "@app/context"; import { useGetOrganizations, useLogoutUser } from "@app/hooks/api"; import { AuthMethod } from "@app/hooks/api/users/types"; +import { twMerge } from "tailwind-merge"; type Prop = { onChangeOrg: (orgId: string) => void; + isCollapsed?: boolean; }; -export const SidebarHeader = ({ onChangeOrg }: Prop) => { +export const SidebarHeader = ({ onChangeOrg, isCollapsed }: Prop) => { const { currentOrg } = useOrganization(); - const { user } = useUser(); const navigate = useNavigate(); const { data: orgs } = useGetOrganizations(); @@ -35,24 +36,42 @@ export const SidebarHeader = ({ onChangeOrg }: Prop) => { }; return ( -
    +
    - -
    -
    - {currentOrg?.name.charAt(0)} -
    -
    - {currentOrg?.name} -
    - + +
    + {isCollapsed ? ( +
    + {currentOrg?.name.charAt(0)} +
    + ) : ( + <> +
    + {currentOrg?.name.charAt(0)} +
    +
    +
    + {currentOrg?.name} +
    +
    Free Plan
    +
    + + + )}
    -
    {user?.username}
    +
    organizations
    {orgs?.map((org) => { return ( @@ -93,71 +112,6 @@ export const SidebarHeader = ({ onChangeOrg }: Prop) => { ); })} - -
    - - - - - -
    - {user?.firstName?.charAt(0)} - {user?.lastName && user?.lastName?.charAt(0)} -
    -
    - -
    {user?.username}
    - - Personal Settings - - - - Documentation - - - - - - Join Slack Community - - - - {user?.superAdmin && ( - - - Server Admin Console - - - )} - - - Organization Admin Console - -
    ); }; + +// +// +//
    +//
    +// {currentOrg?.name.charAt(0)} +//
    +//
    +// {currentOrg?.name} +//
    +// +//
    +//
    +// +//
    {user?.username}
    +// {orgs?.map((org) => { +// return ( +// +// +// +// ); +// })} +//
    +// +// +// +// +// +//
    +// {user?.firstName?.charAt(0)} +// {user?.lastName && user?.lastName?.charAt(0)} +//
    +//
    +// +//
    {user?.username}
    +// +// Personal Settings +// +// +// +// Documentation +// +// +// +// +// +// Join Slack Community +// +// +// +// {user?.superAdmin && ( +// +// +// Server Admin Console +// +// +// )} +// +// +// Organization Admin Console +// +// +//
    +// +// +// diff --git a/frontend/src/layouts/ProjectLayout/ProjectLayout.tsx b/frontend/src/layouts/ProjectLayout/ProjectLayout.tsx index 1f73202bd..6f21aa788 100644 --- a/frontend/src/layouts/ProjectLayout/ProjectLayout.tsx +++ b/frontend/src/layouts/ProjectLayout/ProjectLayout.tsx @@ -7,7 +7,7 @@ import { Link, Outlet, useNavigate, useRouter } from "@tanstack/react-router"; import { Mfa } from "@app/components/auth/Mfa"; import SecurityClient from "@app/components/utilities/SecurityClient"; -import { Menu, MenuItem } from "@app/components/v2"; +import { Menu, MenuGroup, MenuItem } from "@app/components/v2"; import { useUser, useWorkspace } from "@app/context"; import { useToggle } from "@app/hooks"; import { @@ -22,7 +22,6 @@ import { ProjectType } from "@app/hooks/api/workspace/types"; import { navigateUserToOrg } from "@app/pages/auth/LoginPage/Login.utils"; import { InsecureConnectionBanner } from "../OrganizationLayout/components/InsecureConnectionBanner"; -import { SidebarFooter } from "../OrganizationLayout/components/SidebarFooter"; import { ProjectSelect } from "./components/ProjectSelect"; import { SidebarHeader } from "./components/SidebarHeader"; @@ -105,144 +104,146 @@ export const ProjectLayout = () => {
    diff --git a/frontend/src/layouts/ProjectLayout/components/ProjectSelect/ProjectSelect.tsx b/frontend/src/layouts/ProjectLayout/components/ProjectSelect/ProjectSelect.tsx index 0ba943b7b..10d6889a5 100644 --- a/frontend/src/layouts/ProjectLayout/components/ProjectSelect/ProjectSelect.tsx +++ b/frontend/src/layouts/ProjectLayout/components/ProjectSelect/ProjectSelect.tsx @@ -167,7 +167,7 @@ export const ProjectSelect = () => { }, [workspaces, projectFavorites, currentWorkspace]); return ( -
    +

    {currentWorkspace?.type ? getProjectTitle(currentWorkspace?.type) : "Project"}

    diff --git a/frontend/src/pages/cert-manager/layout.tsx b/frontend/src/pages/cert-manager/layout.tsx index 9bd48a65c..a9a68de25 100644 --- a/frontend/src/pages/cert-manager/layout.tsx +++ b/frontend/src/pages/cert-manager/layout.tsx @@ -4,11 +4,16 @@ import { workspaceKeys } from "@app/hooks/api"; import { fetchUserProjectPermissions, roleQueryKeys } from "@app/hooks/api/roles/queries"; import { fetchWorkspaceById } from "@app/hooks/api/workspace/queries"; import { ProjectLayout } from "@app/layouts/ProjectLayout"; +import { OrganizationLayout } from "@app/layouts/OrganizationLayout"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout" )({ - component: ProjectLayout, + component: () => ( + + + + ), beforeLoad: async ({ params, context }) => { await context.queryClient.ensureQueryData({ queryKey: workspaceKeys.getWorkspaceById(params.projectId), diff --git a/frontend/src/pages/kms/layout.tsx b/frontend/src/pages/kms/layout.tsx index 7a8cfe7e3..5a78be252 100644 --- a/frontend/src/pages/kms/layout.tsx +++ b/frontend/src/pages/kms/layout.tsx @@ -3,12 +3,17 @@ import { createFileRoute } from "@tanstack/react-router"; import { workspaceKeys } from "@app/hooks/api"; import { fetchUserProjectPermissions, roleQueryKeys } from "@app/hooks/api/roles/queries"; import { fetchWorkspaceById } from "@app/hooks/api/workspace/queries"; +import { OrganizationLayout } from "@app/layouts/OrganizationLayout"; import { ProjectLayout } from "@app/layouts/ProjectLayout"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/kms/$projectId/_kms-layout" )({ - component: ProjectLayout, + component: () => ( + + + + ), beforeLoad: async ({ params, context }) => { await context.queryClient.ensureQueryData({ queryKey: workspaceKeys.getWorkspaceById(params.projectId), diff --git a/frontend/src/pages/organization/CertManagerOverviewPage/route.tsx b/frontend/src/pages/organization/CertManagerOverviewPage/route.tsx index a4e8bb63c..e939b3c3c 100644 --- a/frontend/src/pages/organization/CertManagerOverviewPage/route.tsx +++ b/frontend/src/pages/organization/CertManagerOverviewPage/route.tsx @@ -1,9 +1,21 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { CertManagerOverviewPage } from "./CertManagerOverviewPage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/organization/_layout/cert-manager/overview" )({ - component: CertManagerOverviewPage + component: CertManagerOverviewPage, + context: () => ({ + breadcrumbs: [ + { + label: "products", + link: linkOptions({ disabled: true, to: "/" }) + }, + { + label: "Cert Managers", + link: linkOptions({ to: "/organization/cert-manager/overview" }) + } + ] + }) }); diff --git a/frontend/src/pages/organization/KmsOverviewPage/route.tsx b/frontend/src/pages/organization/KmsOverviewPage/route.tsx index 3c9f96924..42ab611bd 100644 --- a/frontend/src/pages/organization/KmsOverviewPage/route.tsx +++ b/frontend/src/pages/organization/KmsOverviewPage/route.tsx @@ -1,9 +1,21 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { KmsOverviewPage } from "./KmsOverviewPage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/organization/_layout/kms/overview" )({ - component: KmsOverviewPage + component: KmsOverviewPage, + context: () => ({ + breadcrumbs: [ + { + label: "products", + link: linkOptions({ disabled: true, to: "/" }) + }, + { + label: "KMS", + link: linkOptions({ to: "/organization/kms/overview" }) + } + ] + }) }); diff --git a/frontend/src/pages/organization/SecretManagerOverviewPage/route.tsx b/frontend/src/pages/organization/SecretManagerOverviewPage/route.tsx index 30320f2b3..55f01e018 100644 --- a/frontend/src/pages/organization/SecretManagerOverviewPage/route.tsx +++ b/frontend/src/pages/organization/SecretManagerOverviewPage/route.tsx @@ -1,9 +1,21 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { SecretManagerOverviewPage } from "./SecretManagerOverviewPage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/organization/_layout/secret-manager/overview" )({ - component: SecretManagerOverviewPage + component: SecretManagerOverviewPage, + context: () => ({ + breadcrumbs: [ + { + label: "products", + link: linkOptions({ disabled: true, to: "/" }) + }, + { + label: "Secret Managers", + link: linkOptions({ to: "/organization/secret-manager/overview" }) + } + ] + }) }); diff --git a/frontend/src/pages/organization/SshOverviewPage/route.tsx b/frontend/src/pages/organization/SshOverviewPage/route.tsx index 4fd99a812..e23f9bab3 100644 --- a/frontend/src/pages/organization/SshOverviewPage/route.tsx +++ b/frontend/src/pages/organization/SshOverviewPage/route.tsx @@ -1,9 +1,21 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { SshOverviewPage } from "./SshOverviewPage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/organization/_layout/ssh/overview" )({ - component: SshOverviewPage + component: SshOverviewPage, + context: () => ({ + breadcrumbs: [ + { + label: "products", + link: linkOptions({ disabled: true, to: "/" }) + }, + { + label: "SSH", + link: linkOptions({ to: "/organization/ssh/overview" }) + } + ] + }) }); diff --git a/frontend/src/pages/secret-manager/layout.tsx b/frontend/src/pages/secret-manager/layout.tsx index 1ead7191d..824c341b6 100644 --- a/frontend/src/pages/secret-manager/layout.tsx +++ b/frontend/src/pages/secret-manager/layout.tsx @@ -4,11 +4,16 @@ import { workspaceKeys } from "@app/hooks/api"; import { fetchUserProjectPermissions, roleQueryKeys } from "@app/hooks/api/roles/queries"; import { fetchWorkspaceById } from "@app/hooks/api/workspace/queries"; import { ProjectLayout } from "@app/layouts/ProjectLayout"; +import { OrganizationLayout } from "@app/layouts/OrganizationLayout"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout" )({ - component: ProjectLayout, + component: () => ( + + + + ), beforeLoad: async ({ params, context }) => { await context.queryClient.ensureQueryData({ queryKey: workspaceKeys.getWorkspaceById(params.projectId), diff --git a/frontend/src/pages/ssh/layout.tsx b/frontend/src/pages/ssh/layout.tsx index 4ab53124c..d305bf3d2 100644 --- a/frontend/src/pages/ssh/layout.tsx +++ b/frontend/src/pages/ssh/layout.tsx @@ -4,11 +4,16 @@ import { workspaceKeys } from "@app/hooks/api"; import { fetchUserProjectPermissions, roleQueryKeys } from "@app/hooks/api/roles/queries"; import { fetchWorkspaceById } from "@app/hooks/api/workspace/queries"; import { ProjectLayout } from "@app/layouts/ProjectLayout"; +import { OrganizationLayout } from "@app/layouts/OrganizationLayout"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout" )({ - component: ProjectLayout, + component: () => ( + + + + ), beforeLoad: async ({ params, context }) => { await context.queryClient.ensureQueryData({ queryKey: workspaceKeys.getWorkspaceById(params.projectId), From 338961480c687ea7892b14a7f05fe15a08cd27ef Mon Sep 17 00:00:00 2001 From: = Date: Tue, 14 Jan 2025 21:46:17 +0530 Subject: [PATCH 02/10] feat: resolved accessibility issue with menu --- frontend/src/components/v2/Menu/Menu.tsx | 62 +++++++++++------------- 1 file changed, 28 insertions(+), 34 deletions(-) diff --git a/frontend/src/components/v2/Menu/Menu.tsx b/frontend/src/components/v2/Menu/Menu.tsx index 29076af18..ea9643eb0 100644 --- a/frontend/src/components/v2/Menu/Menu.tsx +++ b/frontend/src/components/v2/Menu/Menu.tsx @@ -30,7 +30,7 @@ export const MenuItem = ({ className, isDisabled, isSelected, - as: Item = "button", + as: Item = "div", description, // wrapping in forward ref with generic component causes the loss of ts definitions on props inputRef, @@ -38,46 +38,40 @@ export const MenuItem = ({ }: MenuItemProps & ComponentPropsWithRef): JSX.Element => { const iconRef = useRef(null); return ( -
  • iconRef.current?.play()} - onMouseLeave={() => iconRef.current?.stop()} + iconRef.current?.play()} + onMouseLeave={() => iconRef.current?.stop()} + {...props} > - - -
    + {icon && ( +
    + { + iconRef.current = el; + }} + src={`/lotties/${icon}.json`} + loop + className="h-full w-full" /> - {icon && ( -
    - { - iconRef.current = el; - }} - src={`/lotties/${icon}.json`} - loop - className="h-full w-full" - /> -
    - )} - {children} - - {description && {description}} - -
  • +
    + )} + {children} + {description && {description}} + ); }; From 1b1fe2a70093244c693575347eab3685d98fcb79 Mon Sep 17 00:00:00 2001 From: = Date: Wed, 15 Jan 2025 19:03:24 +0530 Subject: [PATCH 03/10] feat: completed org breadcrumbs --- .../components/v2/Breadcrumb/Breadcrumb.tsx | 98 +++++++ .../src/components/v2/Breadcrumb/index.tsx | 1 + .../components/v2/PageHeader/PageHeader.tsx | 21 ++ .../src/components/v2/PageHeader/index.tsx | 1 + frontend/src/components/v2/index.tsx | 2 + .../OrganizationLayout/OrganizationLayout.tsx | 45 +++- .../AccessManagementPage.tsx | 9 +- .../AccessManagementPage/route.tsx | 15 +- .../organization/AdminPage/AdminPage.tsx | 14 +- .../pages/organization/AdminPage/route.tsx | 15 +- .../AuditLogsPage/AuditLogsPage.tsx | 11 +- .../organization/AuditLogsPage/route.tsx | 15 +- .../CertManagerOverviewPage/route.tsx | 2 +- .../GroupDetailsByIDPage.tsx | 30 +-- .../GroupDetailsByIDPage/route.tsx | 19 +- .../IdentityDetailsByIDPage.tsx | 28 +- .../IdentityDetailsByIDPage/route.tsx | 19 +- .../RoleByIDPage/RoleByIDPage.tsx | 28 +- .../pages/organization/RoleByIDPage/route.tsx | 19 +- .../SecretManagerOverviewPage.tsx | 30 +-- .../SecretManagerOverviewPage/route.tsx | 2 +- .../SecretScanningPage/SecretScanningPage.tsx | 14 +- .../organization/SecretScanningPage/route.tsx | 17 +- .../SecretSharingPage/SecretSharingPage.tsx | 42 ++- .../organization/SecretSharingPage/route.tsx | 15 +- .../SettingsPage/SettingsPage.tsx | 9 +- .../pages/organization/SettingsPage/route.tsx | 15 +- .../UserDetailsByIDPage.tsx | 254 +++++++++--------- .../UserDetailsByIDPage/route.tsx | 19 +- 29 files changed, 514 insertions(+), 295 deletions(-) create mode 100644 frontend/src/components/v2/Breadcrumb/Breadcrumb.tsx create mode 100644 frontend/src/components/v2/Breadcrumb/index.tsx create mode 100644 frontend/src/components/v2/PageHeader/PageHeader.tsx create mode 100644 frontend/src/components/v2/PageHeader/index.tsx diff --git a/frontend/src/components/v2/Breadcrumb/Breadcrumb.tsx b/frontend/src/components/v2/Breadcrumb/Breadcrumb.tsx new file mode 100644 index 000000000..cd0b1781b --- /dev/null +++ b/frontend/src/components/v2/Breadcrumb/Breadcrumb.tsx @@ -0,0 +1,98 @@ +import * as React from "react"; +import { faChevronRight, faEllipsis } from "@fortawesome/free-solid-svg-icons"; +import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +import { twMerge } from "tailwind-merge"; + +const Breadcrumb = React.forwardRef< + HTMLElement, + React.ComponentPropsWithoutRef<"nav"> & { + separator?: React.ReactNode; + } +>(({ ...props }, ref) =>
    diff --git a/frontend/src/pages/organization/AccessManagementPage/AccessManagementPage.tsx b/frontend/src/pages/organization/AccessManagementPage/AccessManagementPage.tsx index 264b3e5b7..2aa8f2748 100644 --- a/frontend/src/pages/organization/AccessManagementPage/AccessManagementPage.tsx +++ b/frontend/src/pages/organization/AccessManagementPage/AccessManagementPage.tsx @@ -2,7 +2,7 @@ import { Helmet } from "react-helmet"; import { useTranslation } from "react-i18next"; import { useNavigate, useSearch } from "@tanstack/react-router"; -import { Tab, TabList, TabPanel, Tabs } from "@app/components/v2"; +import { PageHeader, Tab, TabList, TabPanel, Tabs } from "@app/components/v2"; import { ROUTE_PATHS } from "@app/const/routes"; import { OrgPermissionActions, OrgPermissionSubjects, useOrgPermission } from "@app/context"; import { OrgAccessControlTabSections } from "@app/types/org"; @@ -59,8 +59,11 @@ export const AccessManagementPage = () => { {t("common.head-title", { title: t("settings.org.title") })} -
    -

    Organization Access Control

    +
    + {tabSections diff --git a/frontend/src/pages/organization/AccessManagementPage/route.tsx b/frontend/src/pages/organization/AccessManagementPage/route.tsx index 82aa55681..7dffb1495 100644 --- a/frontend/src/pages/organization/AccessManagementPage/route.tsx +++ b/frontend/src/pages/organization/AccessManagementPage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute, stripSearchParams } from "@tanstack/react-router"; +import { createFileRoute, linkOptions, stripSearchParams } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -19,5 +19,16 @@ export const Route = createFileRoute( search: { // strip default values middlewares: [stripSearchParams({ action: "" })] - } + }, + context: () => ({ + breadcrumbs: [ + { + label: "home", + link: linkOptions({ to: "/" }) + }, + { + label: "access control" + } + ] + }) }); diff --git a/frontend/src/pages/organization/AdminPage/AdminPage.tsx b/frontend/src/pages/organization/AdminPage/AdminPage.tsx index f170f1d52..5e1ac12c9 100644 --- a/frontend/src/pages/organization/AdminPage/AdminPage.tsx +++ b/frontend/src/pages/organization/AdminPage/AdminPage.tsx @@ -2,7 +2,7 @@ import { useState } from "react"; import { Helmet } from "react-helmet"; import { useTranslation } from "react-i18next"; -import { Tab, TabList, TabPanel, Tabs } from "@app/components/v2"; +import { PageHeader, Tab, TabList, TabPanel, Tabs } from "@app/components/v2"; import { OrgAdminProjects } from "./components/OrgAdminProjects"; @@ -17,13 +17,13 @@ export const AdminPage = () => { <> {t("common.head-title", { title: t("settings.org.title") })} - -
    -
    -
    -

    Organization Admin Console

    -
    +
    +
    + setActiveTab(el as TabSections)}> Projects diff --git a/frontend/src/pages/organization/AdminPage/route.tsx b/frontend/src/pages/organization/AdminPage/route.tsx index 0c660fb19..b195c778e 100644 --- a/frontend/src/pages/organization/AdminPage/route.tsx +++ b/frontend/src/pages/organization/AdminPage/route.tsx @@ -1,9 +1,20 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { AdminPage } from "./AdminPage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/organization/_layout/admin" )({ - component: AdminPage + component: AdminPage, + context: () => ({ + breadcrumbs: [ + { + label: "home", + link: linkOptions({ to: "/organization/secret-manager/overview" }) + }, + { + label: "Admin Console" + } + ] + }) }); diff --git a/frontend/src/pages/organization/AuditLogsPage/AuditLogsPage.tsx b/frontend/src/pages/organization/AuditLogsPage/AuditLogsPage.tsx index 9db066248..688a60457 100644 --- a/frontend/src/pages/organization/AuditLogsPage/AuditLogsPage.tsx +++ b/frontend/src/pages/organization/AuditLogsPage/AuditLogsPage.tsx @@ -1,6 +1,7 @@ import { Helmet } from "react-helmet"; import { LogsSection } from "./components"; +import { PageHeader } from "@app/components/v2"; export const AuditLogsPage = () => { return ( @@ -11,11 +12,11 @@ export const AuditLogsPage = () => {
    -
    -
    -

    Audit Logs

    -
    -
    +
    +
    diff --git a/frontend/src/pages/organization/AuditLogsPage/route.tsx b/frontend/src/pages/organization/AuditLogsPage/route.tsx index 5123ffe64..0437b1271 100644 --- a/frontend/src/pages/organization/AuditLogsPage/route.tsx +++ b/frontend/src/pages/organization/AuditLogsPage/route.tsx @@ -1,9 +1,20 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { AuditLogsPage } from "./AuditLogsPage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/organization/_layout/audit-logs" )({ - component: AuditLogsPage + component: AuditLogsPage, + context: () => ({ + breadcrumbs: [ + { + label: "home", + link: linkOptions({ to: "/organization/secret-manager/overview" }) + }, + { + label: "Audit Logs" + } + ] + }) }); diff --git a/frontend/src/pages/organization/CertManagerOverviewPage/route.tsx b/frontend/src/pages/organization/CertManagerOverviewPage/route.tsx index e939b3c3c..1a1c17fc9 100644 --- a/frontend/src/pages/organization/CertManagerOverviewPage/route.tsx +++ b/frontend/src/pages/organization/CertManagerOverviewPage/route.tsx @@ -13,7 +13,7 @@ export const Route = createFileRoute( link: linkOptions({ disabled: true, to: "/" }) }, { - label: "Cert Managers", + label: "Cert Management", link: linkOptions({ to: "/organization/cert-manager/overview" }) } ] diff --git a/frontend/src/pages/organization/GroupDetailsByIDPage/GroupDetailsByIDPage.tsx b/frontend/src/pages/organization/GroupDetailsByIDPage/GroupDetailsByIDPage.tsx index cf2ef0fad..4cda2c61d 100644 --- a/frontend/src/pages/organization/GroupDetailsByIDPage/GroupDetailsByIDPage.tsx +++ b/frontend/src/pages/organization/GroupDetailsByIDPage/GroupDetailsByIDPage.tsx @@ -1,7 +1,5 @@ import { Helmet } from "react-helmet"; import { useTranslation } from "react-i18next"; -import { faChevronLeft, faEllipsis } from "@fortawesome/free-solid-svg-icons"; -import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { useNavigate, useParams } from "@tanstack/react-router"; import { twMerge } from "tailwind-merge"; @@ -15,6 +13,7 @@ import { DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, + PageHeader, Spinner, Tooltip } from "@app/components/v2"; @@ -83,34 +82,17 @@ const Page = () => { return (
    {data && ( -
    - -
    -

    {data.group.name}

    +
    +
    - +
    - + {(isAllowed) => ( {
    -
    +
    diff --git a/frontend/src/pages/organization/GroupDetailsByIDPage/route.tsx b/frontend/src/pages/organization/GroupDetailsByIDPage/route.tsx index 7814110e6..f5c43cb77 100644 --- a/frontend/src/pages/organization/GroupDetailsByIDPage/route.tsx +++ b/frontend/src/pages/organization/GroupDetailsByIDPage/route.tsx @@ -1,9 +1,24 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { GroupDetailsByIDPage } from "./GroupDetailsByIDPage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/organization/_layout/groups/$groupId" )({ - component: GroupDetailsByIDPage + component: GroupDetailsByIDPage, + context: () => ({ + breadcrumbs: [ + { + label: "home", + link: linkOptions({ to: "/organization/secret-manager/overview" }) + }, + { + label: "Access Control", + link: linkOptions({ to: "/organization/access-management" }) + }, + { + label: "groups" + } + ] + }) }); diff --git a/frontend/src/pages/organization/IdentityDetailsByIDPage/IdentityDetailsByIDPage.tsx b/frontend/src/pages/organization/IdentityDetailsByIDPage/IdentityDetailsByIDPage.tsx index 246cefce1..5fff4d474 100644 --- a/frontend/src/pages/organization/IdentityDetailsByIDPage/IdentityDetailsByIDPage.tsx +++ b/frontend/src/pages/organization/IdentityDetailsByIDPage/IdentityDetailsByIDPage.tsx @@ -1,8 +1,6 @@ import { useState } from "react"; import { Helmet } from "react-helmet"; import { useTranslation } from "react-i18next"; -import { faChevronLeft, faEllipsis } from "@fortawesome/free-solid-svg-icons"; -import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { useNavigate, useParams } from "@tanstack/react-router"; import { twMerge } from "tailwind-merge"; @@ -16,6 +14,7 @@ import { DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, + PageHeader, Tooltip } from "@app/components/v2"; import { ROUTE_PATHS } from "@app/const/routes"; @@ -165,30 +164,13 @@ const Page = () => { return (
    {data && ( -
    - -
    -

    {data.identity.name}

    +
    +
    - +
    @@ -257,7 +239,7 @@ const Page = () => {
    -
    +
    diff --git a/frontend/src/pages/organization/IdentityDetailsByIDPage/route.tsx b/frontend/src/pages/organization/IdentityDetailsByIDPage/route.tsx index de43184d3..58a50bd16 100644 --- a/frontend/src/pages/organization/IdentityDetailsByIDPage/route.tsx +++ b/frontend/src/pages/organization/IdentityDetailsByIDPage/route.tsx @@ -1,9 +1,24 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { IdentityDetailsByIDPage } from "./IdentityDetailsByIDPage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/organization/_layout/identities/$identityId" )({ - component: IdentityDetailsByIDPage + component: IdentityDetailsByIDPage, + context: () => ({ + breadcrumbs: [ + { + label: "home", + link: linkOptions({ to: "/organization/secret-manager/overview" }) + }, + { + label: "Access Control", + link: linkOptions({ to: "/organization/access-management" }) + }, + { + label: "identities" + } + ] + }) }); diff --git a/frontend/src/pages/organization/RoleByIDPage/RoleByIDPage.tsx b/frontend/src/pages/organization/RoleByIDPage/RoleByIDPage.tsx index a8443957f..a3165709a 100644 --- a/frontend/src/pages/organization/RoleByIDPage/RoleByIDPage.tsx +++ b/frontend/src/pages/organization/RoleByIDPage/RoleByIDPage.tsx @@ -1,7 +1,5 @@ import { Helmet } from "react-helmet"; import { useTranslation } from "react-i18next"; -import { faChevronLeft, faEllipsis } from "@fortawesome/free-solid-svg-icons"; -import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { useNavigate, useParams } from "@tanstack/react-router"; import { twMerge } from "tailwind-merge"; @@ -14,6 +12,7 @@ import { DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, + PageHeader, Tooltip } from "@app/components/v2"; import { ROUTE_PATHS } from "@app/const/routes"; @@ -78,31 +77,14 @@ export const Page = () => { return (
    {data && ( -
    - -
    -

    {data.name}

    +
    + {isCustomRole && (
    - +
    @@ -144,7 +126,7 @@ export const Page = () => {
    )} -
    +
    diff --git a/frontend/src/pages/organization/RoleByIDPage/route.tsx b/frontend/src/pages/organization/RoleByIDPage/route.tsx index d0d65f661..9ff1f4f4d 100644 --- a/frontend/src/pages/organization/RoleByIDPage/route.tsx +++ b/frontend/src/pages/organization/RoleByIDPage/route.tsx @@ -1,9 +1,24 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { RoleByIDPage } from "./RoleByIDPage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/organization/_layout/roles/$roleId" )({ - component: RoleByIDPage + component: RoleByIDPage, + context: () => ({ + breadcrumbs: [ + { + label: "home", + link: linkOptions({ to: "/organization/secret-manager/overview" }) + }, + { + label: "Access Control", + link: linkOptions({ to: "/organization/access-management" }) + }, + { + label: "RBAC" + } + ] + }) }); diff --git a/frontend/src/pages/organization/SecretManagerOverviewPage/SecretManagerOverviewPage.tsx b/frontend/src/pages/organization/SecretManagerOverviewPage/SecretManagerOverviewPage.tsx index 1588ae970..dc89362b5 100644 --- a/frontend/src/pages/organization/SecretManagerOverviewPage/SecretManagerOverviewPage.tsx +++ b/frontend/src/pages/organization/SecretManagerOverviewPage/SecretManagerOverviewPage.tsx @@ -22,7 +22,15 @@ import { UpgradePlanModal } from "@app/components/license/UpgradePlanModal"; import { createNotification } from "@app/components/notifications"; import { OrgPermissionCan } from "@app/components/permissions"; import { NewProjectModal } from "@app/components/projects"; -import { Button, IconButton, Input, Pagination, Skeleton, Tooltip } from "@app/components/v2"; +import { + Button, + IconButton, + Input, + PageHeader, + Pagination, + Skeleton, + Tooltip +} from "@app/components/v2"; import { OrgPermissionActions, OrgPermissionSubjects, @@ -50,13 +58,6 @@ enum ProjectOrderBy { Name = "name" } -const formatTitle = (type: ProjectType) => { - if (type === ProjectType.SecretManager) return "Secret Management"; - if (type === ProjectType.CertificateManager) return "Cert Management"; - if (type === ProjectType.KMS) return "Key Management"; - return "SSH"; -}; - const formatDescription = (type: ProjectType) => { if (type === ProjectType.SecretManager) return "Securely store, manage, and rotate various application secrets, such as database credentials, API keys, etc."; @@ -371,7 +372,7 @@ export const ProductOverviewPage = ({ type }: Props) => { {!serverDetails?.redisConfigured && ( -
    +

    Announcements

    {
    )} -
    -
    -

    {formatTitle(type)}

    -
    -
    -

    {formatDescription(type)}

    -
    -
    +
    + +
    -
    -
    Secret Scanning
    -
    - Automatically monitor your GitHub activity and prevent secret leaks -
    +
    + {config.isSecretScanningDisabled && ( We are working on improving the performance of secret scanning due to increased @@ -210,4 +210,4 @@ export const SecretScanningPage = withPermission( action: OrgPermissionActions.Read, subject: OrgPermissionSubjects.SecretScanning } -); +); \ No newline at end of file diff --git a/frontend/src/pages/organization/SecretScanningPage/route.tsx b/frontend/src/pages/organization/SecretScanningPage/route.tsx index d77c728fa..27dbece84 100644 --- a/frontend/src/pages/organization/SecretScanningPage/route.tsx +++ b/frontend/src/pages/organization/SecretScanningPage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute, stripSearchParams } from "@tanstack/react-router"; +import { createFileRoute, linkOptions, stripSearchParams } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -12,8 +12,8 @@ const SecretScanningQueryParams = z.object({ export const Route = createFileRoute( "/_authenticate/_inject-org-details/organization/_layout/secret-scanning" )({ - component: SecretScanningPage, validateSearch: zodValidator(SecretScanningQueryParams), + component: SecretScanningPage, search: { middlewares: [ stripSearchParams({ @@ -21,5 +21,16 @@ export const Route = createFileRoute( state: "" }) ] - } + }, + context: () => ({ + breadcrumbs: [ + { + label: "home", + link: linkOptions({ to: "/" }) + }, + { + label: "secret scanning" + } + ] + }) }); diff --git a/frontend/src/pages/organization/SecretSharingPage/SecretSharingPage.tsx b/frontend/src/pages/organization/SecretSharingPage/SecretSharingPage.tsx index f5aa294f8..8270d9cdc 100644 --- a/frontend/src/pages/organization/SecretSharingPage/SecretSharingPage.tsx +++ b/frontend/src/pages/organization/SecretSharingPage/SecretSharingPage.tsx @@ -4,6 +4,7 @@ import { faArrowUpRightFromSquare } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { ShareSecretSection } from "./components"; +import { PageHeader } from "@app/components/v2"; export const SecretSharingPage = () => { const { t } = useTranslation(); @@ -18,28 +19,25 @@ export const SecretSharingPage = () => {
    -
    -
    -
    -

    Secret Sharing

    -

    Share secrets securely using a shareable link

    -
    - -
    +
    diff --git a/frontend/src/pages/organization/SecretSharingPage/route.tsx b/frontend/src/pages/organization/SecretSharingPage/route.tsx index fec2f8925..1389edd40 100644 --- a/frontend/src/pages/organization/SecretSharingPage/route.tsx +++ b/frontend/src/pages/organization/SecretSharingPage/route.tsx @@ -1,9 +1,20 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { SecretSharingPage } from "./SecretSharingPage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/organization/_layout/secret-sharing" )({ - component: SecretSharingPage + component: SecretSharingPage, + context: () => ({ + breadcrumbs: [ + { + label: "home", + link: linkOptions({ to: "/" }) + }, + { + label: "secret sharing" + } + ] + }) }); diff --git a/frontend/src/pages/organization/SettingsPage/SettingsPage.tsx b/frontend/src/pages/organization/SettingsPage/SettingsPage.tsx index 32ee0ae1c..454c7c100 100644 --- a/frontend/src/pages/organization/SettingsPage/SettingsPage.tsx +++ b/frontend/src/pages/organization/SettingsPage/SettingsPage.tsx @@ -2,6 +2,7 @@ import { Helmet } from "react-helmet"; import { useTranslation } from "react-i18next"; import { OrgTabGroup } from "./components"; +import { PageHeader } from "@app/components/v2"; export const SettingsPage = () => { const { t } = useTranslation(); @@ -11,11 +12,9 @@ export const SettingsPage = () => { {t("common.head-title", { title: t("settings.org.title") })} -
    -
    -
    -

    {t("settings.org.title")}

    -
    +
    +
    +
    diff --git a/frontend/src/pages/organization/SettingsPage/route.tsx b/frontend/src/pages/organization/SettingsPage/route.tsx index d19733c89..40ac5b53f 100644 --- a/frontend/src/pages/organization/SettingsPage/route.tsx +++ b/frontend/src/pages/organization/SettingsPage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute, stripSearchParams } from "@tanstack/react-router"; +import { createFileRoute, linkOptions, stripSearchParams } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -15,5 +15,16 @@ export const Route = createFileRoute( validateSearch: zodValidator(SettingsPageQueryParams), search: { middlewares: [stripSearchParams({ selectedTab: "" })] - } + }, + context: () => ({ + breadcrumbs: [ + { + label: "home", + link: linkOptions({ to: "/" }) + }, + { + label: "Settings" + } + ] + }) }); diff --git a/frontend/src/pages/organization/UserDetailsByIDPage/UserDetailsByIDPage.tsx b/frontend/src/pages/organization/UserDetailsByIDPage/UserDetailsByIDPage.tsx index 2a4e9ca57..ed0b46888 100644 --- a/frontend/src/pages/organization/UserDetailsByIDPage/UserDetailsByIDPage.tsx +++ b/frontend/src/pages/organization/UserDetailsByIDPage/UserDetailsByIDPage.tsx @@ -1,7 +1,5 @@ import { Helmet } from "react-helmet"; import { useTranslation } from "react-i18next"; -import { faChevronLeft, faEllipsis } from "@fortawesome/free-solid-svg-icons"; -import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { useNavigate, useParams } from "@tanstack/react-router"; import { twMerge } from "tailwind-merge"; @@ -15,6 +13,7 @@ import { DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, + PageHeader, Tooltip } from "@app/components/v2"; import { ROUTE_PATHS } from "@app/const/routes"; @@ -118,143 +117,132 @@ const Page = withPermission( return (
    {membership && ( -
    - -
    -

    - {membership.user.firstName || membership.user.lastName +

    + - {userId !== membership.user.id && ( - - -
    - - - -
    -
    - - - {(isAllowed) => ( - - handlePopUpOpen("orgMembership", { - membershipId: membership.id, - role: membership.role, - roleId: membership.roleId - }) - } - disabled={!isAllowed} - > - Edit User - - )} - - - {(isAllowed) => ( - { - if (currentOrg?.scimEnabled) { - createNotification({ - text: "You cannot manage users from Infisical when SCIM is enabled for your organization", - type: "error" - }); - return; + : "-" + } + > +
    + {userId !== membership.user.id && ( + + +
    + + + +
    +
    + + + {(isAllowed) => ( + + handlePopUpOpen("orgMembership", { + membershipId: membership.id, + role: membership.role, + roleId: membership.roleId + }) } - - if (!membership.isActive) { - // activate user - await updateOrgMembership({ - organizationId: orgId, - membershipId, - isActive: true - }); - - return; + disabled={!isAllowed} + > + Edit User + + )} + + + {(isAllowed) => ( + { + if (currentOrg?.scimEnabled) { + createNotification({ + text: "You cannot manage users from Infisical when SCIM is enabled for your organization", + type: "error" + }); + return; + } - // deactivate user - handlePopUpOpen("deactivateMember", { - orgMembershipId: membershipId, - username: membership.user.username - }); - }} - disabled={!isAllowed} - > - {`${membership.isActive ? "Deactivate" : "Activate"} User`} - - )} - - - {(isAllowed) => ( - { - if (currentOrg?.scimEnabled) { - createNotification({ - text: "You cannot manage users from Infisical when SCIM is enabled for your organization", - type: "error" + if (!membership.isActive) { + // activate user + await updateOrgMembership({ + organizationId: orgId, + membershipId, + isActive: true + }); + + return; + } + + // deactivate user + handlePopUpOpen("deactivateMember", { + orgMembershipId: membershipId, + username: membership.user.username }); - return; - } + }} + disabled={!isAllowed} + > + {`${membership.isActive ? "Deactivate" : "Activate"} User`} + + )} + + + {(isAllowed) => ( + { + if (currentOrg?.scimEnabled) { + createNotification({ + text: "You cannot manage users from Infisical when SCIM is enabled for your organization", + type: "error" + }); + return; + } - handlePopUpOpen("removeMember", { - orgMembershipId: membershipId, - username: membership.user.username - }); - }} - disabled={!isAllowed} - > - Remove User - - )} - - -
    - )} -
    + handlePopUpOpen("removeMember", { + orgMembershipId: membershipId, + username: membership.user.username + }); + }} + disabled={!isAllowed} + > + Remove User +
    + )} +
    +
    +
    + )} +
    +
    diff --git a/frontend/src/pages/organization/UserDetailsByIDPage/route.tsx b/frontend/src/pages/organization/UserDetailsByIDPage/route.tsx index 37bac8f73..4806c9124 100644 --- a/frontend/src/pages/organization/UserDetailsByIDPage/route.tsx +++ b/frontend/src/pages/organization/UserDetailsByIDPage/route.tsx @@ -1,9 +1,24 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { UserDetailsByIDPage } from "./UserDetailsByIDPage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/organization/_layout/members/$membershipId" )({ - component: UserDetailsByIDPage + component: UserDetailsByIDPage, + context: () => ({ + breadcrumbs: [ + { + label: "home", + link: linkOptions({ to: "/organization/secret-manager/overview" }) + }, + { + label: "Access Control", + link: linkOptions({ to: "/organization/access-management" }) + }, + { + label: "Users" + } + ] + }) }); From 9df8cf60ef2e7b9e44242b47af1526d1a06b707f Mon Sep 17 00:00:00 2001 From: = Date: Thu, 16 Jan 2025 07:35:04 +0530 Subject: [PATCH 04/10] feat: finished breadcrumbs for all project types except secret manager --- .../layouts/ProjectLayout/ProjectLayout.tsx | 104 +++++++----------- .../CertAuthDetailsByIDPage.tsx | 28 +---- .../CertAuthDetailsByIDPage/route.tsx | 20 +++- .../CertificatesPage/CertificatesPage.tsx | 8 +- .../PkiCollectionDetailsByIDPage.tsx | 30 +---- .../PkiCollectionDetailsByIDPage/routes.tsx | 20 +++- .../SettingsPage/SettingsPage.tsx | 9 +- .../pages/cert-manager/SettingsPage/route.tsx | 12 +- frontend/src/pages/cert-manager/layout.tsx | 27 +++-- .../pages/kms/OverviewPage/OverviewPage.tsx | 13 +-- .../pages/kms/SettingsPage/SettingsPage.tsx | 9 +- frontend/src/pages/kms/SettingsPage/route.tsx | 12 +- frontend/src/pages/kms/layout.tsx | 27 +++-- .../pages/organization/RoleByIDPage/route.tsx | 2 +- .../AccessControlPage/AccessControlPage.tsx | 12 +- .../AccessControlPage/route-cert-manager.tsx | 20 +++- .../project/AccessControlPage/route-kms.tsx | 20 +++- .../route-secret-manager.tsx | 20 +++- .../project/AccessControlPage/route-ssh.tsx | 20 +++- .../IdentityDetailsByIDPage.tsx | 99 +++++------------ .../route-cert-manager.tsx | 23 +++- .../IdentityDetailsByIDPage/route-kms.tsx | 23 +++- .../route-secret-manager.tsx | 23 +++- .../IdentityDetailsByIDPage/route-ssh.tsx | 23 +++- .../MemberDetailsByIDPage.tsx | 103 +++++------------ .../route-cert-manager.tsx | 23 +++- .../MemberDetailsByIDPage/route-kms.tsx | 23 +++- .../route-secret-manager.tsx | 23 +++- .../MemberDetailsByIDPage/route-ssh.tsx | 23 +++- .../RoleDetailsBySlugPage.tsx | 33 +----- .../route-cert-manager.tsx | 23 +++- .../RoleDetailsBySlugPage/route-kms.tsx | 23 +++- .../route-secret-manager.tsx | 23 +++- .../RoleDetailsBySlugPage/route-ssh.tsx | 23 +++- .../SettingsPage/SettingsPage.tsx | 9 +- .../secret-manager/SettingsPage/route.tsx | 12 +- frontend/src/pages/secret-manager/layout.tsx | 27 +++-- .../pages/ssh/OverviewPage/OverviewPage.tsx | 10 +- .../pages/ssh/SettingsPage/SettingsPage.tsx | 8 +- frontend/src/pages/ssh/SettingsPage/route.tsx | 12 +- .../pages/ssh/SshCaByIDPage/SshCaByIDPage.tsx | 30 +---- .../src/pages/ssh/SshCaByIDPage/route.tsx | 20 +++- frontend/src/pages/ssh/layout.tsx | 27 +++-- 43 files changed, 657 insertions(+), 422 deletions(-) diff --git a/frontend/src/layouts/ProjectLayout/ProjectLayout.tsx b/frontend/src/layouts/ProjectLayout/ProjectLayout.tsx index 6f21aa788..62b94bd32 100644 --- a/frontend/src/layouts/ProjectLayout/ProjectLayout.tsx +++ b/frontend/src/layouts/ProjectLayout/ProjectLayout.tsx @@ -1,47 +1,34 @@ -import { useState } from "react"; import { useTranslation } from "react-i18next"; import { faMobile } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { useQueryClient } from "@tanstack/react-query"; -import { Link, Outlet, useNavigate, useRouter } from "@tanstack/react-router"; +import { Link, Outlet, useRouterState } from "@tanstack/react-router"; -import { Mfa } from "@app/components/auth/Mfa"; -import SecurityClient from "@app/components/utilities/SecurityClient"; -import { Menu, MenuGroup, MenuItem } from "@app/components/v2"; -import { useUser, useWorkspace } from "@app/context"; -import { useToggle } from "@app/hooks"; import { - useGetAccessRequestsCount, - useGetSecretApprovalRequestCount, - useSelectOrganization, - workspaceKeys -} from "@app/hooks/api"; -import { authKeys } from "@app/hooks/api/auth/queries"; -import { MfaMethod } from "@app/hooks/api/auth/types"; + Breadcrumb, + BreadcrumbItem, + BreadcrumbLink, + BreadcrumbList, + BreadcrumbPage, + BreadcrumbSeparator, + Menu, + MenuGroup, + MenuItem +} from "@app/components/v2"; +import { useWorkspace } from "@app/context"; +import { useGetAccessRequestsCount, useGetSecretApprovalRequestCount } from "@app/hooks/api"; import { ProjectType } from "@app/hooks/api/workspace/types"; -import { navigateUserToOrg } from "@app/pages/auth/LoginPage/Login.utils"; import { InsecureConnectionBanner } from "../OrganizationLayout/components/InsecureConnectionBanner"; import { ProjectSelect } from "./components/ProjectSelect"; -import { SidebarHeader } from "./components/SidebarHeader"; // This is a generic layout shared by all types of projects. // If the product layout differs significantly, create a new layout as needed. export const ProjectLayout = () => { const { currentWorkspace } = useWorkspace(); - const navigate = useNavigate(); - - const [shouldShowMfa, toggleShowMfa] = useToggle(false); - const [requiredMfaMethod, setRequiredMfaMethod] = useState(MfaMethod.EMAIL); - const [mfaSuccessCallback, setMfaSuccessCallback] = useState<() => void>(() => {}); - - const { user } = useUser(); - - const { mutateAsync: selectOrganization } = useSelectOrganization(); + const matches = useRouterState({ select: (s) => s.matches.at(-1)?.context }); + const breadcrumbs = matches && "breadcrumbs" in matches ? matches.breadcrumbs : undefined; const { t } = useTranslation(); - const router = useRouter(); - const queryClient = useQueryClient(); const workspaceId = currentWorkspace?.id || ""; const projectSlug = currentWorkspace?.slug || ""; @@ -62,40 +49,6 @@ export const ProjectLayout = () => { const pendingRequestsCount = (secretApprovalReqCount?.open || 0) + (accessApprovalRequestCount?.pendingCount || 0); - const handleOrgChange = async (orgId: string) => { - queryClient.removeQueries({ queryKey: authKeys.getAuthToken }); - queryClient.removeQueries({ queryKey: workspaceKeys.getAllUserWorkspace() }); - - const { token, isMfaEnabled, mfaMethod } = await selectOrganization({ - organizationId: orgId - }); - - if (isMfaEnabled) { - SecurityClient.setMfaToken(token); - if (mfaMethod) { - setRequiredMfaMethod(mfaMethod); - } - toggleShowMfa.on(); - setMfaSuccessCallback(() => () => handleOrgChange(orgId)); - return; - } - await router.invalidate(); - await navigateUserToOrg(navigate, orgId); - }; - - if (shouldShowMfa) { - return ( -
    - toggleShowMfa.off()} - /> -
    - ); - } - return ( <>
    @@ -247,6 +200,33 @@ export const ProjectLayout = () => {
    + {breadcrumbs && ( +
    + + + {breadcrumbs.map((el, index) => { + const isNotLastCrumb = index + 1 !== breadcrumbs.length; + return ( + <> + {el.link && isNotLastCrumb && !("disabled" in el.link) ? ( + + + {el.label} + + + ) : ( + + {el.label} + + )} + {isNotLastCrumb && } + + ); + })} + + +
    + )}
    diff --git a/frontend/src/pages/cert-manager/CertAuthDetailsByIDPage/CertAuthDetailsByIDPage.tsx b/frontend/src/pages/cert-manager/CertAuthDetailsByIDPage/CertAuthDetailsByIDPage.tsx index 3c753fb52..ba3bc311a 100644 --- a/frontend/src/pages/cert-manager/CertAuthDetailsByIDPage/CertAuthDetailsByIDPage.tsx +++ b/frontend/src/pages/cert-manager/CertAuthDetailsByIDPage/CertAuthDetailsByIDPage.tsx @@ -13,6 +13,7 @@ import { DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, + PageHeader, Tooltip } from "@app/components/v2"; import { ROUTE_PATHS } from "@app/const/routes"; @@ -80,34 +81,17 @@ const Page = () => { return (
    {data && ( -
    - -
    -

    {data.friendlyName}

    +
    +
    - +
    - + {
    -
    +
    diff --git a/frontend/src/pages/cert-manager/CertAuthDetailsByIDPage/route.tsx b/frontend/src/pages/cert-manager/CertAuthDetailsByIDPage/route.tsx index 112d0c4c1..ac3342f57 100644 --- a/frontend/src/pages/cert-manager/CertAuthDetailsByIDPage/route.tsx +++ b/frontend/src/pages/cert-manager/CertAuthDetailsByIDPage/route.tsx @@ -1,9 +1,25 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { CertAuthDetailsByIDPage } from "./CertAuthDetailsByIDPage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/ca/$caId" )({ - component: CertAuthDetailsByIDPage + component: CertAuthDetailsByIDPage, + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Certificate Authorities", + link: linkOptions({ + to: "/cert-manager/$projectId/overview", + params: { + projectId: params.projectId + } + }) + } + ] + }; + } }); diff --git a/frontend/src/pages/cert-manager/CertificatesPage/CertificatesPage.tsx b/frontend/src/pages/cert-manager/CertificatesPage/CertificatesPage.tsx index e18782cdc..0d212e797 100644 --- a/frontend/src/pages/cert-manager/CertificatesPage/CertificatesPage.tsx +++ b/frontend/src/pages/cert-manager/CertificatesPage/CertificatesPage.tsx @@ -2,7 +2,7 @@ import { Helmet } from "react-helmet"; import { useTranslation } from "react-i18next"; import { ProjectPermissionCan } from "@app/components/permissions"; -import { Tab, TabList, TabPanel, Tabs } from "@app/components/v2"; +import { PageHeader, Tab, TabList, TabPanel, Tabs } from "@app/components/v2"; import { ProjectPermissionActions, ProjectPermissionSub } from "@app/context"; import { CaTab, CertificatesTab, PkiAlertsTab } from "./components"; @@ -19,11 +19,9 @@ export const CertificatesPage = () => {
    {t("common.head-title", { title: "Certificates" })} - - -
    -

    Internal PKI

    +
    + Certificates diff --git a/frontend/src/pages/cert-manager/PkiCollectionDetailsByIDPage/PkiCollectionDetailsByIDPage.tsx b/frontend/src/pages/cert-manager/PkiCollectionDetailsByIDPage/PkiCollectionDetailsByIDPage.tsx index c0f7b6e97..5cd8bf7c6 100644 --- a/frontend/src/pages/cert-manager/PkiCollectionDetailsByIDPage/PkiCollectionDetailsByIDPage.tsx +++ b/frontend/src/pages/cert-manager/PkiCollectionDetailsByIDPage/PkiCollectionDetailsByIDPage.tsx @@ -1,7 +1,5 @@ import { Helmet } from "react-helmet"; import { useTranslation } from "react-i18next"; -import { faChevronLeft, faEllipsis } from "@fortawesome/free-solid-svg-icons"; -import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { useNavigate, useParams } from "@tanstack/react-router"; import { twMerge } from "tailwind-merge"; @@ -14,6 +12,7 @@ import { DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, + PageHeader, Tooltip } from "@app/components/v2"; import { ROUTE_PATHS } from "@app/const/routes"; @@ -74,34 +73,17 @@ export const PkiCollectionPage = () => { return (
    {data && ( -
    - -
    -

    {data.name}

    +
    +
    - +
    - + {
    -
    +
    { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Certificate Collections", + link: linkOptions({ + to: "/cert-manager/$projectId/overview", + params: { + projectId: params.projectId + } + }) + } + ] + }; + } }); diff --git a/frontend/src/pages/cert-manager/SettingsPage/SettingsPage.tsx b/frontend/src/pages/cert-manager/SettingsPage/SettingsPage.tsx index 99ec9033f..dce31f01b 100644 --- a/frontend/src/pages/cert-manager/SettingsPage/SettingsPage.tsx +++ b/frontend/src/pages/cert-manager/SettingsPage/SettingsPage.tsx @@ -1,7 +1,7 @@ import { Helmet } from "react-helmet"; import { useTranslation } from "react-i18next"; -import { Tab, TabList, TabPanel, Tabs } from "@app/components/v2"; +import { PageHeader, Tab, TabList, TabPanel, Tabs } from "@app/components/v2"; import { ProjectGeneralTab } from "./components/ProjectGeneralTab"; @@ -14,12 +14,9 @@ export const SettingsPage = () => {
    {t("common.head-title", { title: t("settings.project.title") })} - -
    -
    -

    {t("settings.project.title")}

    -
    +
    + {tabs.map((tab) => ( diff --git a/frontend/src/pages/cert-manager/SettingsPage/route.tsx b/frontend/src/pages/cert-manager/SettingsPage/route.tsx index bf769e482..366c1cbf9 100644 --- a/frontend/src/pages/cert-manager/SettingsPage/route.tsx +++ b/frontend/src/pages/cert-manager/SettingsPage/route.tsx @@ -5,5 +5,15 @@ import { SettingsPage } from "./SettingsPage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/settings" )({ - component: SettingsPage + component: SettingsPage, + beforeLoad: ({ context }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Settings" + } + ] + }; + } }); diff --git a/frontend/src/pages/cert-manager/layout.tsx b/frontend/src/pages/cert-manager/layout.tsx index a9a68de25..1d33e866a 100644 --- a/frontend/src/pages/cert-manager/layout.tsx +++ b/frontend/src/pages/cert-manager/layout.tsx @@ -1,21 +1,16 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { workspaceKeys } from "@app/hooks/api"; import { fetchUserProjectPermissions, roleQueryKeys } from "@app/hooks/api/roles/queries"; import { fetchWorkspaceById } from "@app/hooks/api/workspace/queries"; import { ProjectLayout } from "@app/layouts/ProjectLayout"; -import { OrganizationLayout } from "@app/layouts/OrganizationLayout"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout" )({ - component: () => ( - - - - ), + component: ProjectLayout, beforeLoad: async ({ params, context }) => { - await context.queryClient.ensureQueryData({ + const project = await context.queryClient.ensureQueryData({ queryKey: workspaceKeys.getWorkspaceById(params.projectId), queryFn: () => fetchWorkspaceById(params.projectId) }); @@ -26,5 +21,21 @@ export const Route = createFileRoute( }), queryFn: () => fetchUserProjectPermissions({ workspaceId: params.projectId }) }); + + return { + breadcrumbs: [ + { + label: "Cert Managers", + link: linkOptions({ to: "/organization/cert-manager/overview" }) + }, + { + label: project.name, + link: linkOptions({ + to: "/cert-manager/$projectId/overview", + params: { projectId: project.id } + }) + } + ] + }; } }); diff --git a/frontend/src/pages/kms/OverviewPage/OverviewPage.tsx b/frontend/src/pages/kms/OverviewPage/OverviewPage.tsx index 1d36210e0..57f756916 100644 --- a/frontend/src/pages/kms/OverviewPage/OverviewPage.tsx +++ b/frontend/src/pages/kms/OverviewPage/OverviewPage.tsx @@ -5,6 +5,7 @@ import { ProjectPermissionCan } from "@app/components/permissions"; import { ProjectPermissionActions, ProjectPermissionSub } from "@app/context"; import { CmekTable } from "./components"; +import { PageHeader } from "@app/components/v2"; export const OverviewPage = () => { const { t } = useTranslation(); @@ -13,15 +14,13 @@ export const OverviewPage = () => {
    {t("common.head-title", { title: "KMS" })} - -
    -
    -

    Key Management System

    -

    - Manage keys and perform cryptographic operations. -

    +
    + {
    {t("common.head-title", { title: t("settings.project.title") })} - -
    -
    -

    {t("settings.project.title")}

    -
    +
    + {tabs.map((tab) => ( diff --git a/frontend/src/pages/kms/SettingsPage/route.tsx b/frontend/src/pages/kms/SettingsPage/route.tsx index c5578c700..37f0525b6 100644 --- a/frontend/src/pages/kms/SettingsPage/route.tsx +++ b/frontend/src/pages/kms/SettingsPage/route.tsx @@ -5,5 +5,15 @@ import { SettingsPage } from "./SettingsPage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/kms/$projectId/_kms-layout/settings" )({ - component: SettingsPage + component: SettingsPage, + beforeLoad: ({ context }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Settings" + } + ] + }; + } }); diff --git a/frontend/src/pages/kms/layout.tsx b/frontend/src/pages/kms/layout.tsx index 5a78be252..a9874fb56 100644 --- a/frontend/src/pages/kms/layout.tsx +++ b/frontend/src/pages/kms/layout.tsx @@ -1,21 +1,16 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { workspaceKeys } from "@app/hooks/api"; import { fetchUserProjectPermissions, roleQueryKeys } from "@app/hooks/api/roles/queries"; import { fetchWorkspaceById } from "@app/hooks/api/workspace/queries"; -import { OrganizationLayout } from "@app/layouts/OrganizationLayout"; import { ProjectLayout } from "@app/layouts/ProjectLayout"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/kms/$projectId/_kms-layout" )({ - component: () => ( - - - - ), + component: ProjectLayout, beforeLoad: async ({ params, context }) => { - await context.queryClient.ensureQueryData({ + const project = await context.queryClient.ensureQueryData({ queryKey: workspaceKeys.getWorkspaceById(params.projectId), queryFn: () => fetchWorkspaceById(params.projectId) }); @@ -26,5 +21,21 @@ export const Route = createFileRoute( }), queryFn: () => fetchUserProjectPermissions({ workspaceId: params.projectId }) }); + + return { + breadcrumbs: [ + { + label: "KMS", + link: linkOptions({ to: "/organization/kms/overview" }) + }, + { + label: project.name, + link: linkOptions({ + to: "/kms/$projectId/overview", + params: { projectId: project.id } + }) + } + ] + }; } }); diff --git a/frontend/src/pages/organization/RoleByIDPage/route.tsx b/frontend/src/pages/organization/RoleByIDPage/route.tsx index 9ff1f4f4d..250478f19 100644 --- a/frontend/src/pages/organization/RoleByIDPage/route.tsx +++ b/frontend/src/pages/organization/RoleByIDPage/route.tsx @@ -17,7 +17,7 @@ export const Route = createFileRoute( link: linkOptions({ to: "/organization/access-management" }) }, { - label: "RBAC" + label: "Roles" } ] }) diff --git a/frontend/src/pages/project/AccessControlPage/AccessControlPage.tsx b/frontend/src/pages/project/AccessControlPage/AccessControlPage.tsx index 2fbc9e67a..d95ccddf0 100644 --- a/frontend/src/pages/project/AccessControlPage/AccessControlPage.tsx +++ b/frontend/src/pages/project/AccessControlPage/AccessControlPage.tsx @@ -2,7 +2,7 @@ import { Helmet } from "react-helmet"; import { useTranslation } from "react-i18next"; import { useNavigate, useSearch } from "@tanstack/react-router"; -import { Tab, TabList, TabPanel, Tabs } from "@app/components/v2"; +import { PageHeader, Tab, TabList, TabPanel, Tabs } from "@app/components/v2"; import { ProjectPermissionActions, ProjectPermissionSub, useWorkspace } from "@app/context"; import { getProjectTitle } from "@app/helpers/project"; import { withProjectPermission } from "@app/hoc"; @@ -38,11 +38,11 @@ const Page = withProjectPermission( return (
    -
    -

    - {currentWorkspace?.type ? getProjectTitle(currentWorkspace?.type) : "Project"} Access - Control -

    +
    + Users diff --git a/frontend/src/pages/project/AccessControlPage/route-cert-manager.tsx b/frontend/src/pages/project/AccessControlPage/route-cert-manager.tsx index 1bea9fc9e..c74ce4fb1 100644 --- a/frontend/src/pages/project/AccessControlPage/route-cert-manager.tsx +++ b/frontend/src/pages/project/AccessControlPage/route-cert-manager.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -14,5 +14,21 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/access-management" )({ component: AccessControlPage, - validateSearch: zodValidator(AccessControlPageQuerySchema) + validateSearch: zodValidator(AccessControlPageQuerySchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Access Control", + link: linkOptions({ + to: "/cert-manager/$projectId/access-management", + params: { + projectId: params.projectId + } + }) + } + ] + }; + } }); diff --git a/frontend/src/pages/project/AccessControlPage/route-kms.tsx b/frontend/src/pages/project/AccessControlPage/route-kms.tsx index 1262dda77..f5f0ab4d9 100644 --- a/frontend/src/pages/project/AccessControlPage/route-kms.tsx +++ b/frontend/src/pages/project/AccessControlPage/route-kms.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -14,5 +14,21 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/kms/$projectId/_kms-layout/access-management" )({ component: AccessControlPage, - validateSearch: zodValidator(AccessControlPageQuerySchema) + validateSearch: zodValidator(AccessControlPageQuerySchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Access Control", + link: linkOptions({ + to: "/kms/$projectId/access-management", + params: { + projectId: params.projectId + } + }) + } + ] + }; + } }); diff --git a/frontend/src/pages/project/AccessControlPage/route-secret-manager.tsx b/frontend/src/pages/project/AccessControlPage/route-secret-manager.tsx index 4b9bb1b9d..318232866 100644 --- a/frontend/src/pages/project/AccessControlPage/route-secret-manager.tsx +++ b/frontend/src/pages/project/AccessControlPage/route-secret-manager.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -14,5 +14,21 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/access-management" )({ component: AccessControlPage, - validateSearch: zodValidator(AccessControlPageQuerySchema) + validateSearch: zodValidator(AccessControlPageQuerySchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Access Control", + link: linkOptions({ + to: "/secret-manager/$projectId/access-management", + params: { + projectId: params.projectId + } + }) + } + ] + }; + } }); diff --git a/frontend/src/pages/project/AccessControlPage/route-ssh.tsx b/frontend/src/pages/project/AccessControlPage/route-ssh.tsx index 49e53aa63..fd5966061 100644 --- a/frontend/src/pages/project/AccessControlPage/route-ssh.tsx +++ b/frontend/src/pages/project/AccessControlPage/route-ssh.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -14,5 +14,21 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/access-management" )({ component: AccessControlPage, - validateSearch: zodValidator(AccessControlPageQuerySchema) + validateSearch: zodValidator(AccessControlPageQuerySchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Access Control", + link: linkOptions({ + to: "/ssh/$projectId/access-management", + params: { + projectId: params.projectId + } + }) + } + ] + }; + } }); diff --git a/frontend/src/pages/project/IdentityDetailsByIDPage/IdentityDetailsByIDPage.tsx b/frontend/src/pages/project/IdentityDetailsByIDPage/IdentityDetailsByIDPage.tsx index 865a79206..841c8f0d5 100644 --- a/frontend/src/pages/project/IdentityDetailsByIDPage/IdentityDetailsByIDPage.tsx +++ b/frontend/src/pages/project/IdentityDetailsByIDPage/IdentityDetailsByIDPage.tsx @@ -4,11 +4,11 @@ import { subject } from "@casl/ability"; import { faChevronLeft } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { useNavigate, useParams } from "@tanstack/react-router"; -import { format } from "date-fns"; +import { format, formatRelative } from "date-fns"; import { createNotification } from "@app/components/notifications"; import { ProjectPermissionCan } from "@app/components/permissions"; -import { Button, DeleteActionModal, EmptyState, Spinner } from "@app/components/v2"; +import { Button, DeleteActionModal, EmptyState, PageHeader, Spinner } from "@app/components/v2"; import { ProjectPermissionActions, ProjectPermissionSub, useWorkspace } from "@app/context"; import { getProjectTitle } from "@app/helpers/project"; import { usePopUp } from "@app/hooks"; @@ -82,78 +82,37 @@ const Page = () => { } return ( -
    -
    - -
    +
    {identityMembershipDetails ? ( <> -
    -
    -
    -

    - Project Identity Access -

    -
    - +
    + + {(isAllowed) => ( + - )} - -
    -
    -
    -
    - Name - {identityMembershipDetails && ( -

    - {identityMembershipDetails?.identity?.name} -

    - )} -
    -
    -
    - Joined on{" "} - {identityMembershipDetails?.createdAt && - format(new Date(identityMembershipDetails?.createdAt || ""), "yyyy-MM-dd")} -
    + Remove Identity + + )} +
    -
    + { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Access Control", + link: linkOptions({ + to: "/cert-manager/$projectId/access-management", + params: { + projectId: params.projectId + } + }) + }, + { + label: "Identities" + } + ] + }; + } }); diff --git a/frontend/src/pages/project/IdentityDetailsByIDPage/route-kms.tsx b/frontend/src/pages/project/IdentityDetailsByIDPage/route-kms.tsx index 77f0e3d44..eedb733b5 100644 --- a/frontend/src/pages/project/IdentityDetailsByIDPage/route-kms.tsx +++ b/frontend/src/pages/project/IdentityDetailsByIDPage/route-kms.tsx @@ -1,9 +1,28 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { IdentityDetailsByIDPage } from "./IdentityDetailsByIDPage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/kms/$projectId/_kms-layout/identities/$identityId" )({ - component: IdentityDetailsByIDPage + component: IdentityDetailsByIDPage, + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Access Control", + link: linkOptions({ + to: "/kms/$projectId/access-management", + params: { + projectId: params.projectId + } + }) + }, + { + label: "Identities" + } + ] + }; + } }); diff --git a/frontend/src/pages/project/IdentityDetailsByIDPage/route-secret-manager.tsx b/frontend/src/pages/project/IdentityDetailsByIDPage/route-secret-manager.tsx index 66e1245e2..46df6c7bf 100644 --- a/frontend/src/pages/project/IdentityDetailsByIDPage/route-secret-manager.tsx +++ b/frontend/src/pages/project/IdentityDetailsByIDPage/route-secret-manager.tsx @@ -1,9 +1,28 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { IdentityDetailsByIDPage } from "./IdentityDetailsByIDPage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/identities/$identityId" )({ - component: IdentityDetailsByIDPage + component: IdentityDetailsByIDPage, + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Access Control", + link: linkOptions({ + to: "/secret-manager/$projectId/access-management", + params: { + projectId: params.projectId + } + }) + }, + { + label: "Identities" + } + ] + }; + } }); diff --git a/frontend/src/pages/project/IdentityDetailsByIDPage/route-ssh.tsx b/frontend/src/pages/project/IdentityDetailsByIDPage/route-ssh.tsx index 8159205c9..e63afa841 100644 --- a/frontend/src/pages/project/IdentityDetailsByIDPage/route-ssh.tsx +++ b/frontend/src/pages/project/IdentityDetailsByIDPage/route-ssh.tsx @@ -1,9 +1,28 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { IdentityDetailsByIDPage } from "./IdentityDetailsByIDPage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/identities/$identityId" )({ - component: IdentityDetailsByIDPage + component: IdentityDetailsByIDPage, + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Access Control", + link: linkOptions({ + to: "/ssh/$projectId/access-management", + params: { + projectId: params.projectId + } + }) + }, + { + label: "Identities" + } + ] + }; + } }); diff --git a/frontend/src/pages/project/MemberDetailsByIDPage/MemberDetailsByIDPage.tsx b/frontend/src/pages/project/MemberDetailsByIDPage/MemberDetailsByIDPage.tsx index c3a714ba9..49b746bc7 100644 --- a/frontend/src/pages/project/MemberDetailsByIDPage/MemberDetailsByIDPage.tsx +++ b/frontend/src/pages/project/MemberDetailsByIDPage/MemberDetailsByIDPage.tsx @@ -1,21 +1,18 @@ import { Helmet } from "react-helmet"; import { useTranslation } from "react-i18next"; -import { faChevronLeft } from "@fortawesome/free-solid-svg-icons"; -import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { useNavigate, useParams } from "@tanstack/react-router"; -import { format } from "date-fns"; +import { formatRelative } from "date-fns"; import { UpgradePlanModal } from "@app/components/license/UpgradePlanModal"; import { createNotification } from "@app/components/notifications"; import { ProjectPermissionCan } from "@app/components/permissions"; -import { Button, DeleteActionModal, EmptyState, Spinner } from "@app/components/v2"; +import { Button, DeleteActionModal, EmptyState, PageHeader, Spinner } from "@app/components/v2"; import { ProjectPermissionActions, ProjectPermissionSub, useOrganization, useWorkspace } from "@app/context"; -import { getProjectTitle } from "@app/helpers/project"; import { usePopUp } from "@app/hooks"; import { useDeleteUserFromWorkspace, useGetWorkspaceUserDetails } from "@app/hooks/api"; @@ -83,76 +80,36 @@ export const Page = () => { return (
    -
    - -
    {membershipDetails ? ( <> -
    -
    -
    -

    Project User Access

    -
    - - {(isAllowed) => ( - - )} - -
    -
    -
    -
    - Name - {membershipDetails && ( -

    - {membershipDetails.user.firstName || membershipDetails.user.lastName - ? `${membershipDetails.user.firstName} ${membershipDetails.user.lastName}` - : "-"} -

    - )} -
    -
    - Email - {membershipDetails &&

    {membershipDetails?.user?.email}

    } -
    -
    -
    - Joined on{" "} - {membershipDetails?.createdAt && - format(new Date(membershipDetails?.createdAt || ""), "yyyy-MM-dd")} -
    -
    -
    + + + {(isAllowed) => ( + + )} + + { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Access Control", + link: linkOptions({ + to: "/cert-manager/$projectId/access-management", + params: { + projectId: params.projectId + } + }) + }, + { + label: "Users" + } + ] + }; + } }); diff --git a/frontend/src/pages/project/MemberDetailsByIDPage/route-kms.tsx b/frontend/src/pages/project/MemberDetailsByIDPage/route-kms.tsx index 95e7fd025..fd2f240c4 100644 --- a/frontend/src/pages/project/MemberDetailsByIDPage/route-kms.tsx +++ b/frontend/src/pages/project/MemberDetailsByIDPage/route-kms.tsx @@ -1,9 +1,28 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { MemberDetailsByIDPage } from "./MemberDetailsByIDPage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/kms/$projectId/_kms-layout/members/$membershipId" )({ - component: MemberDetailsByIDPage + component: MemberDetailsByIDPage, + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Access Control", + link: linkOptions({ + to: "/kms/$projectId/access-management", + params: { + projectId: params.projectId + } + }) + }, + { + label: "Users" + } + ] + }; + } }); diff --git a/frontend/src/pages/project/MemberDetailsByIDPage/route-secret-manager.tsx b/frontend/src/pages/project/MemberDetailsByIDPage/route-secret-manager.tsx index f5d826e20..7975158b1 100644 --- a/frontend/src/pages/project/MemberDetailsByIDPage/route-secret-manager.tsx +++ b/frontend/src/pages/project/MemberDetailsByIDPage/route-secret-manager.tsx @@ -1,9 +1,28 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { MemberDetailsByIDPage } from "./MemberDetailsByIDPage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/members/$membershipId" )({ - component: MemberDetailsByIDPage + component: MemberDetailsByIDPage, + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Access Control", + link: linkOptions({ + to: "/secret-manager/$projectId/access-management", + params: { + projectId: params.projectId + } + }) + }, + { + label: "Users" + } + ] + }; + } }); diff --git a/frontend/src/pages/project/MemberDetailsByIDPage/route-ssh.tsx b/frontend/src/pages/project/MemberDetailsByIDPage/route-ssh.tsx index 94b597179..bf9788c7a 100644 --- a/frontend/src/pages/project/MemberDetailsByIDPage/route-ssh.tsx +++ b/frontend/src/pages/project/MemberDetailsByIDPage/route-ssh.tsx @@ -1,9 +1,28 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { MemberDetailsByIDPage } from "./MemberDetailsByIDPage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/members/$membershipId" )({ - component: MemberDetailsByIDPage + component: MemberDetailsByIDPage, + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Access Control", + link: linkOptions({ + to: "/ssh/$projectId/access-management", + params: { + projectId: params.projectId + } + }) + }, + { + label: "Users" + } + ] + }; + } }); diff --git a/frontend/src/pages/project/RoleDetailsBySlugPage/RoleDetailsBySlugPage.tsx b/frontend/src/pages/project/RoleDetailsBySlugPage/RoleDetailsBySlugPage.tsx index 522ac4434..cca278230 100644 --- a/frontend/src/pages/project/RoleDetailsBySlugPage/RoleDetailsBySlugPage.tsx +++ b/frontend/src/pages/project/RoleDetailsBySlugPage/RoleDetailsBySlugPage.tsx @@ -1,7 +1,5 @@ import { Helmet } from "react-helmet"; import { useTranslation } from "react-i18next"; -import { faChevronLeft, faEllipsis } from "@fortawesome/free-solid-svg-icons"; -import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { useNavigate, useParams } from "@tanstack/react-router"; import { twMerge } from "tailwind-merge"; @@ -14,6 +12,7 @@ import { DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, + PageHeader, Tooltip } from "@app/components/v2"; import { ProjectPermissionActions, ProjectPermissionSub, useWorkspace } from "@app/context"; @@ -83,38 +82,18 @@ const Page = () => { return (
    {data && ( -
    - -
    -

    {data.name}

    +
    + {isCustomRole && (
    - +
    - + {
    )} -
    +
    diff --git a/frontend/src/pages/project/RoleDetailsBySlugPage/route-cert-manager.tsx b/frontend/src/pages/project/RoleDetailsBySlugPage/route-cert-manager.tsx index 7f9ec6791..70492769f 100644 --- a/frontend/src/pages/project/RoleDetailsBySlugPage/route-cert-manager.tsx +++ b/frontend/src/pages/project/RoleDetailsBySlugPage/route-cert-manager.tsx @@ -1,9 +1,28 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { RoleDetailsBySlugPage } from "./RoleDetailsBySlugPage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/roles/$roleSlug" )({ - component: RoleDetailsBySlugPage + component: RoleDetailsBySlugPage, + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Access Control", + link: linkOptions({ + to: "/cert-manager/$projectId/access-management", + params: { + projectId: params.projectId + } + }) + }, + { + label: "Roles" + } + ] + }; + } }); diff --git a/frontend/src/pages/project/RoleDetailsBySlugPage/route-kms.tsx b/frontend/src/pages/project/RoleDetailsBySlugPage/route-kms.tsx index 1677d9401..2ed018da9 100644 --- a/frontend/src/pages/project/RoleDetailsBySlugPage/route-kms.tsx +++ b/frontend/src/pages/project/RoleDetailsBySlugPage/route-kms.tsx @@ -1,9 +1,28 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { RoleDetailsBySlugPage } from "./RoleDetailsBySlugPage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/kms/$projectId/_kms-layout/roles/$roleSlug" )({ - component: RoleDetailsBySlugPage + component: RoleDetailsBySlugPage, + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Access Control", + link: linkOptions({ + to: "/kms/$projectId/access-management", + params: { + projectId: params.projectId + } + }) + }, + { + label: "Roles" + } + ] + }; + } }); diff --git a/frontend/src/pages/project/RoleDetailsBySlugPage/route-secret-manager.tsx b/frontend/src/pages/project/RoleDetailsBySlugPage/route-secret-manager.tsx index 4a2f18750..be7d2f7ca 100644 --- a/frontend/src/pages/project/RoleDetailsBySlugPage/route-secret-manager.tsx +++ b/frontend/src/pages/project/RoleDetailsBySlugPage/route-secret-manager.tsx @@ -1,9 +1,28 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { RoleDetailsBySlugPage } from "./RoleDetailsBySlugPage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/roles/$roleSlug" )({ - component: RoleDetailsBySlugPage + component: RoleDetailsBySlugPage, + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Access Control", + link: linkOptions({ + to: "/secret-manager/$projectId/access-management", + params: { + projectId: params.projectId + } + }) + }, + { + label: "Roles" + } + ] + }; + } }); diff --git a/frontend/src/pages/project/RoleDetailsBySlugPage/route-ssh.tsx b/frontend/src/pages/project/RoleDetailsBySlugPage/route-ssh.tsx index 73b5826d4..f744ab313 100644 --- a/frontend/src/pages/project/RoleDetailsBySlugPage/route-ssh.tsx +++ b/frontend/src/pages/project/RoleDetailsBySlugPage/route-ssh.tsx @@ -1,9 +1,28 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { RoleDetailsBySlugPage } from "./RoleDetailsBySlugPage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/roles/$roleSlug" )({ - component: RoleDetailsBySlugPage + component: RoleDetailsBySlugPage, + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Access Control", + link: linkOptions({ + to: "/ssh/$projectId/access-management", + params: { + projectId: params.projectId + } + }) + }, + { + label: "Roles" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/SettingsPage/SettingsPage.tsx b/frontend/src/pages/secret-manager/SettingsPage/SettingsPage.tsx index c96a37be5..b2c2e406f 100644 --- a/frontend/src/pages/secret-manager/SettingsPage/SettingsPage.tsx +++ b/frontend/src/pages/secret-manager/SettingsPage/SettingsPage.tsx @@ -1,7 +1,7 @@ import { Helmet } from "react-helmet"; import { useTranslation } from "react-i18next"; -import { Tab, TabList, TabPanel, Tabs } from "@app/components/v2"; +import { PageHeader, Tab, TabList, TabPanel, Tabs } from "@app/components/v2"; import { useWorkspace } from "@app/context"; import { ProjectType, ProjectVersion } from "@app/hooks/api/workspace/types"; @@ -42,12 +42,9 @@ export const SettingsPage = () => {
    {t("common.head-title", { title: t("settings.project.title") })} - -
    -
    -

    {t("settings.project.title")}

    -
    +
    + {tabs diff --git a/frontend/src/pages/secret-manager/SettingsPage/route.tsx b/frontend/src/pages/secret-manager/SettingsPage/route.tsx index 7996396c8..f826296c5 100644 --- a/frontend/src/pages/secret-manager/SettingsPage/route.tsx +++ b/frontend/src/pages/secret-manager/SettingsPage/route.tsx @@ -5,5 +5,15 @@ import { SettingsPage } from "./SettingsPage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/settings" )({ - component: SettingsPage + component: SettingsPage, + beforeLoad: ({ context }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Settings" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/layout.tsx b/frontend/src/pages/secret-manager/layout.tsx index 824c341b6..0ad0c2954 100644 --- a/frontend/src/pages/secret-manager/layout.tsx +++ b/frontend/src/pages/secret-manager/layout.tsx @@ -1,21 +1,16 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { workspaceKeys } from "@app/hooks/api"; import { fetchUserProjectPermissions, roleQueryKeys } from "@app/hooks/api/roles/queries"; import { fetchWorkspaceById } from "@app/hooks/api/workspace/queries"; import { ProjectLayout } from "@app/layouts/ProjectLayout"; -import { OrganizationLayout } from "@app/layouts/OrganizationLayout"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout" )({ - component: () => ( - - - - ), + component: ProjectLayout, beforeLoad: async ({ params, context }) => { - await context.queryClient.ensureQueryData({ + const project = await context.queryClient.ensureQueryData({ queryKey: workspaceKeys.getWorkspaceById(params.projectId), queryFn: () => fetchWorkspaceById(params.projectId) }); @@ -26,5 +21,21 @@ export const Route = createFileRoute( }), queryFn: () => fetchUserProjectPermissions({ workspaceId: params.projectId }) }); + + return { + breadcrumbs: [ + { + label: "Secret Managers", + link: linkOptions({ to: "/organization/secret-manager/overview" }) + }, + { + label: project.name, + link: linkOptions({ + to: "/secret-manager/$projectId/overview", + params: { projectId: project.id } + }) + } + ] + }; } }); diff --git a/frontend/src/pages/ssh/OverviewPage/OverviewPage.tsx b/frontend/src/pages/ssh/OverviewPage/OverviewPage.tsx index 13c3d8ea3..9123bf675 100644 --- a/frontend/src/pages/ssh/OverviewPage/OverviewPage.tsx +++ b/frontend/src/pages/ssh/OverviewPage/OverviewPage.tsx @@ -3,7 +3,7 @@ import { useTranslation } from "react-i18next"; import { motion } from "framer-motion"; import { ProjectPermissionCan } from "@app/components/permissions"; -import { Tab, TabList, TabPanel, Tabs } from "@app/components/v2"; +import { PageHeader, Tab, TabList, TabPanel, Tabs } from "@app/components/v2"; import { ProjectPermissionActions, ProjectPermissionSub } from "@app/context"; import { SshCaSection, SshCertificatesSection } from "./components"; @@ -19,12 +19,14 @@ export const OverviewPage = () => { <> {t("common.head-title", { title: "Certificates" })} -
    -
    -

    SSH

    +
    + SSH Certificates diff --git a/frontend/src/pages/ssh/SettingsPage/SettingsPage.tsx b/frontend/src/pages/ssh/SettingsPage/SettingsPage.tsx index 674b97009..dce31f01b 100644 --- a/frontend/src/pages/ssh/SettingsPage/SettingsPage.tsx +++ b/frontend/src/pages/ssh/SettingsPage/SettingsPage.tsx @@ -1,7 +1,7 @@ import { Helmet } from "react-helmet"; import { useTranslation } from "react-i18next"; -import { Tab, TabList, TabPanel, Tabs } from "@app/components/v2"; +import { PageHeader, Tab, TabList, TabPanel, Tabs } from "@app/components/v2"; import { ProjectGeneralTab } from "./components/ProjectGeneralTab"; @@ -15,10 +15,8 @@ export const SettingsPage = () => { {t("common.head-title", { title: t("settings.project.title") })} -
    -
    -

    {t("settings.project.title")}

    -
    +
    + {tabs.map((tab) => ( diff --git a/frontend/src/pages/ssh/SettingsPage/route.tsx b/frontend/src/pages/ssh/SettingsPage/route.tsx index 5649fd26c..174064d06 100644 --- a/frontend/src/pages/ssh/SettingsPage/route.tsx +++ b/frontend/src/pages/ssh/SettingsPage/route.tsx @@ -5,5 +5,15 @@ import { SettingsPage } from "./SettingsPage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/settings" )({ - component: SettingsPage + component: SettingsPage, + beforeLoad: ({ context }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Settings" + } + ] + }; + } }); diff --git a/frontend/src/pages/ssh/SshCaByIDPage/SshCaByIDPage.tsx b/frontend/src/pages/ssh/SshCaByIDPage/SshCaByIDPage.tsx index f8cf9af91..926505230 100644 --- a/frontend/src/pages/ssh/SshCaByIDPage/SshCaByIDPage.tsx +++ b/frontend/src/pages/ssh/SshCaByIDPage/SshCaByIDPage.tsx @@ -1,6 +1,4 @@ import { Helmet } from "react-helmet"; -import { faChevronLeft, faEllipsis } from "@fortawesome/free-solid-svg-icons"; -import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { useNavigate, useParams } from "@tanstack/react-router"; import { twMerge } from "tailwind-merge"; @@ -13,6 +11,7 @@ import { DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, + PageHeader, Tooltip } from "@app/components/v2"; import { ROUTE_PATHS } from "@app/const/routes"; @@ -71,34 +70,17 @@ const Page = () => { return (
    {data && ( -
    - -
    -

    {data.friendlyName}

    +
    +
    - +
    - + {
    -
    +
    diff --git a/frontend/src/pages/ssh/SshCaByIDPage/route.tsx b/frontend/src/pages/ssh/SshCaByIDPage/route.tsx index d8a2a4f9c..3d34bcab0 100644 --- a/frontend/src/pages/ssh/SshCaByIDPage/route.tsx +++ b/frontend/src/pages/ssh/SshCaByIDPage/route.tsx @@ -1,9 +1,25 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { SshCaByIDPage } from "./SshCaByIDPage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/ca/$caId" )({ - component: SshCaByIDPage + component: SshCaByIDPage, + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "SSH Certificate Authorities", + link: linkOptions({ + to: "/ssh/$projectId/overview", + params: { + projectId: params.projectId + } + }) + } + ] + }; + } }); diff --git a/frontend/src/pages/ssh/layout.tsx b/frontend/src/pages/ssh/layout.tsx index d305bf3d2..d36c263ae 100644 --- a/frontend/src/pages/ssh/layout.tsx +++ b/frontend/src/pages/ssh/layout.tsx @@ -1,21 +1,16 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { workspaceKeys } from "@app/hooks/api"; import { fetchUserProjectPermissions, roleQueryKeys } from "@app/hooks/api/roles/queries"; import { fetchWorkspaceById } from "@app/hooks/api/workspace/queries"; import { ProjectLayout } from "@app/layouts/ProjectLayout"; -import { OrganizationLayout } from "@app/layouts/OrganizationLayout"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout" )({ - component: () => ( - - - - ), + component: ProjectLayout, beforeLoad: async ({ params, context }) => { - await context.queryClient.ensureQueryData({ + const project = await context.queryClient.ensureQueryData({ queryKey: workspaceKeys.getWorkspaceById(params.projectId), queryFn: () => fetchWorkspaceById(params.projectId) }); @@ -26,5 +21,21 @@ export const Route = createFileRoute( }), queryFn: () => fetchUserProjectPermissions({ workspaceId: params.projectId }) }); + + return { + breadcrumbs: [ + { + label: "SSH", + link: linkOptions({ to: "/organization/ssh/overview" }) + }, + { + label: project.name, + link: linkOptions({ + to: "/ssh/$projectId/overview", + params: { projectId: project.id } + }) + } + ] + }; } }); From 01ae19fa2bf5f09374d860e547dda4857f6a2e73 Mon Sep 17 00:00:00 2001 From: = Date: Fri, 17 Jan 2025 16:01:36 +0530 Subject: [PATCH 05/10] feat: completed all nav restructing and breadcrumbs cleanup --- .../SecretDashboardPathBreadcrumb.tsx | 87 ++++ .../components/v2/Breadcrumb/Breadcrumb.tsx | 135 +++++- frontend/src/components/v2/Menu/Menu.tsx | 1 - .../components/v2/PageHeader/PageHeader.tsx | 4 +- frontend/src/hooks/useToggle.tsx | 3 +- .../OrganizationLayout/OrganizationLayout.tsx | 287 ++++------- .../SidebarFooter/SidebarFooter.tsx | 101 ++-- .../SidebarHeader/SidebarHeader.tsx | 180 +------ .../layouts/ProjectLayout/ProjectLayout.tsx | 44 +- .../MenuIconButton/MenuIconButton.tsx | 8 +- .../components/MenuIconButton/index.tsx | 0 .../MinimizedOrgSidebar.tsx | 447 ++++++++++++++++++ .../MinimizedOrgSidebar/ProjectSwitcher.tsx | 59 +++ .../components/MinimizedOrgSidebar/index.tsx | 1 + .../CertAuthDetailsByIDPage.tsx | 4 +- .../pages/kms/OverviewPage/OverviewPage.tsx | 2 +- .../AccessManagementPage/route.tsx | 5 +- .../pages/organization/AdminPage/route.tsx | 5 +- .../AuditLogsPage/AuditLogsPage.tsx | 3 +- .../organization/AuditLogsPage/route.tsx | 5 +- .../CertManagerOverviewPage/route.tsx | 6 +- .../GroupDetailsByIDPage/route.tsx | 5 +- .../IdentityDetailsByIDPage/route.tsx | 5 +- .../organization/KmsOverviewPage/route.tsx | 6 +- .../pages/organization/RoleByIDPage/route.tsx | 5 +- .../SecretManagerOverviewPage.tsx | 2 +- .../SecretManagerOverviewPage/route.tsx | 11 +- .../organization/SecretScanningPage/route.tsx | 7 +- .../SecretSharingPage/SecretSharingPage.tsx | 3 +- .../organization/SecretSharingPage/route.tsx | 5 +- .../SettingsPage/SettingsPage.tsx | 3 +- .../pages/organization/SettingsPage/route.tsx | 5 +- .../organization/SshOverviewPage/route.tsx | 6 +- .../UserDetailsByIDPage/route.tsx | 5 +- .../AccessControlPage/AccessControlPage.tsx | 1 - .../IdentityDetailsByIDPage.tsx | 5 +- .../MemberDetailsByIDPage.tsx | 2 +- .../IntegrationsListPage.tsx | 2 +- .../IntegrationsListPage.utils.tsx | 2 +- .../CloudIntegrationSection.tsx | 4 +- .../FrameworkIntegrationSection.tsx | 4 +- .../InfrastructureIntegrationSection.tsx | 4 +- .../IntegrationsListPage/route.tsx | 12 +- .../OverviewPage/OverviewPage.tsx | 307 ++++++------ .../SecretApprovalsPage.tsx | 51 +- .../SecretApprovalsPage/route.tsx | 12 +- .../SecretDashboardPage.tsx | 30 +- .../components/ActionBar/ActionBar.tsx | 16 +- .../SecretDashboardPage/route.tsx | 40 +- .../SecretRotationPage/SecretRotationPage.tsx | 46 +- .../SecretRotationPage/route.tsx | 12 +- .../AzureKeyVaultAuthorizePage.tsx | 13 +- .../AzureKeyVaultAuthorizePage/route.tsx | 5 +- .../CircleCIConfigurePage.tsx | 2 +- frontend/src/pages/secret-manager/layout.tsx | 4 + 55 files changed, 1249 insertions(+), 780 deletions(-) create mode 100644 frontend/src/components/navigation/SecretDashboardPathBreadcrumb.tsx rename frontend/src/layouts/{OrganizationLayout => ProjectLayout}/components/MenuIconButton/MenuIconButton.tsx (89%) rename frontend/src/layouts/{OrganizationLayout => ProjectLayout}/components/MenuIconButton/index.tsx (100%) create mode 100644 frontend/src/layouts/ProjectLayout/components/MinimizedOrgSidebar/MinimizedOrgSidebar.tsx create mode 100644 frontend/src/layouts/ProjectLayout/components/MinimizedOrgSidebar/ProjectSwitcher.tsx create mode 100644 frontend/src/layouts/ProjectLayout/components/MinimizedOrgSidebar/index.tsx diff --git a/frontend/src/components/navigation/SecretDashboardPathBreadcrumb.tsx b/frontend/src/components/navigation/SecretDashboardPathBreadcrumb.tsx new file mode 100644 index 000000000..584a3f6c7 --- /dev/null +++ b/frontend/src/components/navigation/SecretDashboardPathBreadcrumb.tsx @@ -0,0 +1,87 @@ +import { faCheck, faCopy } from "@fortawesome/free-solid-svg-icons"; +import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +import { Link } from "@tanstack/react-router"; +import { twMerge } from "tailwind-merge"; + +import { useTimedReset } from "@app/hooks"; +import { ProjectType } from "@app/hooks/api/workspace/types"; + +import { createNotification } from "../notifications"; +import { IconButton, Tooltip } from "../v2"; + +type Props = { + secretPathSegments: string[]; + selectedPathSegmentIndex: number; + environmentSlug: string; + projectId: string; +}; + +export const SecretDashboardPathBreadcrumb = ({ + secretPathSegments, + selectedPathSegmentIndex, + environmentSlug, + projectId +}: Props) => { + const [, isCopying, setIsCopying] = useTimedReset({ + initialState: false + }); + + const newSecretPath = `/${secretPathSegments.slice(0, selectedPathSegmentIndex + 1).join("/")}`; + const isLastItem = secretPathSegments.length === selectedPathSegmentIndex + 1; + const folderName = secretPathSegments.at(selectedPathSegmentIndex); + + return ( +
    + {isLastItem ? ( +
    + + {folderName} + + + { + if (isCopying) return; + setIsCopying(true); + navigator.clipboard.writeText(newSecretPath); + + createNotification({ + text: "Copied secret path to clipboard", + type: "info" + }); + }} + className="opacity-0 transition duration-75 hover:bg-bunker-100/10 group-hover:opacity-100" + > + + + +
    + ) : ( + ({ ...query, secretPath: newSecretPath })} + className={twMerge( + "text-sm font-semibold transition-all hover:text-primary", + isCopying && "text-primary" + )} + > + {folderName} + + )} +
    + ); +}; diff --git a/frontend/src/components/v2/Breadcrumb/Breadcrumb.tsx b/frontend/src/components/v2/Breadcrumb/Breadcrumb.tsx index cd0b1781b..d7b78c67a 100644 --- a/frontend/src/components/v2/Breadcrumb/Breadcrumb.tsx +++ b/frontend/src/components/v2/Breadcrumb/Breadcrumb.tsx @@ -1,8 +1,19 @@ -import * as React from "react"; -import { faChevronRight, faEllipsis } from "@fortawesome/free-solid-svg-icons"; +/* eslint-disable react/prop-types */ +import React from "react"; +import { faCaretDown, faChevronRight, faEllipsis } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +import { Link, ReactNode } from "@tanstack/react-router"; +import { LinkComponentProps } from "node_modules/@tanstack/react-router/dist/esm/link"; import { twMerge } from "tailwind-merge"; +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuLabel, + DropdownMenuTrigger +} from "../Dropdown"; + const Breadcrumb = React.forwardRef< HTMLElement, React.ComponentPropsWithoutRef<"nav"> & { @@ -27,21 +38,25 @@ BreadcrumbList.displayName = "BreadcrumbList"; const BreadcrumbItem = React.forwardRef>( ({ className, ...props }, ref) => ( -
  • +
  • ) ); BreadcrumbItem.displayName = "BreadcrumbItem"; const BreadcrumbLink = React.forwardRef< - HTMLLIElement, - React.ComponentPropsWithoutRef<"li"> & { + HTMLDivElement, + React.ComponentPropsWithoutRef<"div"> & { asChild?: boolean; } >(({ asChild, className, ...props }, ref) => { return ( -
  • ); @@ -87,12 +102,116 @@ const BreadcrumbEllipsis = ({ className, ...props }: React.ComponentProps<"span" ); BreadcrumbEllipsis.displayName = "BreadcrumbElipssis"; +enum BreadcrumbTypes { + Dropdown = "dropdown", + Component = "component" +} + +export type TBreadcrumbFormat = + | { + type: BreadcrumbTypes.Dropdown; + label: string; + dropdownTitle?: string; + links: { label: string; link: LinkComponentProps }[]; + } + | { + type: BreadcrumbTypes.Component; + component: ReactNode; + } + | { + type: undefined; + link?: LinkComponentProps; + label: string; + icon?: ReactNode; + }; + +const BreadcrumbContainer = ({ breadcrumbs }: { breadcrumbs: TBreadcrumbFormat[] }) => ( +
    + + + {(breadcrumbs as TBreadcrumbFormat[]).map((el, index) => { + const isNotLastCrumb = index + 1 !== breadcrumbs.length; + const BreadcrumbSegment = isNotLastCrumb ? BreadcrumbLink : BreadcrumbPage; + + if (el.type === BreadcrumbTypes.Dropdown) { + return ( + + + + + + {el.label} + + + + + {el?.dropdownTitle && {el.dropdownTitle}} + {el.links.map((i, dropIndex) => ( + + {i.label} + + ))} + + + {isNotLastCrumb && } + + ); + } + + if (el.type === BreadcrumbTypes.Component) { + const Component = el.component; + return ( + + + + + + + {isNotLastCrumb && } + + ); + } + + const Icon = el?.icon; + return ( + + {"link" in el && isNotLastCrumb ? ( + + + + {Icon && } + {el.label} + + + + ) : ( + + + {Icon && } + {el.label} + + + )} + {isNotLastCrumb && } + + ); + })} + + +
    +); + export { Breadcrumb, + BreadcrumbContainer, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, - BreadcrumbSeparator + BreadcrumbSeparator, + BreadcrumbTypes }; diff --git a/frontend/src/components/v2/Menu/Menu.tsx b/frontend/src/components/v2/Menu/Menu.tsx index ea9643eb0..6fc2a7d00 100644 --- a/frontend/src/components/v2/Menu/Menu.tsx +++ b/frontend/src/components/v2/Menu/Menu.tsx @@ -1,6 +1,5 @@ import { ComponentPropsWithRef, ElementType, ReactNode, Ref, useRef } from "react"; import { DotLottie, DotLottieReact } from "@lottiefiles/dotlottie-react"; -import { motion } from "framer-motion"; import { twMerge } from "tailwind-merge"; export type MenuProps = { diff --git a/frontend/src/components/v2/PageHeader/PageHeader.tsx b/frontend/src/components/v2/PageHeader/PageHeader.tsx index 3cf550fe9..f07aa2f2e 100644 --- a/frontend/src/components/v2/PageHeader/PageHeader.tsx +++ b/frontend/src/components/v2/PageHeader/PageHeader.tsx @@ -14,8 +14,6 @@ export const PageHeader = ({ title, description, children }: Props) => (
  • {children}
    -
    -

    {description}

    -
    +
    {description}
    ); diff --git a/frontend/src/hooks/useToggle.tsx b/frontend/src/hooks/useToggle.tsx index ecc243ade..11e4fc824 100644 --- a/frontend/src/hooks/useToggle.tsx +++ b/frontend/src/hooks/useToggle.tsx @@ -30,8 +30,9 @@ export const useToggle = (initialState = false): UseToggleReturn => { const timedToggle = useCallback((timeout = 2000) => { setValue((prev) => !prev); - setTimeout(() => { + const timeoutRef = setTimeout(() => { setValue(false); + clearTimeout(timeoutRef); }, timeout); }, []); diff --git a/frontend/src/layouts/OrganizationLayout/OrganizationLayout.tsx b/frontend/src/layouts/OrganizationLayout/OrganizationLayout.tsx index 4fcf00bc5..974cc3b40 100644 --- a/frontend/src/layouts/OrganizationLayout/OrganizationLayout.tsx +++ b/frontend/src/layouts/OrganizationLayout/OrganizationLayout.tsx @@ -1,25 +1,20 @@ -import { ReactNode, useState } from "react"; +import { useState } from "react"; import { useTranslation } from "react-i18next"; import { faMobile } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { useQueryClient } from "@tanstack/react-query"; import { Link, Outlet, useNavigate, useRouter, useRouterState } from "@tanstack/react-router"; -import { AnimatePresence, motion } from "framer-motion"; -import { twMerge } from "tailwind-merge"; +import { motion } from "framer-motion"; import { Mfa } from "@app/components/auth/Mfa"; import { CreateOrgModal } from "@app/components/organization/CreateOrgModal"; import SecurityClient from "@app/components/utilities/SecurityClient"; import { - Breadcrumb, - BreadcrumbItem, - BreadcrumbLink, - BreadcrumbList, - BreadcrumbPage, - BreadcrumbSeparator, + BreadcrumbContainer, Menu, MenuGroup, - MenuItem + MenuItem, + TBreadcrumbFormat } from "@app/components/v2"; import { useUser } from "@app/context"; import { usePopUp, useToggle } from "@app/hooks"; @@ -30,15 +25,10 @@ import { ProjectType } from "@app/hooks/api/workspace/types"; import { navigateUserToOrg } from "@app/pages/auth/LoginPage/Login.utils"; import { InsecureConnectionBanner } from "./components/InsecureConnectionBanner"; -import { MenuIconButton } from "./components/MenuIconButton"; import { SidebarFooter } from "./components/SidebarFooter"; import { SidebarHeader } from "./components/SidebarHeader"; -type Props = { - children?: ReactNode; -}; - -export const OrganizationLayout = ({ children }: Props) => { +export const OrganizationLayout = () => { const [shouldShowMfa, toggleShowMfa] = useToggle(false); const [requiredMfaMethod, setRequiredMfaMethod] = useState(MfaMethod.EMAIL); const [mfaSuccessCallback, setMfaSuccessCallback] = useState<() => void>(() => {}); @@ -53,9 +43,6 @@ export const OrganizationLayout = ({ children }: Props) => { const router = useRouter(); const queryClient = useQueryClient(); - const isNestedLayout = Boolean(children); - const [isCollapsed, setIsCollapsed] = useToggle(isNestedLayout); - const { t } = useTranslation(); const handleOrgChange = async (orgId: string) => { queryClient.removeQueries({ queryKey: authKeys.getAuthToken }); @@ -96,168 +83,108 @@ export const OrganizationLayout = ({ children }: Props) => {
    {!window.isSecureContext && }
    -
    diff --git a/frontend/src/layouts/OrganizationLayout/components/SidebarFooter/SidebarFooter.tsx b/frontend/src/layouts/OrganizationLayout/components/SidebarFooter/SidebarFooter.tsx index 5d45850c6..265412cc7 100644 --- a/frontend/src/layouts/OrganizationLayout/components/SidebarFooter/SidebarFooter.tsx +++ b/frontend/src/layouts/OrganizationLayout/components/SidebarFooter/SidebarFooter.tsx @@ -1,13 +1,10 @@ import { faGithub, faSlack } from "@fortawesome/free-brands-svg-icons"; import { - faAnglesLeft, - faAnglesRight, faArrowUpRightFromSquare, faBook, faEnvelope, faInfinity, faInfo, - faInfoCircle, faPlus, faQuestion, faUser @@ -20,15 +17,12 @@ import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, - DropdownMenuTrigger, - MenuItem + DropdownMenuTrigger } from "@app/components/v2"; import { envConfig } from "@app/config/env"; import { useOrganization, useSubscription, useUser } from "@app/context"; import { useGetOrgTrialUrl, useLogoutUser } from "@app/hooks/api"; -import { MenuIconButton } from "../MenuIconButton"; - export const INFISICAL_SUPPORT_OPTIONS = [ [ , @@ -52,12 +46,7 @@ export const INFISICAL_SUPPORT_OPTIONS = [ ] ]; -type Props = { - isCollapsed?: boolean; - onToggleSidebar: () => void; -}; - -export const SidebarFooter = ({ isCollapsed, onToggleSidebar }: Props) => { +export const SidebarFooter = () => { const { subscription } = useSubscription(); const { currentOrg } = useOrganization(); @@ -82,38 +71,28 @@ export const SidebarFooter = ({ isCollapsed, onToggleSidebar }: Props) => { subscription && subscription.slug === "starter" && !subscription.has_used_trial ? "mb-2" : "mb-4" - } flex w-full cursor-default flex-col items-center ${isCollapsed ? "px-1" : "px-2"} text-sm text-mineshaft-400`} + } flex w-full cursor-default flex-col items-center px-2 text-sm text-mineshaft-400`} > {(window.location.origin.includes("https://app.infisical.com") || - window.location.origin.includes("https://gamma.infisical.com")) && - !isCollapsed && } - {!isCollapsed && ( - -
    - - Invite people -
    - - )} + window.location.origin.includes("https://gamma.infisical.com")) && } + +
    + + Invite people +
    + - {isCollapsed ? ( - - - Support - - ) : ( -
    - - Help & Support -
    - )} +
    + + Help & Support +
    {INFISICAL_SUPPORT_OPTIONS.map(([icon, text, url]) => ( @@ -161,39 +140,19 @@ export const SidebarFooter = ({ isCollapsed, onToggleSidebar }: Props) => {
    )} - {isCollapsed ? ( - - - - ) : ( - - - Collapse - - )} - - {isCollapsed ? ( + +
    +
    + {user?.firstName?.charAt(0)} +
    +
    + {user?.firstName} {user?.lastName} +
    - -
    - {user?.firstName?.charAt(0)} -
    -
    +
    - ) : ( -
    -
    - {user?.firstName?.charAt(0)} -
    -
    - {user?.firstName} {user?.lastName} -
    -
    - -
    -
    - )} +
    {user?.username}
    diff --git a/frontend/src/layouts/OrganizationLayout/components/SidebarHeader/SidebarHeader.tsx b/frontend/src/layouts/OrganizationLayout/components/SidebarHeader/SidebarHeader.tsx index fe68e8bd4..2412cff60 100644 --- a/frontend/src/layouts/OrganizationLayout/components/SidebarHeader/SidebarHeader.tsx +++ b/frontend/src/layouts/OrganizationLayout/components/SidebarHeader/SidebarHeader.tsx @@ -1,4 +1,4 @@ -import { faCheck, faSort } from "@fortawesome/free-solid-svg-icons"; +import { faCheck, faSignOut, faSort } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { useNavigate } from "@tanstack/react-router"; @@ -12,14 +12,12 @@ import { import { useOrganization } from "@app/context"; import { useGetOrganizations, useLogoutUser } from "@app/hooks/api"; import { AuthMethod } from "@app/hooks/api/users/types"; -import { twMerge } from "tailwind-merge"; type Prop = { onChangeOrg: (orgId: string) => void; - isCollapsed?: boolean; }; -export const SidebarHeader = ({ onChangeOrg, isCollapsed }: Prop) => { +export const SidebarHeader = ({ onChangeOrg }: Prop) => { const { currentOrg } = useOrganization(); const navigate = useNavigate(); const { data: orgs } = useGetOrganizations(); @@ -36,38 +34,20 @@ export const SidebarHeader = ({ onChangeOrg, isCollapsed }: Prop) => { }; return ( -
    +
    -
    - {isCollapsed ? ( -
    - {currentOrg?.name.charAt(0)} +
    +
    + {currentOrg?.name.charAt(0)} +
    +
    +
    + {currentOrg?.name}
    - ) : ( - <> -
    - {currentOrg?.name.charAt(0)} -
    -
    -
    - {currentOrg?.name} -
    -
    Free Plan
    -
    - - - )} +
    Free Plan
    +
    +
    @@ -113,139 +93,11 @@ export const SidebarHeader = ({ onChangeOrg, isCollapsed }: Prop) => { ); })}
    - + }> + Log Out +
    ); }; - -// -// -//
    -//
    -// {currentOrg?.name.charAt(0)} -//
    -//
    -// {currentOrg?.name} -//
    -// -//
    -//
    -// -//
    {user?.username}
    -// {orgs?.map((org) => { -// return ( -// -// -// -// ); -// })} -//
    -// -// -// -// -// -//
    -// {user?.firstName?.charAt(0)} -// {user?.lastName && user?.lastName?.charAt(0)} -//
    -//
    -// -//
    {user?.username}
    -// -// Personal Settings -// -// -// -// Documentation -// -// -// -// -// -// Join Slack Community -// -// -// -// {user?.superAdmin && ( -// -// -// Server Admin Console -// -// -// )} -// -// -// Organization Admin Console -// -// -//
    -// -// -// diff --git a/frontend/src/layouts/ProjectLayout/ProjectLayout.tsx b/frontend/src/layouts/ProjectLayout/ProjectLayout.tsx index 62b94bd32..2a1b8bcd3 100644 --- a/frontend/src/layouts/ProjectLayout/ProjectLayout.tsx +++ b/frontend/src/layouts/ProjectLayout/ProjectLayout.tsx @@ -4,21 +4,18 @@ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { Link, Outlet, useRouterState } from "@tanstack/react-router"; import { - Breadcrumb, - BreadcrumbItem, - BreadcrumbLink, - BreadcrumbList, - BreadcrumbPage, - BreadcrumbSeparator, + BreadcrumbContainer, Menu, MenuGroup, - MenuItem + MenuItem, + TBreadcrumbFormat } from "@app/components/v2"; import { useWorkspace } from "@app/context"; import { useGetAccessRequestsCount, useGetSecretApprovalRequestCount } from "@app/hooks/api"; import { ProjectType } from "@app/hooks/api/workspace/types"; import { InsecureConnectionBanner } from "../OrganizationLayout/components/InsecureConnectionBanner"; +import { MinimizedOrgSidebar } from "./components/MinimizedOrgSidebar"; import { ProjectSelect } from "./components/ProjectSelect"; // This is a generic layout shared by all types of projects. @@ -54,6 +51,7 @@ export const ProjectLayout = () => {
    {!window.isSecureContext && }
    + -
    - {breadcrumbs && ( -
    - - - {breadcrumbs.map((el, index) => { - const isNotLastCrumb = index + 1 !== breadcrumbs.length; - return ( - <> - {el.link && isNotLastCrumb && !("disabled" in el.link) ? ( - - - {el.label} - - - ) : ( - - {el.label} - - )} - {isNotLastCrumb && } - - ); - })} - - -
    - )} +
    + {breadcrumbs ? ( + + ) : null}
    diff --git a/frontend/src/layouts/OrganizationLayout/components/MenuIconButton/MenuIconButton.tsx b/frontend/src/layouts/ProjectLayout/components/MenuIconButton/MenuIconButton.tsx similarity index 89% rename from frontend/src/layouts/OrganizationLayout/components/MenuIconButton/MenuIconButton.tsx rename to frontend/src/layouts/ProjectLayout/components/MenuIconButton/MenuIconButton.tsx index 0a07a4ef3..a42146bed 100644 --- a/frontend/src/layouts/OrganizationLayout/components/MenuIconButton/MenuIconButton.tsx +++ b/frontend/src/layouts/ProjectLayout/components/MenuIconButton/MenuIconButton.tsx @@ -1,8 +1,8 @@ import { ComponentPropsWithRef, ElementType, useRef } from "react"; import { DotLottie, DotLottieReact } from "@lottiefiles/dotlottie-react"; +import { twMerge } from "tailwind-merge"; import { MenuItemProps } from "@app/components/v2"; -import { twMerge } from "tailwind-merge"; export const MenuIconButton = ({ children, @@ -10,7 +10,7 @@ export const MenuIconButton = ({ className, isDisabled, isSelected, - as: Item = "button", + as: Item = "div", description, // wrapping in forward ref with generic component causes the loss of ts definitions on props inputRef, @@ -35,7 +35,7 @@ export const MenuIconButton = ({
    {icon && (
    @@ -49,7 +49,7 @@ export const MenuIconButton = ({ />
    )} - {children} +
    {children}
    ); }; diff --git a/frontend/src/layouts/OrganizationLayout/components/MenuIconButton/index.tsx b/frontend/src/layouts/ProjectLayout/components/MenuIconButton/index.tsx similarity index 100% rename from frontend/src/layouts/OrganizationLayout/components/MenuIconButton/index.tsx rename to frontend/src/layouts/ProjectLayout/components/MenuIconButton/index.tsx diff --git a/frontend/src/layouts/ProjectLayout/components/MinimizedOrgSidebar/MinimizedOrgSidebar.tsx b/frontend/src/layouts/ProjectLayout/components/MinimizedOrgSidebar/MinimizedOrgSidebar.tsx new file mode 100644 index 000000000..04d960e00 --- /dev/null +++ b/frontend/src/layouts/ProjectLayout/components/MinimizedOrgSidebar/MinimizedOrgSidebar.tsx @@ -0,0 +1,447 @@ +import { useState } from "react"; +import { + faArrowUpRightFromSquare, + faBook, + faCheck, + faCog, + faEllipsis, + faInfinity, + faInfo, + faInfoCircle, + faMoneyBill, + faReply, + faShare, + faSignOut, + faUsers +} from "@fortawesome/free-solid-svg-icons"; +import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +import { useQueryClient } from "@tanstack/react-query"; +import { Link, useNavigate, useRouter } from "@tanstack/react-router"; +import { motion } from "framer-motion"; + +import { Mfa } from "@app/components/auth/Mfa"; +import { CreateOrgModal } from "@app/components/organization/CreateOrgModal"; +import SecurityClient from "@app/components/utilities/SecurityClient"; +import { + Button, + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuLabel, + DropdownMenuTrigger +} from "@app/components/v2"; +import { envConfig } from "@app/config/env"; +import { useOrganization, useSubscription, useUser } from "@app/context"; +import { usePopUp, useToggle } from "@app/hooks"; +import { + useGetOrganizations, + useGetOrgTrialUrl, + useLogoutUser, + useSelectOrganization, + workspaceKeys +} from "@app/hooks/api"; +import { authKeys } from "@app/hooks/api/auth/queries"; +import { MfaMethod } from "@app/hooks/api/auth/types"; +import { AuthMethod } from "@app/hooks/api/users/types"; +import { ProjectType } from "@app/hooks/api/workspace/types"; +import { INFISICAL_SUPPORT_OPTIONS } from "@app/layouts/OrganizationLayout/components/SidebarFooter/SidebarFooter"; +import { navigateUserToOrg } from "@app/pages/auth/LoginPage/Login.utils"; + +import { MenuIconButton } from "../MenuIconButton"; +import { ProjectSwitcher } from "./ProjectSwitcher"; + +export const MinimizedOrgSidebar = () => { + const [shouldShowMfa, toggleShowMfa] = useToggle(false); + const [requiredMfaMethod, setRequiredMfaMethod] = useState(MfaMethod.EMAIL); + const [mfaSuccessCallback, setMfaSuccessCallback] = useState<() => void>(() => {}); + const { subscription } = useSubscription(); + + const { user } = useUser(); + const { mutateAsync } = useGetOrgTrialUrl(); + + const { currentOrg } = useOrganization(); + const { data: orgs } = useGetOrganizations(); + + const { popUp, handlePopUpToggle } = usePopUp(["createOrg"] as const); + const { mutateAsync: selectOrganization } = useSelectOrganization(); + const navigate = useNavigate(); + const router = useRouter(); + const queryClient = useQueryClient(); + + const handleOrgChange = async (orgId: string) => { + queryClient.removeQueries({ queryKey: authKeys.getAuthToken }); + queryClient.removeQueries({ queryKey: workspaceKeys.getAllUserWorkspace() }); + + const { token, isMfaEnabled, mfaMethod } = await selectOrganization({ + organizationId: orgId + }); + + if (isMfaEnabled) { + SecurityClient.setMfaToken(token); + if (mfaMethod) { + setRequiredMfaMethod(mfaMethod); + } + toggleShowMfa.on(); + setMfaSuccessCallback(() => () => handleOrgChange(orgId)); + return; + } + await router.invalidate(); + await navigateUserToOrg(navigate, orgId); + }; + + const logout = useLogoutUser(); + const logOutUser = async () => { + try { + console.log("Logging out..."); + await logout.mutateAsync(); + navigate({ to: "/login" }); + } catch (error) { + console.error(error); + } + }; + + if (shouldShowMfa) { + return ( +
    + toggleShowMfa.off()} + /> +
    + ); + } + + return ( + <> + + handlePopUpToggle("createOrg", false)} + /> + + ); +}; diff --git a/frontend/src/layouts/ProjectLayout/components/MinimizedOrgSidebar/ProjectSwitcher.tsx b/frontend/src/layouts/ProjectLayout/components/MinimizedOrgSidebar/ProjectSwitcher.tsx new file mode 100644 index 000000000..6a69a4834 --- /dev/null +++ b/frontend/src/layouts/ProjectLayout/components/MinimizedOrgSidebar/ProjectSwitcher.tsx @@ -0,0 +1,59 @@ +import { useState } from "react"; +import { faExternalLink, faSearch } from "@fortawesome/free-solid-svg-icons"; +import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +import { Link } from "@tanstack/react-router"; + +import { DropdownMenuItem, EmptyState, Input } from "@app/components/v2"; +import { getProjectTitle } from "@app/helpers/project"; +import { useGetUserWorkspaces } from "@app/hooks/api"; +import { ProjectType } from "@app/hooks/api/workspace/types"; + +type Props = { + type: ProjectType; +}; + +export const ProjectSwitcher = ({ type }: Props) => { + const { data: workspaces, isPending } = useGetUserWorkspaces({ type }); + const [search, setSearch] = useState(""); + + const filteredWorkspaces = workspaces?.filter((el) => + el.name.toLowerCase().includes(search.toLowerCase()) + ); + + return ( + <> + +
    + {getProjectTitle(type)} projects + +
    + +
    + } + value={search} + onChange={(evt) => setSearch(evt.target.value)} + size="xs" + placeholder="Search by name" + className="" + /> +
    +
    + {filteredWorkspaces?.map((el) => ( + + + {el.name} + + + ))} + {!isPending && !filteredWorkspaces?.length && ( + + )} +
    + + ); +}; diff --git a/frontend/src/layouts/ProjectLayout/components/MinimizedOrgSidebar/index.tsx b/frontend/src/layouts/ProjectLayout/components/MinimizedOrgSidebar/index.tsx new file mode 100644 index 000000000..f8df49034 --- /dev/null +++ b/frontend/src/layouts/ProjectLayout/components/MinimizedOrgSidebar/index.tsx @@ -0,0 +1 @@ +export { MinimizedOrgSidebar } from "./MinimizedOrgSidebar"; diff --git a/frontend/src/pages/cert-manager/CertAuthDetailsByIDPage/CertAuthDetailsByIDPage.tsx b/frontend/src/pages/cert-manager/CertAuthDetailsByIDPage/CertAuthDetailsByIDPage.tsx index ba3bc311a..75d0ca139 100644 --- a/frontend/src/pages/cert-manager/CertAuthDetailsByIDPage/CertAuthDetailsByIDPage.tsx +++ b/frontend/src/pages/cert-manager/CertAuthDetailsByIDPage/CertAuthDetailsByIDPage.tsx @@ -1,6 +1,4 @@ import { Helmet } from "react-helmet"; -import { faChevronLeft, faEllipsis } from "@fortawesome/free-solid-svg-icons"; -import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { useNavigate, useParams } from "@tanstack/react-router"; import { twMerge } from "tailwind-merge"; @@ -91,7 +89,7 @@ const Page = () => {
    - + { const { t } = useTranslation(); diff --git a/frontend/src/pages/organization/AccessManagementPage/route.tsx b/frontend/src/pages/organization/AccessManagementPage/route.tsx index 7dffb1495..7caa58de4 100644 --- a/frontend/src/pages/organization/AccessManagementPage/route.tsx +++ b/frontend/src/pages/organization/AccessManagementPage/route.tsx @@ -1,3 +1,5 @@ +import { faHome } from "@fortawesome/free-solid-svg-icons"; +import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { createFileRoute, linkOptions, stripSearchParams } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -23,7 +25,8 @@ export const Route = createFileRoute( context: () => ({ breadcrumbs: [ { - label: "home", + label: "Home", + icon: () => , link: linkOptions({ to: "/" }) }, { diff --git a/frontend/src/pages/organization/AdminPage/route.tsx b/frontend/src/pages/organization/AdminPage/route.tsx index b195c778e..0ab2a530f 100644 --- a/frontend/src/pages/organization/AdminPage/route.tsx +++ b/frontend/src/pages/organization/AdminPage/route.tsx @@ -1,3 +1,5 @@ +import { faHome } from "@fortawesome/free-solid-svg-icons"; +import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { AdminPage } from "./AdminPage"; @@ -9,7 +11,8 @@ export const Route = createFileRoute( context: () => ({ breadcrumbs: [ { - label: "home", + label: "Home", + icon: () => , link: linkOptions({ to: "/organization/secret-manager/overview" }) }, { diff --git a/frontend/src/pages/organization/AuditLogsPage/AuditLogsPage.tsx b/frontend/src/pages/organization/AuditLogsPage/AuditLogsPage.tsx index 688a60457..737a09b66 100644 --- a/frontend/src/pages/organization/AuditLogsPage/AuditLogsPage.tsx +++ b/frontend/src/pages/organization/AuditLogsPage/AuditLogsPage.tsx @@ -1,8 +1,9 @@ import { Helmet } from "react-helmet"; -import { LogsSection } from "./components"; import { PageHeader } from "@app/components/v2"; +import { LogsSection } from "./components"; + export const AuditLogsPage = () => { return (
    diff --git a/frontend/src/pages/organization/AuditLogsPage/route.tsx b/frontend/src/pages/organization/AuditLogsPage/route.tsx index 0437b1271..b9f96b0ec 100644 --- a/frontend/src/pages/organization/AuditLogsPage/route.tsx +++ b/frontend/src/pages/organization/AuditLogsPage/route.tsx @@ -1,3 +1,5 @@ +import { faHome } from "@fortawesome/free-solid-svg-icons"; +import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { AuditLogsPage } from "./AuditLogsPage"; @@ -9,7 +11,8 @@ export const Route = createFileRoute( context: () => ({ breadcrumbs: [ { - label: "home", + label: "Home", + icon: () => , link: linkOptions({ to: "/organization/secret-manager/overview" }) }, { diff --git a/frontend/src/pages/organization/CertManagerOverviewPage/route.tsx b/frontend/src/pages/organization/CertManagerOverviewPage/route.tsx index 1a1c17fc9..21dc45fbc 100644 --- a/frontend/src/pages/organization/CertManagerOverviewPage/route.tsx +++ b/frontend/src/pages/organization/CertManagerOverviewPage/route.tsx @@ -1,3 +1,5 @@ +import { faHome } from "@fortawesome/free-solid-svg-icons"; +import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { CertManagerOverviewPage } from "./CertManagerOverviewPage"; @@ -9,8 +11,8 @@ export const Route = createFileRoute( context: () => ({ breadcrumbs: [ { - label: "products", - link: linkOptions({ disabled: true, to: "/" }) + label: "Products", + icon: () => }, { label: "Cert Management", diff --git a/frontend/src/pages/organization/GroupDetailsByIDPage/route.tsx b/frontend/src/pages/organization/GroupDetailsByIDPage/route.tsx index f5c43cb77..c977b3768 100644 --- a/frontend/src/pages/organization/GroupDetailsByIDPage/route.tsx +++ b/frontend/src/pages/organization/GroupDetailsByIDPage/route.tsx @@ -1,3 +1,5 @@ +import { faHome } from "@fortawesome/free-solid-svg-icons"; +import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { GroupDetailsByIDPage } from "./GroupDetailsByIDPage"; @@ -9,7 +11,8 @@ export const Route = createFileRoute( context: () => ({ breadcrumbs: [ { - label: "home", + label: "Home", + icon: () => , link: linkOptions({ to: "/organization/secret-manager/overview" }) }, { diff --git a/frontend/src/pages/organization/IdentityDetailsByIDPage/route.tsx b/frontend/src/pages/organization/IdentityDetailsByIDPage/route.tsx index 58a50bd16..d2f4c40a0 100644 --- a/frontend/src/pages/organization/IdentityDetailsByIDPage/route.tsx +++ b/frontend/src/pages/organization/IdentityDetailsByIDPage/route.tsx @@ -1,3 +1,5 @@ +import { faHome } from "@fortawesome/free-solid-svg-icons"; +import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { IdentityDetailsByIDPage } from "./IdentityDetailsByIDPage"; @@ -9,7 +11,8 @@ export const Route = createFileRoute( context: () => ({ breadcrumbs: [ { - label: "home", + label: "Home", + icon: () => , link: linkOptions({ to: "/organization/secret-manager/overview" }) }, { diff --git a/frontend/src/pages/organization/KmsOverviewPage/route.tsx b/frontend/src/pages/organization/KmsOverviewPage/route.tsx index 42ab611bd..bfb7c9cd1 100644 --- a/frontend/src/pages/organization/KmsOverviewPage/route.tsx +++ b/frontend/src/pages/organization/KmsOverviewPage/route.tsx @@ -1,3 +1,5 @@ +import { faHome } from "@fortawesome/free-solid-svg-icons"; +import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { KmsOverviewPage } from "./KmsOverviewPage"; @@ -9,8 +11,8 @@ export const Route = createFileRoute( context: () => ({ breadcrumbs: [ { - label: "products", - link: linkOptions({ disabled: true, to: "/" }) + label: "Products", + icon: () => }, { label: "KMS", diff --git a/frontend/src/pages/organization/RoleByIDPage/route.tsx b/frontend/src/pages/organization/RoleByIDPage/route.tsx index 250478f19..fe41a9b7d 100644 --- a/frontend/src/pages/organization/RoleByIDPage/route.tsx +++ b/frontend/src/pages/organization/RoleByIDPage/route.tsx @@ -1,3 +1,5 @@ +import { faHome } from "@fortawesome/free-solid-svg-icons"; +import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { RoleByIDPage } from "./RoleByIDPage"; @@ -9,7 +11,8 @@ export const Route = createFileRoute( context: () => ({ breadcrumbs: [ { - label: "home", + label: "Home", + icon: () => , link: linkOptions({ to: "/organization/secret-manager/overview" }) }, { diff --git a/frontend/src/pages/organization/SecretManagerOverviewPage/SecretManagerOverviewPage.tsx b/frontend/src/pages/organization/SecretManagerOverviewPage/SecretManagerOverviewPage.tsx index dc89362b5..7d3f7009a 100644 --- a/frontend/src/pages/organization/SecretManagerOverviewPage/SecretManagerOverviewPage.tsx +++ b/frontend/src/pages/organization/SecretManagerOverviewPage/SecretManagerOverviewPage.tsx @@ -366,7 +366,7 @@ export const ProductOverviewPage = ({ type }: Props) => { } return ( -
    +
    {t("common.head-title", { title: t("settings.members.title") })} diff --git a/frontend/src/pages/organization/SecretManagerOverviewPage/route.tsx b/frontend/src/pages/organization/SecretManagerOverviewPage/route.tsx index 10bf601e1..4d02c1795 100644 --- a/frontend/src/pages/organization/SecretManagerOverviewPage/route.tsx +++ b/frontend/src/pages/organization/SecretManagerOverviewPage/route.tsx @@ -1,4 +1,6 @@ -import { createFileRoute, linkOptions } from "@tanstack/react-router"; +import { faHome } from "@fortawesome/free-solid-svg-icons"; +import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +import { createFileRoute } from "@tanstack/react-router"; import { SecretManagerOverviewPage } from "./SecretManagerOverviewPage"; @@ -9,12 +11,11 @@ export const Route = createFileRoute( context: () => ({ breadcrumbs: [ { - label: "products", - link: linkOptions({ disabled: true, to: "/" }) + label: "Products", + icon: () => }, { - label: "Secret Management", - link: linkOptions({ to: "/organization/secret-manager/overview" }) + label: "Secret Management" } ] }) diff --git a/frontend/src/pages/organization/SecretScanningPage/route.tsx b/frontend/src/pages/organization/SecretScanningPage/route.tsx index 27dbece84..c25805439 100644 --- a/frontend/src/pages/organization/SecretScanningPage/route.tsx +++ b/frontend/src/pages/organization/SecretScanningPage/route.tsx @@ -1,3 +1,5 @@ +import { faHome } from "@fortawesome/free-solid-svg-icons"; +import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { createFileRoute, linkOptions, stripSearchParams } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -25,11 +27,12 @@ export const Route = createFileRoute( context: () => ({ breadcrumbs: [ { - label: "home", + label: "Home", + icon: () => , link: linkOptions({ to: "/" }) }, { - label: "secret scanning" + label: "Secret Scanning" } ] }) diff --git a/frontend/src/pages/organization/SecretSharingPage/SecretSharingPage.tsx b/frontend/src/pages/organization/SecretSharingPage/SecretSharingPage.tsx index 8270d9cdc..2eee282db 100644 --- a/frontend/src/pages/organization/SecretSharingPage/SecretSharingPage.tsx +++ b/frontend/src/pages/organization/SecretSharingPage/SecretSharingPage.tsx @@ -3,9 +3,10 @@ import { useTranslation } from "react-i18next"; import { faArrowUpRightFromSquare } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { ShareSecretSection } from "./components"; import { PageHeader } from "@app/components/v2"; +import { ShareSecretSection } from "./components"; + export const SecretSharingPage = () => { const { t } = useTranslation(); diff --git a/frontend/src/pages/organization/SecretSharingPage/route.tsx b/frontend/src/pages/organization/SecretSharingPage/route.tsx index 1389edd40..26f1126ac 100644 --- a/frontend/src/pages/organization/SecretSharingPage/route.tsx +++ b/frontend/src/pages/organization/SecretSharingPage/route.tsx @@ -1,3 +1,5 @@ +import { faHome } from "@fortawesome/free-solid-svg-icons"; +import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { SecretSharingPage } from "./SecretSharingPage"; @@ -9,7 +11,8 @@ export const Route = createFileRoute( context: () => ({ breadcrumbs: [ { - label: "home", + label: "Home", + icon: () => , link: linkOptions({ to: "/" }) }, { diff --git a/frontend/src/pages/organization/SettingsPage/SettingsPage.tsx b/frontend/src/pages/organization/SettingsPage/SettingsPage.tsx index 454c7c100..263672313 100644 --- a/frontend/src/pages/organization/SettingsPage/SettingsPage.tsx +++ b/frontend/src/pages/organization/SettingsPage/SettingsPage.tsx @@ -1,9 +1,10 @@ import { Helmet } from "react-helmet"; import { useTranslation } from "react-i18next"; -import { OrgTabGroup } from "./components"; import { PageHeader } from "@app/components/v2"; +import { OrgTabGroup } from "./components"; + export const SettingsPage = () => { const { t } = useTranslation(); diff --git a/frontend/src/pages/organization/SettingsPage/route.tsx b/frontend/src/pages/organization/SettingsPage/route.tsx index 40ac5b53f..161cede84 100644 --- a/frontend/src/pages/organization/SettingsPage/route.tsx +++ b/frontend/src/pages/organization/SettingsPage/route.tsx @@ -1,3 +1,5 @@ +import { faHome } from "@fortawesome/free-solid-svg-icons"; +import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { createFileRoute, linkOptions, stripSearchParams } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -19,7 +21,8 @@ export const Route = createFileRoute( context: () => ({ breadcrumbs: [ { - label: "home", + label: "Home", + icon: () => , link: linkOptions({ to: "/" }) }, { diff --git a/frontend/src/pages/organization/SshOverviewPage/route.tsx b/frontend/src/pages/organization/SshOverviewPage/route.tsx index e23f9bab3..fd1441a21 100644 --- a/frontend/src/pages/organization/SshOverviewPage/route.tsx +++ b/frontend/src/pages/organization/SshOverviewPage/route.tsx @@ -1,3 +1,5 @@ +import { faHome } from "@fortawesome/free-solid-svg-icons"; +import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { SshOverviewPage } from "./SshOverviewPage"; @@ -9,8 +11,8 @@ export const Route = createFileRoute( context: () => ({ breadcrumbs: [ { - label: "products", - link: linkOptions({ disabled: true, to: "/" }) + label: "Products", + icon: () => }, { label: "SSH", diff --git a/frontend/src/pages/organization/UserDetailsByIDPage/route.tsx b/frontend/src/pages/organization/UserDetailsByIDPage/route.tsx index 4806c9124..f2760c357 100644 --- a/frontend/src/pages/organization/UserDetailsByIDPage/route.tsx +++ b/frontend/src/pages/organization/UserDetailsByIDPage/route.tsx @@ -1,3 +1,5 @@ +import { faHome } from "@fortawesome/free-solid-svg-icons"; +import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { UserDetailsByIDPage } from "./UserDetailsByIDPage"; @@ -9,7 +11,8 @@ export const Route = createFileRoute( context: () => ({ breadcrumbs: [ { - label: "home", + label: "Home", + icon: () => , link: linkOptions({ to: "/organization/secret-manager/overview" }) }, { diff --git a/frontend/src/pages/project/AccessControlPage/AccessControlPage.tsx b/frontend/src/pages/project/AccessControlPage/AccessControlPage.tsx index d95ccddf0..219de8305 100644 --- a/frontend/src/pages/project/AccessControlPage/AccessControlPage.tsx +++ b/frontend/src/pages/project/AccessControlPage/AccessControlPage.tsx @@ -4,7 +4,6 @@ import { useNavigate, useSearch } from "@tanstack/react-router"; import { PageHeader, Tab, TabList, TabPanel, Tabs } from "@app/components/v2"; import { ProjectPermissionActions, ProjectPermissionSub, useWorkspace } from "@app/context"; -import { getProjectTitle } from "@app/helpers/project"; import { withProjectPermission } from "@app/hoc"; import { ProjectType } from "@app/hooks/api/workspace/types"; import { ProjectAccessControlTabs } from "@app/types/project"; diff --git a/frontend/src/pages/project/IdentityDetailsByIDPage/IdentityDetailsByIDPage.tsx b/frontend/src/pages/project/IdentityDetailsByIDPage/IdentityDetailsByIDPage.tsx index 841c8f0d5..80ae5dd2e 100644 --- a/frontend/src/pages/project/IdentityDetailsByIDPage/IdentityDetailsByIDPage.tsx +++ b/frontend/src/pages/project/IdentityDetailsByIDPage/IdentityDetailsByIDPage.tsx @@ -1,16 +1,13 @@ import { Helmet } from "react-helmet"; import { useTranslation } from "react-i18next"; import { subject } from "@casl/ability"; -import { faChevronLeft } from "@fortawesome/free-solid-svg-icons"; -import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { useNavigate, useParams } from "@tanstack/react-router"; -import { format, formatRelative } from "date-fns"; +import { formatRelative } from "date-fns"; import { createNotification } from "@app/components/notifications"; import { ProjectPermissionCan } from "@app/components/permissions"; import { Button, DeleteActionModal, EmptyState, PageHeader, Spinner } from "@app/components/v2"; import { ProjectPermissionActions, ProjectPermissionSub, useWorkspace } from "@app/context"; -import { getProjectTitle } from "@app/helpers/project"; import { usePopUp } from "@app/hooks"; import { useDeleteIdentityFromWorkspace, diff --git a/frontend/src/pages/project/MemberDetailsByIDPage/MemberDetailsByIDPage.tsx b/frontend/src/pages/project/MemberDetailsByIDPage/MemberDetailsByIDPage.tsx index 49b746bc7..790214141 100644 --- a/frontend/src/pages/project/MemberDetailsByIDPage/MemberDetailsByIDPage.tsx +++ b/frontend/src/pages/project/MemberDetailsByIDPage/MemberDetailsByIDPage.tsx @@ -79,7 +79,7 @@ export const Page = () => { } return ( -
    +
    {membershipDetails ? ( <> { ); return ( -
    +
    {view === IntegrationView.List ? ( )}
    -
    +
    {onViewActiveIntegrations && (
    -
    +
    {isLoading && Array.from({ length: 12 }).map((_, index) => ( diff --git a/frontend/src/pages/secret-manager/IntegrationsListPage/components/FrameworkIntegrationSection/FrameworkIntegrationSection.tsx b/frontend/src/pages/secret-manager/IntegrationsListPage/components/FrameworkIntegrationSection/FrameworkIntegrationSection.tsx index 282b30311..211759dcc 100644 --- a/frontend/src/pages/secret-manager/IntegrationsListPage/components/FrameworkIntegrationSection/FrameworkIntegrationSection.tsx +++ b/frontend/src/pages/secret-manager/IntegrationsListPage/components/FrameworkIntegrationSection/FrameworkIntegrationSection.tsx @@ -12,11 +12,11 @@ export const FrameworkIntegrationSection = () => { return ( <> -
    +

    {t("integrations.framework-integrations")}

    {t("integrations.click-to-setup")}

    -
    +
    {sortedFrameworks.map((framework) => ( { return ( <> -
    +

    Infrastructure Integrations

    Click on of the integration to read the documentation.

    -
    +
    {sortedIntegrations.map((integration) => ( { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/OverviewPage/OverviewPage.tsx b/frontend/src/pages/secret-manager/OverviewPage/OverviewPage.tsx index 308f5f1a6..6f9d4c9b2 100644 --- a/frontend/src/pages/secret-manager/OverviewPage/OverviewPage.tsx +++ b/frontend/src/pages/secret-manager/OverviewPage/OverviewPage.tsx @@ -19,7 +19,6 @@ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { Link, useNavigate, useRouter, useSearch } from "@tanstack/react-router"; import { twMerge } from "tailwind-merge"; -import NavHeader from "@app/components/navigation/NavHeader"; import { createNotification } from "@app/components/notifications"; import { ProjectPermissionCan } from "@app/components/permissions"; import { @@ -34,6 +33,7 @@ import { IconButton, Modal, ModalContent, + PageHeader, Pagination, Table, TableContainer, @@ -661,22 +661,17 @@ export const OverviewPage = () => { ); return ( -
    +
    {t("common.head-title", { title: t("dashboard.title") })} - - -
    -
    - -
    -
    -
    -
    -

    Secrets Overview

    +
    -
    - -
    - {userAvailableEnvs.length > 0 && ( - - - - - - - - - - {/* + } + /> +
    +
    + +
    + {userAvailableEnvs.length > 0 && ( + + + + + + + + + + {/* */} - Filter project resources - { - e.preventDefault(); - handleToggleRowType(RowType.Folder); - }} - icon={filter[RowType.Folder] && } - iconPos="right" - > -
    - - Folders -
    -
    - { - e.preventDefault(); - handleToggleRowType(RowType.DynamicSecret); - }} - icon={ - filter[RowType.DynamicSecret] && - } - iconPos="right" - > -
    - - Dynamic Secrets -
    -
    - { - e.preventDefault(); - handleToggleRowType(RowType.Secret); - }} - icon={filter[RowType.Secret] && } - iconPos="right" - > -
    - - Secrets -
    -
    - Choose visible environments - {userAvailableEnvs.map((availableEnv) => { - const { id: envId, name } = availableEnv; + Filter project resources + { + e.preventDefault(); + handleToggleRowType(RowType.Folder); + }} + icon={filter[RowType.Folder] && } + iconPos="right" + > +
    + + Folders +
    +
    + { + e.preventDefault(); + handleToggleRowType(RowType.DynamicSecret); + }} + icon={filter[RowType.DynamicSecret] && } + iconPos="right" + > +
    + + Dynamic Secrets +
    +
    + { + e.preventDefault(); + handleToggleRowType(RowType.Secret); + }} + icon={filter[RowType.Secret] && } + iconPos="right" + > +
    + + Secrets +
    +
    + Choose visible environments + {userAvailableEnvs.map((availableEnv) => { + const { id: envId, name } = availableEnv; - const isEnvSelected = visibleEnvs.map((env) => env.id).includes(envId); - return ( - { - e.preventDefault(); - handleEnvSelect(envId); - }} - key={envId} - disabled={visibleEnvs?.length === 1} - icon={isEnvSelected && } - iconPos="right" - > -
    {name}
    -
    - ); - })} + const isEnvSelected = visibleEnvs.map((env) => env.id).includes(envId); + return ( + { + e.preventDefault(); + handleEnvSelect(envId); + }} + key={envId} + disabled={visibleEnvs?.length === 1} + icon={isEnvSelected && } + iconPos="right" + > +
    {name}
    +
    + ); + })} +
    +
    + )} + + {userAvailableEnvs.length > 0 && ( +
    + + handlePopUpToggle("misc", isOpen)} + > + + + + + + +
    + + {(isAllowed) => ( + + )} + +
    - )} - - {userAvailableEnvs.length > 0 && ( -
    - - handlePopUpToggle("misc", isOpen)} - > - - - - - - -
    - - {(isAllowed) => ( - - )} - -
    -
    -
    -
    - )} -
    +
    + )}
    { : TabSection.SecretApprovalRequests; return ( -
    +
    {t("common.head-title", { title: t("approval.title") })} - - -
    - +
    + + + + Documentation + + + + diff --git a/frontend/src/pages/secret-manager/SecretApprovalsPage/route.tsx b/frontend/src/pages/secret-manager/SecretApprovalsPage/route.tsx index 6d26a3a2f..94d8f9035 100644 --- a/frontend/src/pages/secret-manager/SecretApprovalsPage/route.tsx +++ b/frontend/src/pages/secret-manager/SecretApprovalsPage/route.tsx @@ -12,5 +12,15 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/approval" )({ component: SecretApprovalsPage, - validateSearch: zodValidator(SecretApprovalPageQueryParams) + validateSearch: zodValidator(SecretApprovalPageQueryParams), + beforeLoad: ({ context }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Approvals" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/SecretDashboardPage.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/SecretDashboardPage.tsx index 48708d67d..daf875a78 100644 --- a/frontend/src/pages/secret-manager/SecretDashboardPage/SecretDashboardPage.tsx +++ b/frontend/src/pages/secret-manager/SecretDashboardPage/SecretDashboardPage.tsx @@ -7,7 +7,6 @@ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { useNavigate, useParams, useSearch } from "@tanstack/react-router"; import { twMerge } from "tailwind-merge"; -import NavHeader from "@app/components/navigation/NavHeader"; import { createNotification } from "@app/components/notifications"; import { PermissionDeniedBanner } from "@app/components/permissions"; import { @@ -67,7 +66,6 @@ const LOADER_TEXT = [ ]; const Page = () => { - const { t } = useTranslation(); const { currentWorkspace } = useWorkspace(); const navigate = useNavigate({ from: ROUTE_PATHS.SecretManager.SecretDashboardPage.path @@ -264,18 +262,6 @@ const Page = () => { state === OrderByDirection.ASC ? OrderByDirection.DESC : OrderByDirection.ASC ); - const handleEnvChange = (slug: string) => { - navigate({ - params: { - envSlug: slug - }, - search: (state) => { - const newState = { ...state, secretPath: undefined }; - return newState; - } - }); - }; - const handleTagToggle = useCallback( (tagSlug: string) => setFilter((state) => { @@ -396,21 +382,8 @@ const Page = () => { setDebouncedSearchFilter(""); }; return ( -
    +
    -
    - -
    {!isRollbackMode ? ( <> { isSnapshotCountLoading={isSnapshotCountLoading} onToggleRowType={handleToggleRowType} onClickRollbackMode={() => handlePopUpToggle("snapshots", true)} + protectedBranchPolicyName={boardPolicy?.name} />
    diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/ActionBar.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/ActionBar.tsx index 81c936bc7..e4de76198 100644 --- a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/ActionBar.tsx +++ b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/ActionBar.tsx @@ -15,6 +15,7 @@ import { faFolder, faFolderPlus, faKey, + faLock, faMinusSquare, faPlus, faTrash @@ -80,6 +81,7 @@ type Props = { isVisible?: boolean; snapshotCount: number; isSnapshotCountLoading?: boolean; + protectedBranchPolicyName?: string; onSearchChange: (term: string) => void; onToggleTagFilter: (tagId: string) => void; onVisibilityToggle: () => void; @@ -101,7 +103,8 @@ export const ActionBar = ({ onToggleTagFilter, onVisibilityToggle, onClickRollbackMode, - onToggleRowType + onToggleRowType, + protectedBranchPolicyName }: Props) => { const { handlePopUpOpen, handlePopUpToggle, handlePopUpClose, popUp } = usePopUp([ "addFolder", @@ -112,9 +115,9 @@ export const ActionBar = ({ "misc", "upgradePlan" ] as const); + const isProtectedBranch = Boolean(protectedBranchPolicyName); const { subscription } = useSubscription(); const { openPopUp } = usePopUpAction(); - const { mutateAsync: createFolder } = useCreateFolder(); const { mutateAsync: deleteBatchSecretV3 } = useDeleteSecretBatch(); const { mutateAsync: moveSecrets } = useMoveSecrets(); @@ -387,6 +390,15 @@ export const ActionBar = ({
    +
    + {isProtectedBranch && ( + + + + + + )} +
    diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/route.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/route.tsx index 9a5821124..ed6ffadb3 100644 --- a/frontend/src/pages/secret-manager/SecretDashboardPage/route.tsx +++ b/frontend/src/pages/secret-manager/SecretDashboardPage/route.tsx @@ -1,7 +1,10 @@ -import { createFileRoute, stripSearchParams } from "@tanstack/react-router"; +import { createFileRoute, linkOptions, stripSearchParams } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; +import { SecretDashboardPathBreadcrumb } from "@app/components/navigation/SecretDashboardPathBreadcrumb"; +import { BreadcrumbTypes } from "@app/components/v2"; + import { SecretDashboardPage } from "./SecretDashboardPage"; const SecretDashboardPageQueryParamsSchema = z.object({ @@ -9,7 +12,6 @@ const SecretDashboardPageQueryParamsSchema = z.object({ search: z.string().catch(""), tags: z.string().catch("") }); - export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/secrets/$envSlug" )({ @@ -17,5 +19,39 @@ export const Route = createFileRoute( validateSearch: zodValidator(SecretDashboardPageQueryParamsSchema), search: { middlewares: [stripSearchParams({ secretPath: "/", search: "", tags: "" })] + }, + beforeLoad: ({ context, params, search }) => { + const secretPathSegments = search.secretPath.split("/").filter(Boolean); + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + type: BreadcrumbTypes.Dropdown, + label: context.project.environments.find((el) => el.slug === params.envSlug)?.name || "", + dropdownTitle: "Environments", + links: context.project.environments.map((el) => ({ + label: el.name, + link: linkOptions({ + to: "/secret-manager/$projectId/secrets/$envSlug", + params: { + projectId: params.projectId, + envSlug: el.slug + } + }) + })) + }, + ...secretPathSegments.map((_, index) => ({ + type: BreadcrumbTypes.Component, + component: () => ( + + ) + })) + ] + }; } }); diff --git a/frontend/src/pages/secret-manager/SecretRotationPage/SecretRotationPage.tsx b/frontend/src/pages/secret-manager/SecretRotationPage/SecretRotationPage.tsx index ef66cd069..c27d34cc4 100644 --- a/frontend/src/pages/secret-manager/SecretRotationPage/SecretRotationPage.tsx +++ b/frontend/src/pages/secret-manager/SecretRotationPage/SecretRotationPage.tsx @@ -20,6 +20,7 @@ import { DeleteActionModal, EmptyState, IconButton, + PageHeader, Skeleton, Spinner, Table, @@ -137,30 +138,25 @@ const Page = () => { }; return ( -
    -
    -
    -

    Secret Rotation

    -

    - Stop manually rotating secrets and automate credential rotation. -

    -
    - -
    +
    + + + + Documentation + + + +
    Rotated Secrets
    @@ -374,7 +370,7 @@ export const SecretRotationPage = () => { const { t } = useTranslation(); return ( -
    +
    {t("common.head-title", { title: t("settings.project.title") })} diff --git a/frontend/src/pages/secret-manager/SecretRotationPage/route.tsx b/frontend/src/pages/secret-manager/SecretRotationPage/route.tsx index ad0c79c79..9cf72c6a8 100644 --- a/frontend/src/pages/secret-manager/SecretRotationPage/route.tsx +++ b/frontend/src/pages/secret-manager/SecretRotationPage/route.tsx @@ -5,5 +5,15 @@ import { SecretRotationPage } from "./SecretRotationPage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/secret-rotation" )({ - component: SecretRotationPage + component: SecretRotationPage, + beforeLoad: ({ context }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Secret Rotation" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/AzureKeyVaultAuthorizePage/AzureKeyVaultAuthorizePage.tsx b/frontend/src/pages/secret-manager/integrations/AzureKeyVaultAuthorizePage/AzureKeyVaultAuthorizePage.tsx index 419aa30bf..cbaa54eda 100644 --- a/frontend/src/pages/secret-manager/integrations/AzureKeyVaultAuthorizePage/AzureKeyVaultAuthorizePage.tsx +++ b/frontend/src/pages/secret-manager/integrations/AzureKeyVaultAuthorizePage/AzureKeyVaultAuthorizePage.tsx @@ -1,13 +1,12 @@ +import { Helmet } from "react-helmet"; import { Controller, useForm } from "react-hook-form"; - import { faArrowUpRightFromSquare, faBookOpen } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { zodResolver } from "@hookform/resolvers/zod"; +import { useSearch } from "@tanstack/react-router"; import z from "zod"; import { Button, Card, CardTitle, FormControl, Input } from "@app/components/v2"; -import { Helmet } from "react-helmet"; -import { useSearch } from "@tanstack/react-router"; import { ROUTE_PATHS } from "@app/const/routes"; const schema = z.object({ @@ -18,7 +17,7 @@ type FormData = z.infer; export function AzureKeyVaultAuthorizePage() { const { state, clientId } = useSearch({ - from: ROUTE_PATHS.SecretManager.Integratons.AzureKeyVaultAuthorizePage.id, + from: ROUTE_PATHS.SecretManager.Integratons.AzureKeyVaultAuthorizePage.id }); const { control, handleSubmit } = useForm({ @@ -38,7 +37,7 @@ export function AzureKeyVaultAuthorizePage() { return (
    - Authorize Azure Key Vault Integration + Authorize Azure Key Vault Integration @@ -56,12 +55,12 @@ export function AzureKeyVaultAuthorizePage() { target="_blank" rel="noopener noreferrer" > -
    +
    Docs
    diff --git a/frontend/src/pages/secret-manager/integrations/AzureKeyVaultAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/AzureKeyVaultAuthorizePage/route.tsx index cb8c47764..a06dbd091 100644 --- a/frontend/src/pages/secret-manager/integrations/AzureKeyVaultAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/AzureKeyVaultAuthorizePage/route.tsx @@ -1,12 +1,11 @@ import { createFileRoute } from "@tanstack/react-router"; -import z from 'zod' +import z from "zod"; import { AzureKeyVaultAuthorizePage } from "./AzureKeyVaultAuthorizePage"; - const PageQueryParamsSchema = z.object({ state: z.string(), - clientId: z.string().optional(), + clientId: z.string().optional() }); export const Route = createFileRoute( diff --git a/frontend/src/pages/secret-manager/integrations/CircleCIConfigurePage/CircleCIConfigurePage.tsx b/frontend/src/pages/secret-manager/integrations/CircleCIConfigurePage/CircleCIConfigurePage.tsx index 36a3b9964..e91a3ca89 100644 --- a/frontend/src/pages/secret-manager/integrations/CircleCIConfigurePage/CircleCIConfigurePage.tsx +++ b/frontend/src/pages/secret-manager/integrations/CircleCIConfigurePage/CircleCIConfigurePage.tsx @@ -187,7 +187,7 @@ export const CircleCIConfigurePage = () => { name="secretPath" render={({ field, fieldState: { error } }) => ( - + )} /> diff --git a/frontend/src/pages/secret-manager/layout.tsx b/frontend/src/pages/secret-manager/layout.tsx index 0ad0c2954..e513d2102 100644 --- a/frontend/src/pages/secret-manager/layout.tsx +++ b/frontend/src/pages/secret-manager/layout.tsx @@ -1,3 +1,5 @@ +import { faHome } from "@fortawesome/free-solid-svg-icons"; +import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { workspaceKeys } from "@app/hooks/api"; @@ -23,9 +25,11 @@ export const Route = createFileRoute( }); return { + project, breadcrumbs: [ { label: "Secret Managers", + icon: () => , link: linkOptions({ to: "/organization/secret-manager/overview" }) }, { From e276752e7c9d4e6cbf6b5572a34b988e7271d81f Mon Sep 17 00:00:00 2001 From: = Date: Fri, 17 Jan 2025 16:29:18 +0530 Subject: [PATCH 06/10] feat: removed trailing comma from ui --- frontend/src/pages/auth/LoginPage/LoginPage.tsx | 2 +- frontend/src/pages/auth/LoginSsoPage/LoginSsoPage.tsx | 2 +- frontend/src/pages/auth/SignUpSsoPage/SignUpSsoPage.tsx | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/src/pages/auth/LoginPage/LoginPage.tsx b/frontend/src/pages/auth/LoginPage/LoginPage.tsx index 8ecf29424..c7f121bb1 100644 --- a/frontend/src/pages/auth/LoginPage/LoginPage.tsx +++ b/frontend/src/pages/auth/LoginPage/LoginPage.tsx @@ -80,7 +80,7 @@ export const LoginPage = () => { />
    -
    {renderView()}
    ; +
    {renderView()}
    ); }; diff --git a/frontend/src/pages/auth/LoginSsoPage/LoginSsoPage.tsx b/frontend/src/pages/auth/LoginSsoPage/LoginSsoPage.tsx index 7cf6d90b1..5af256d1a 100644 --- a/frontend/src/pages/auth/LoginSsoPage/LoginSsoPage.tsx +++ b/frontend/src/pages/auth/LoginSsoPage/LoginSsoPage.tsx @@ -59,7 +59,7 @@ export const LoginSsoPage = () => { />
    -
    {renderView()}
    ; +
    {renderView()}
    ); }; diff --git a/frontend/src/pages/auth/SignUpSsoPage/SignUpSsoPage.tsx b/frontend/src/pages/auth/SignUpSsoPage/SignUpSsoPage.tsx index 6c2788845..a13cfcfc6 100644 --- a/frontend/src/pages/auth/SignUpSsoPage/SignUpSsoPage.tsx +++ b/frontend/src/pages/auth/SignUpSsoPage/SignUpSsoPage.tsx @@ -89,7 +89,7 @@ export const SignupSsoPage = () => { alt="Infisical Logo" />
    -
    {renderView()}
    ; +
    {renderView()}
    ); }; From 23e9c52f67b8d2c5a694f7b764b562a89285afd6 Mon Sep 17 00:00:00 2001 From: = Date: Fri, 17 Jan 2025 17:14:13 +0530 Subject: [PATCH 07/10] feat: added missing breadcrumbs for integration pages --- .../SecretScanningPage/SecretScanningPage.tsx | 2 +- .../IntegrationsDetailsByIDPage.tsx | 41 ++++++------------- .../IntegrationsDetailsByIDPage/route.tsx | 18 +++++++- .../IntegrationsSection.tsx | 12 +++--- .../AwsParameterStoreAuthorizePage/route.tsx | 18 +++++++- .../AwsParameterStoreConfigurePage/route.tsx | 18 +++++++- .../AwsSecretManagerAuthorizePage/route.tsx | 18 +++++++- .../AwsSecretManagerConfigurePage/route.tsx | 18 +++++++- .../route.tsx | 18 +++++++- .../route.tsx | 18 +++++++- .../AzureDevopsAuthorizePage/route.tsx | 18 +++++++- .../AzureDevopsConfigurePage/route.tsx | 18 +++++++- .../AzureKeyVaultAuthorizePage/route.tsx | 18 +++++++- .../AzureKeyVaultConfigurePage/route.tsx | 18 +++++++- .../AzureKeyVaultOauthCallbackPage/route.tsx | 18 +++++++- .../BitbucketConfigurePage/route.tsx | 18 +++++++- .../BitbucketOauthCallbackPage/route.tsx | 18 +++++++- .../ChecklyAuthorizePage/route.tsx | 18 +++++++- .../ChecklyConfigurePage/route.tsx | 18 +++++++- .../CircleCIAuthorizePage/route.tsx | 18 +++++++- .../CircleCIConfigurePage/route.tsx | 18 +++++++- .../Cloud66AuthorizePage/route.tsx | 18 +++++++- .../Cloud66ConfigurePage/route.tsx | 18 +++++++- .../CloudflarePagesAuthorizePage/route.tsx | 18 +++++++- .../CloudflarePagesConfigurePage/route.tsx | 18 +++++++- .../CloudflareWorkersAuthorizePage/route.tsx | 18 +++++++- .../CloudflareWorkersConfigurePage/route.tsx | 18 +++++++- .../CodefreshAuthorizePage/route.tsx | 18 +++++++- .../CodefreshConfigurePage/route.tsx | 18 +++++++- .../DatabricksAuthorizePage/route.tsx | 18 +++++++- .../DatabricksConfigurePage/route.tsx | 18 +++++++- .../route.tsx | 18 +++++++- .../route.tsx | 18 +++++++- .../integrations/FlyioAuthorizePage/route.tsx | 18 +++++++- .../integrations/FlyioConfigurePage/route.tsx | 18 +++++++- .../GcpSecretManagerAuthorizePage/route.tsx | 18 +++++++- .../GcpSecretManagerConfigurePage/route.tsx | 18 +++++++- .../route.tsx | 18 +++++++- .../GithubAuthorizePage/route.tsx | 18 +++++++- .../GithubConfigurePage/route.tsx | 18 +++++++- .../GithubOauthCallbackPage/route.tsx | 18 +++++++- .../GitlabAuthorizePage/route.tsx | 18 +++++++- .../GitlabConfigurePage/route.tsx | 18 +++++++- .../GitlabOauthCallbackPage/route.tsx | 18 +++++++- .../HashicorpVaultAuthorizePage/route.tsx | 18 +++++++- .../HashicorpVaultConfigurePage/route.tsx | 18 +++++++- .../HasuraCloudAuthorizePage/route.tsx | 18 +++++++- .../HasuraCloudConfigurePage/route.tsx | 18 +++++++- .../HerokuConfigurePage/route.tsx | 18 +++++++- .../HerokuOauthCallbackPage/route.tsx | 18 +++++++- .../LaravelForgeAuthorizePage/route.tsx | 18 +++++++- .../LaravelForgeConfigurePage/route.tsx | 18 +++++++- .../NetlifyConfigurePage/route.tsx | 18 +++++++- .../NetlifyOauthCallbackPage/route.tsx | 18 +++++++- .../NorthflankAuthorizePage/route.tsx | 18 +++++++- .../NorthflankConfigurePage/route.tsx | 18 +++++++- .../OctopusDeployAuthorizePage/route.tsx | 18 +++++++- .../OctopusDeployConfigurePage/route.tsx | 18 +++++++- .../QoveryAuthorizePage/route.tsx | 18 +++++++- .../QoveryConfigurePage/route.tsx | 18 +++++++- .../RailwayAuthorizePage/route.tsx | 18 +++++++- .../RailwayConfigurePage/route.tsx | 18 +++++++- .../RenderAuthorizePage/route.tsx | 18 +++++++- .../RenderConfigurePage/route.tsx | 18 +++++++- .../RundeckAuthorizePage/route.tsx | 18 +++++++- .../RundeckConfigurePage/route.tsx | 18 +++++++- .../SelectIntegrationAuthPage/route.tsx | 18 +++++++- .../SupabaseAuthorizePage/route.tsx | 18 +++++++- .../SupabaseConfigurePage/route.tsx | 18 +++++++- .../TeamcityAuthorizePage/route.tsx | 18 +++++++- .../TeamcityConfigurePage/route.tsx | 18 +++++++- .../TerraformCloudAuthorizePage/route.tsx | 18 +++++++- .../TerraformCloudConfigurePage/route.tsx | 18 +++++++- .../TravisCIAuthorizePage/route.tsx | 18 +++++++- .../TravisCIConfigurePage/route.tsx | 18 +++++++- .../VercelConfigurePage/route.tsx | 18 +++++++- .../VercelOauthCallbackPage/route.tsx | 18 +++++++- .../WindmillAuthorizePage/route.tsx | 18 +++++++- .../WindmillConfigurePage/route.tsx | 18 +++++++- 79 files changed, 1235 insertions(+), 188 deletions(-) diff --git a/frontend/src/pages/organization/SecretScanningPage/SecretScanningPage.tsx b/frontend/src/pages/organization/SecretScanningPage/SecretScanningPage.tsx index 2970074ca..2b07ee2a3 100644 --- a/frontend/src/pages/organization/SecretScanningPage/SecretScanningPage.tsx +++ b/frontend/src/pages/organization/SecretScanningPage/SecretScanningPage.tsx @@ -210,4 +210,4 @@ export const SecretScanningPage = withPermission( action: OrgPermissionActions.Read, subject: OrgPermissionSubjects.SecretScanning } -); \ No newline at end of file +); diff --git a/frontend/src/pages/secret-manager/IntegrationsDetailsByIDPage/IntegrationsDetailsByIDPage.tsx b/frontend/src/pages/secret-manager/IntegrationsDetailsByIDPage/IntegrationsDetailsByIDPage.tsx index 84150e792..ba6b8834e 100644 --- a/frontend/src/pages/secret-manager/IntegrationsDetailsByIDPage/IntegrationsDetailsByIDPage.tsx +++ b/frontend/src/pages/secret-manager/IntegrationsDetailsByIDPage/IntegrationsDetailsByIDPage.tsx @@ -1,8 +1,8 @@ import { Helmet } from "react-helmet"; import { useTranslation } from "react-i18next"; -import { faChevronLeft, faEllipsis, faRefresh, faTrash } from "@fortawesome/free-solid-svg-icons"; +import { faRefresh, faTrash } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { useNavigate, useParams } from "@tanstack/react-router"; +import { useParams } from "@tanstack/react-router"; import { twMerge } from "tailwind-merge"; import { OrgPermissionCan } from "@app/components/permissions"; @@ -13,6 +13,7 @@ import { DropdownMenuItem, DropdownMenuTrigger, EmptyState, + PageHeader, Tooltip } from "@app/components/v2"; import { ROUTE_PATHS } from "@app/const/routes"; @@ -28,7 +29,6 @@ import { integrationSlugNameMapping } from "./IntegrationsDetailsByIDPage.utils" export const IntegrationDetailsByIDPage = () => { const { t } = useTranslation(); - const navigate = useNavigate(); const integrationId = useParams({ from: ROUTE_PATHS.SecretManager.IntegrationDetailsByIDPage.id, select: (el) => el.integrationId @@ -50,38 +50,21 @@ export const IntegrationDetailsByIDPage = () => { -
    +
    {integration ? ( -
    - -
    -

    - {integrationSlugNameMapping[integration.integration]} Integration -

    - +
    - + { await syncIntegration({ @@ -119,13 +102,13 @@ export const IntegrationDetailsByIDPage = () => {
    -
    -
    + +
    -
    +
    diff --git a/frontend/src/pages/secret-manager/IntegrationsDetailsByIDPage/route.tsx b/frontend/src/pages/secret-manager/IntegrationsDetailsByIDPage/route.tsx index 14661061d..8a1aa3066 100644 --- a/frontend/src/pages/secret-manager/IntegrationsDetailsByIDPage/route.tsx +++ b/frontend/src/pages/secret-manager/IntegrationsDetailsByIDPage/route.tsx @@ -1,9 +1,23 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { IntegrationDetailsByIDPage } from "./IntegrationsDetailsByIDPage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/$integrationId" )({ - component: IntegrationDetailsByIDPage + component: IntegrationDetailsByIDPage, + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Details" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/IntegrationsListPage/components/IntegrationsSection/IntegrationsSection.tsx b/frontend/src/pages/secret-manager/IntegrationsListPage/components/IntegrationsSection/IntegrationsSection.tsx index 2708226f6..cf2e0067f 100644 --- a/frontend/src/pages/secret-manager/IntegrationsListPage/components/IntegrationsSection/IntegrationsSection.tsx +++ b/frontend/src/pages/secret-manager/IntegrationsListPage/components/IntegrationsSection/IntegrationsSection.tsx @@ -1,7 +1,7 @@ import { faPlus } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { Button, Checkbox, DeleteActionModal } from "@app/components/v2"; +import { Button, Checkbox, DeleteActionModal, PageHeader } from "@app/components/v2"; import { usePopUp, useToggle } from "@app/hooks"; import { TCloudIntegration, TIntegration } from "@app/hooks/api/types"; @@ -38,11 +38,11 @@ export const IntegrationsSection = ({ const [shouldDeleteSecrets, setShouldDeleteSecrets] = useToggle(false); return ( -
    -
    -

    Integrations

    -

    Manage integrations with third-party services.

    -
    +
    +

    Active Integrations

    diff --git a/frontend/src/pages/secret-manager/integrations/AwsParameterStoreAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/AwsParameterStoreAuthorizePage/route.tsx index 9053974c7..3da848184 100644 --- a/frontend/src/pages/secret-manager/integrations/AwsParameterStoreAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/AwsParameterStoreAuthorizePage/route.tsx @@ -1,9 +1,23 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { AWSParameterStoreAuthorizeIntegrationPage } from "./AwsParameterStoreAuthorizePage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/aws-parameter-store/authorize" )({ - component: AWSParameterStoreAuthorizeIntegrationPage + component: AWSParameterStoreAuthorizeIntegrationPage, + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "AWS Parameter Store" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/AwsParameterStoreConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/AwsParameterStoreConfigurePage/route.tsx index 3b8c4a3ea..949557267 100644 --- a/frontend/src/pages/secret-manager/integrations/AwsParameterStoreConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/AwsParameterStoreConfigurePage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -12,5 +12,19 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/aws-parameter-store/create" )({ component: AWSParameterStoreConfigurePage, - validateSearch: zodValidator(AwsParameterStoreConfigurePageQueryParamsSchema) + validateSearch: zodValidator(AwsParameterStoreConfigurePageQueryParamsSchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "AWS Parameter Store" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/AwsSecretManagerAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/AwsSecretManagerAuthorizePage/route.tsx index cf0172a4c..cf56647c4 100644 --- a/frontend/src/pages/secret-manager/integrations/AwsSecretManagerAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/AwsSecretManagerAuthorizePage/route.tsx @@ -1,9 +1,23 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { AWSSecretManagerAuthorizePage } from "./AwsSecretManagerAuthorizePage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/aws-secret-manager/authorize" )({ - component: AWSSecretManagerAuthorizePage + component: AWSSecretManagerAuthorizePage, + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "AWS Secret Manager" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/AwsSecretManagerConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/AwsSecretManagerConfigurePage/route.tsx index 2d8d0dafd..ab091dd1e 100644 --- a/frontend/src/pages/secret-manager/integrations/AwsSecretManagerConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/AwsSecretManagerConfigurePage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -12,5 +12,19 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/aws-secret-manager/create" )({ component: AwsSecretManagerConfigurePage, - validateSearch: zodValidator(AwsSecretManagerConfigurePageQueryParamsSchema) + validateSearch: zodValidator(AwsSecretManagerConfigurePageQueryParamsSchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "AWS Secret Manager" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/AzureAppConfigurationConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/AzureAppConfigurationConfigurePage/route.tsx index 368db82e2..3d0b3585f 100644 --- a/frontend/src/pages/secret-manager/integrations/AzureAppConfigurationConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/AzureAppConfigurationConfigurePage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -12,5 +12,19 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-app-configuration/create" )({ component: AzureAppConfigurationConfigurePage, - validateSearch: zodValidator(AzureAppConfigurationPageQueryParamsSchema) + validateSearch: zodValidator(AzureAppConfigurationPageQueryParamsSchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Azure App Configuration" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/AzureAppConfigurationOauthCallbackPage/route.tsx b/frontend/src/pages/secret-manager/integrations/AzureAppConfigurationOauthCallbackPage/route.tsx index 04ab9125f..e246d5082 100644 --- a/frontend/src/pages/secret-manager/integrations/AzureAppConfigurationOauthCallbackPage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/AzureAppConfigurationOauthCallbackPage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -13,5 +13,19 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-app-configuration/oauth2/callback" )({ component: AzureAppConfigurationOauthCallbackPage, - validateSearch: zodValidator(AzureAppConfigurationOauthCallbackPageQueryParamsSchema) + validateSearch: zodValidator(AzureAppConfigurationOauthCallbackPageQueryParamsSchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Azure App Configuration" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/AzureDevopsAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/AzureDevopsAuthorizePage/route.tsx index 13091e083..3ddcb30d8 100644 --- a/frontend/src/pages/secret-manager/integrations/AzureDevopsAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/AzureDevopsAuthorizePage/route.tsx @@ -1,9 +1,23 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { AzureDevopsAuthorizePage } from "./AzureDevopsAuthorizePage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-devops/authorize" )({ - component: AzureDevopsAuthorizePage + component: AzureDevopsAuthorizePage, + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Azure Devops" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/AzureDevopsConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/AzureDevopsConfigurePage/route.tsx index 7585e904b..fa5b9c473 100644 --- a/frontend/src/pages/secret-manager/integrations/AzureDevopsConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/AzureDevopsConfigurePage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -12,5 +12,19 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-devops/create" )({ component: AzureDevopsConfigurePage, - validateSearch: zodValidator(AzureDevopsConfigurePageQueryParamsSchema) + validateSearch: zodValidator(AzureDevopsConfigurePageQueryParamsSchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Azure Devops" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/AzureKeyVaultAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/AzureKeyVaultAuthorizePage/route.tsx index a06dbd091..21c732619 100644 --- a/frontend/src/pages/secret-manager/integrations/AzureKeyVaultAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/AzureKeyVaultAuthorizePage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import z from "zod"; import { AzureKeyVaultAuthorizePage } from "./AzureKeyVaultAuthorizePage"; @@ -12,5 +12,19 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/authorize" )({ component: AzureKeyVaultAuthorizePage, - validateSearch: PageQueryParamsSchema + validateSearch: PageQueryParamsSchema, + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Azure Key Vault" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/AzureKeyVaultConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/AzureKeyVaultConfigurePage/route.tsx index 5bcbfdebc..1c286b947 100644 --- a/frontend/src/pages/secret-manager/integrations/AzureKeyVaultConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/AzureKeyVaultConfigurePage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -12,5 +12,19 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/create" )({ component: AzureKeyVaultConfigurePage, - validateSearch: zodValidator(AzureKeyVaultConfigurePageQueryParamsSchema) + validateSearch: zodValidator(AzureKeyVaultConfigurePageQueryParamsSchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Azure Key Vault" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/AzureKeyVaultOauthCallbackPage/route.tsx b/frontend/src/pages/secret-manager/integrations/AzureKeyVaultOauthCallbackPage/route.tsx index b4dbd438d..853fc9427 100644 --- a/frontend/src/pages/secret-manager/integrations/AzureKeyVaultOauthCallbackPage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/AzureKeyVaultOauthCallbackPage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -13,5 +13,19 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/oauth2/callback" )({ component: AzureKeyVaultOauthCallbackPage, - validateSearch: zodValidator(AzureKeyVaultOauthCallbackQueryParamsSchema) + validateSearch: zodValidator(AzureKeyVaultOauthCallbackQueryParamsSchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Azure Key Vault" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/BitbucketConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/BitbucketConfigurePage/route.tsx index 514a915ef..dc38d1063 100644 --- a/frontend/src/pages/secret-manager/integrations/BitbucketConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/BitbucketConfigurePage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -12,5 +12,19 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/bitbucket/create" )({ component: BitbucketConfigurePage, - validateSearch: zodValidator(BitbucketConfigurePageQueryParamsSchema) + validateSearch: zodValidator(BitbucketConfigurePageQueryParamsSchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Bitbucket" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/BitbucketOauthCallbackPage/route.tsx b/frontend/src/pages/secret-manager/integrations/BitbucketOauthCallbackPage/route.tsx index 8762c4e06..b080b7e83 100644 --- a/frontend/src/pages/secret-manager/integrations/BitbucketOauthCallbackPage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/BitbucketOauthCallbackPage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -13,5 +13,19 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/bitbucket/oauth2/callback" )({ component: BitbucketOauthCallbackPage, - validateSearch: zodValidator(BitbucketOauthCallbackQueryParamsSchema) + validateSearch: zodValidator(BitbucketOauthCallbackQueryParamsSchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Bitbucket" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/ChecklyAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/ChecklyAuthorizePage/route.tsx index 680577ff9..c602fc3e7 100644 --- a/frontend/src/pages/secret-manager/integrations/ChecklyAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/ChecklyAuthorizePage/route.tsx @@ -1,9 +1,23 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { ChecklyAuthorizePage } from "./ChecklyAuthorizePage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/checkly/authorize" )({ - component: ChecklyAuthorizePage + component: ChecklyAuthorizePage, + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Checkly" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/ChecklyConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/ChecklyConfigurePage/route.tsx index 831a881a4..026a73567 100644 --- a/frontend/src/pages/secret-manager/integrations/ChecklyConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/ChecklyConfigurePage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -12,5 +12,19 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/checkly/create" )({ component: ChecklyConfigurePage, - validateSearch: zodValidator(ChecklyConfigurePageQueryParamsSchema) + validateSearch: zodValidator(ChecklyConfigurePageQueryParamsSchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Checkly" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/CircleCIAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/CircleCIAuthorizePage/route.tsx index 1fd0cd266..0ebb18ab0 100644 --- a/frontend/src/pages/secret-manager/integrations/CircleCIAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/CircleCIAuthorizePage/route.tsx @@ -1,9 +1,23 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { CircleCIAuthorizePage } from "./CircleCIAuthorizePage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/circleci/authorize" )({ - component: CircleCIAuthorizePage + component: CircleCIAuthorizePage, + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Circle CI" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/CircleCIConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/CircleCIConfigurePage/route.tsx index fd08b9870..c7079458f 100644 --- a/frontend/src/pages/secret-manager/integrations/CircleCIConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/CircleCIConfigurePage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -12,5 +12,19 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/circleci/create" )({ component: CircleCIConfigurePage, - validateSearch: zodValidator(CircleCIConfigurePageQueryParamsSchema) + validateSearch: zodValidator(CircleCIConfigurePageQueryParamsSchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Circle CI" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/Cloud66AuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/Cloud66AuthorizePage/route.tsx index d73b4ff33..46c9d220a 100644 --- a/frontend/src/pages/secret-manager/integrations/Cloud66AuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/Cloud66AuthorizePage/route.tsx @@ -1,9 +1,23 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { Cloud66AuthorizePage } from "./Cloud66AuthorizePage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloud-66/authorize" )({ - component: Cloud66AuthorizePage + component: Cloud66AuthorizePage, + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Cloud 66" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/Cloud66ConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/Cloud66ConfigurePage/route.tsx index f3f3ec878..3f54dec22 100644 --- a/frontend/src/pages/secret-manager/integrations/Cloud66ConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/Cloud66ConfigurePage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -12,5 +12,19 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloud-66/create" )({ component: Cloud66ConfigurePage, - validateSearch: zodValidator(Cloud66ConfigurePageQueryParamsSchema) + validateSearch: zodValidator(Cloud66ConfigurePageQueryParamsSchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Cloud 66" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/CloudflarePagesAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/CloudflarePagesAuthorizePage/route.tsx index bdc5ba5f4..0f8e5eaed 100644 --- a/frontend/src/pages/secret-manager/integrations/CloudflarePagesAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/CloudflarePagesAuthorizePage/route.tsx @@ -1,9 +1,23 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { CloudflarePagesAuthorizePage } from "./CloudflarePagesAuthorizePage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-pages/authorize" )({ - component: CloudflarePagesAuthorizePage + component: CloudflarePagesAuthorizePage, + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Cloudflare Pages" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/CloudflarePagesConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/CloudflarePagesConfigurePage/route.tsx index 6ec6d2b2d..dbbb8049a 100644 --- a/frontend/src/pages/secret-manager/integrations/CloudflarePagesConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/CloudflarePagesConfigurePage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -12,5 +12,19 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-pages/create" )({ component: CloudflarePagesConfigurePage, - validateSearch: zodValidator(CloudflarePagesConfigurePageQueryParamsSchema) + validateSearch: zodValidator(CloudflarePagesConfigurePageQueryParamsSchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Cloudflare Pages" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/CloudflareWorkersAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/CloudflareWorkersAuthorizePage/route.tsx index 6365e26a3..ccd55ab6d 100644 --- a/frontend/src/pages/secret-manager/integrations/CloudflareWorkersAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/CloudflareWorkersAuthorizePage/route.tsx @@ -1,9 +1,23 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { CloudflareWorkersAuthorizePage } from "./CloudflareWorkersAuthorizePage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-workers/authorize" )({ - component: CloudflareWorkersAuthorizePage + component: CloudflareWorkersAuthorizePage, + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Cloudflare Workers" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/CloudflareWorkersConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/CloudflareWorkersConfigurePage/route.tsx index 597000dec..4fddbe1b5 100644 --- a/frontend/src/pages/secret-manager/integrations/CloudflareWorkersConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/CloudflareWorkersConfigurePage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -12,5 +12,19 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-workers/create" )({ component: CloudflareWorkersConfigurePage, - validateSearch: zodValidator(CloudflareWorkersConfigurePageQueryParamsSchema) + validateSearch: zodValidator(CloudflareWorkersConfigurePageQueryParamsSchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Cloudflare Workers" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/CodefreshAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/CodefreshAuthorizePage/route.tsx index 42e426306..cb37f4842 100644 --- a/frontend/src/pages/secret-manager/integrations/CodefreshAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/CodefreshAuthorizePage/route.tsx @@ -1,9 +1,23 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { CodefreshAuthorizePage } from "./CodefreshAuthorizePage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/codefresh/authorize" )({ - component: CodefreshAuthorizePage + component: CodefreshAuthorizePage, + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Codefresh" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/CodefreshConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/CodefreshConfigurePage/route.tsx index bae29183c..1785d08da 100644 --- a/frontend/src/pages/secret-manager/integrations/CodefreshConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/CodefreshConfigurePage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -12,5 +12,19 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/codefresh/create" )({ component: CodefreshConfigurePage, - validateSearch: zodValidator(CodefreshConfigurePageQueryParamsSchema) + validateSearch: zodValidator(CodefreshConfigurePageQueryParamsSchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Codefresh" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/DatabricksAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/DatabricksAuthorizePage/route.tsx index f1fc79379..66f94b7c1 100644 --- a/frontend/src/pages/secret-manager/integrations/DatabricksAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/DatabricksAuthorizePage/route.tsx @@ -1,9 +1,23 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { DatabricksAuthorizePage } from "./DatabricksAuthorizePage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/databricks/authorize" )({ - component: DatabricksAuthorizePage + component: DatabricksAuthorizePage, + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Databricks" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/DatabricksConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/DatabricksConfigurePage/route.tsx index 971678824..e34ce44b8 100644 --- a/frontend/src/pages/secret-manager/integrations/DatabricksConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/DatabricksConfigurePage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -12,5 +12,19 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/databricks/create" )({ component: DatabricksConfigurePage, - validateSearch: zodValidator(DatabricksConfigurePageQueryParamsSchema) + validateSearch: zodValidator(DatabricksConfigurePageQueryParamsSchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Databricks" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/DigitalOceanAppPlatformAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/DigitalOceanAppPlatformAuthorizePage/route.tsx index a7f41e997..aa75e56f5 100644 --- a/frontend/src/pages/secret-manager/integrations/DigitalOceanAppPlatformAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/DigitalOceanAppPlatformAuthorizePage/route.tsx @@ -1,9 +1,23 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { DigitalOceanAppPlatformAuthorizePage } from "./DigitalOceanAppPlatformAuthorizePage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/digital-ocean-app-platform/authorize" )({ - component: DigitalOceanAppPlatformAuthorizePage + component: DigitalOceanAppPlatformAuthorizePage, + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "DigitalOcean App Platform" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/DigitalOceanAppPlatformConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/DigitalOceanAppPlatformConfigurePage/route.tsx index fb4e5edfa..f4f3658d1 100644 --- a/frontend/src/pages/secret-manager/integrations/DigitalOceanAppPlatformConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/DigitalOceanAppPlatformConfigurePage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -12,5 +12,19 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/digital-ocean-app-platform/create" )({ component: DigitalOceanAppPlatformConfigurePage, - validateSearch: zodValidator(DigitalOceanAppPlatformConfigurePageQueryParamsSchema) + validateSearch: zodValidator(DigitalOceanAppPlatformConfigurePageQueryParamsSchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "DigitalOcean App Platform" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/FlyioAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/FlyioAuthorizePage/route.tsx index 752bd02e2..bab0ee8d3 100644 --- a/frontend/src/pages/secret-manager/integrations/FlyioAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/FlyioAuthorizePage/route.tsx @@ -1,9 +1,23 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { FlyioAuthorizePage } from "./FlyioAuthorizePage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/flyio/authorize" )({ - component: FlyioAuthorizePage + component: FlyioAuthorizePage, + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Fly IO" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/FlyioConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/FlyioConfigurePage/route.tsx index 9aa21ef16..49954acd1 100644 --- a/frontend/src/pages/secret-manager/integrations/FlyioConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/FlyioConfigurePage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -12,5 +12,19 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/flyio/create" )({ component: FlyioConfigurePage, - validateSearch: zodValidator(FlyioConfigurePageQueryParamsSchema) + validateSearch: zodValidator(FlyioConfigurePageQueryParamsSchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Fly IO" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/GcpSecretManagerAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/GcpSecretManagerAuthorizePage/route.tsx index 3a1776e60..7467e29dc 100644 --- a/frontend/src/pages/secret-manager/integrations/GcpSecretManagerAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/GcpSecretManagerAuthorizePage/route.tsx @@ -1,9 +1,23 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { GcpSecretManagerAuthorizePage } from "./GcpSecretManagerAuthorizePage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/authorize" )({ - component: GcpSecretManagerAuthorizePage + component: GcpSecretManagerAuthorizePage, + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "GCP Secret Manager" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/GcpSecretManagerConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/GcpSecretManagerConfigurePage/route.tsx index dab7fc1a4..bc2d0ed32 100644 --- a/frontend/src/pages/secret-manager/integrations/GcpSecretManagerConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/GcpSecretManagerConfigurePage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -12,5 +12,19 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/create" )({ component: GcpSecretManagerConfigurePage, - validateSearch: zodValidator(GcpConfigurePageQueryParamsSchema) + validateSearch: zodValidator(GcpConfigurePageQueryParamsSchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "GCP Secret Manager" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/GcpSecretManagerOauthCallbackPage/route.tsx b/frontend/src/pages/secret-manager/integrations/GcpSecretManagerOauthCallbackPage/route.tsx index 021de7a20..fa18411bb 100644 --- a/frontend/src/pages/secret-manager/integrations/GcpSecretManagerOauthCallbackPage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/GcpSecretManagerOauthCallbackPage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -13,5 +13,19 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/oauth2/callback" )({ component: GcpSecretManagerOauthCallbackPage, - validateSearch: zodValidator(GcpSecretManagerOAuthCallbackPageQueryParamsSchema) + validateSearch: zodValidator(GcpSecretManagerOAuthCallbackPageQueryParamsSchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "GCP Secret Manager" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/GithubAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/GithubAuthorizePage/route.tsx index d67c8d8cb..109b6e9e7 100644 --- a/frontend/src/pages/secret-manager/integrations/GithubAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/GithubAuthorizePage/route.tsx @@ -1,9 +1,23 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { GithubAuthorizePage } from "./GithubAuthorizePage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/github/auth-mode-selection" )({ - component: GithubAuthorizePage + component: GithubAuthorizePage, + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "GitHub" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/GithubConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/GithubConfigurePage/route.tsx index 45f840c22..881d3694d 100644 --- a/frontend/src/pages/secret-manager/integrations/GithubConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/GithubConfigurePage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -12,5 +12,19 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/github/create" )({ component: GithubConfigurePage, - validateSearch: zodValidator(GithubConfigurePageQueryParamsSchema) + validateSearch: zodValidator(GithubConfigurePageQueryParamsSchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "GitHub" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/GithubOauthCallbackPage/route.tsx b/frontend/src/pages/secret-manager/integrations/GithubOauthCallbackPage/route.tsx index fd08440a6..ec2c15255 100644 --- a/frontend/src/pages/secret-manager/integrations/GithubOauthCallbackPage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/GithubOauthCallbackPage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -14,5 +14,19 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/github/oauth2/callback" )({ component: GithubOauthCallbackPage, - validateSearch: zodValidator(GithubOAuthCallbackPageQueryParamsSchema) + validateSearch: zodValidator(GithubOAuthCallbackPageQueryParamsSchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "GitHub" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/GitlabAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/GitlabAuthorizePage/route.tsx index d79d29f6c..48b27d86e 100644 --- a/frontend/src/pages/secret-manager/integrations/GitlabAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/GitlabAuthorizePage/route.tsx @@ -1,9 +1,23 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { GitlabAuthorizePage } from "./GitlabAuthorizePage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/authorize" )({ - component: GitlabAuthorizePage + component: GitlabAuthorizePage, + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "GitLab" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/GitlabConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/GitlabConfigurePage/route.tsx index c2e047bbc..272b80a73 100644 --- a/frontend/src/pages/secret-manager/integrations/GitlabConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/GitlabConfigurePage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -12,5 +12,19 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/create" )({ component: GitlabConfigurePage, - validateSearch: zodValidator(GitlabConfigurePageQueryParamsSchema) + validateSearch: zodValidator(GitlabConfigurePageQueryParamsSchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "GitLab" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/GitlabOauthCallbackPage/route.tsx b/frontend/src/pages/secret-manager/integrations/GitlabOauthCallbackPage/route.tsx index 7a960e60c..7828f91bd 100644 --- a/frontend/src/pages/secret-manager/integrations/GitlabOauthCallbackPage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/GitlabOauthCallbackPage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -13,5 +13,19 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/oauth2/callback" )({ component: GitLabOAuthCallbackPage, - validateSearch: zodValidator(GitlabOAuthCallbackPageQueryParamsSchema) + validateSearch: zodValidator(GitlabOAuthCallbackPageQueryParamsSchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "GitLab" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/HashicorpVaultAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/HashicorpVaultAuthorizePage/route.tsx index bafe1a352..7e4d1f907 100644 --- a/frontend/src/pages/secret-manager/integrations/HashicorpVaultAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/HashicorpVaultAuthorizePage/route.tsx @@ -1,9 +1,23 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { HashicorpVaultAuthorizePage } from "./HashicorpVaultAuthorizePage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/hashicorp-vault/authorize" )({ - component: HashicorpVaultAuthorizePage + component: HashicorpVaultAuthorizePage, + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Hashicorp Vault" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/HashicorpVaultConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/HashicorpVaultConfigurePage/route.tsx index d7aebf29c..d79883d9e 100644 --- a/frontend/src/pages/secret-manager/integrations/HashicorpVaultConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/HashicorpVaultConfigurePage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -12,5 +12,19 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/hashicorp-vault/create" )({ component: HashicorpVaultConfigurePage, - validateSearch: zodValidator(HashicorpVaultConfigurePageQueryParamsSchema) + validateSearch: zodValidator(HashicorpVaultConfigurePageQueryParamsSchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Hashicorp Vault" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/HasuraCloudAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/HasuraCloudAuthorizePage/route.tsx index 4567d00a6..8dfe1c7d6 100644 --- a/frontend/src/pages/secret-manager/integrations/HasuraCloudAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/HasuraCloudAuthorizePage/route.tsx @@ -1,9 +1,23 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { HasuraCloudAuthorizePage } from "./HasuraCloudAuthorizePage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/hasura-cloud/authorize" )({ - component: HasuraCloudAuthorizePage + component: HasuraCloudAuthorizePage, + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Hasura Cloud" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/HasuraCloudConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/HasuraCloudConfigurePage/route.tsx index 4accd54e7..7c7ef181e 100644 --- a/frontend/src/pages/secret-manager/integrations/HasuraCloudConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/HasuraCloudConfigurePage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -12,5 +12,19 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/hasura-cloud/create" )({ component: HasuraCloudConfigurePage, - validateSearch: zodValidator(HasuraCloudConfigurePageQueryParamsSchema) + validateSearch: zodValidator(HasuraCloudConfigurePageQueryParamsSchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Hasura Cloud" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/HerokuConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/HerokuConfigurePage/route.tsx index b37435079..09b91ef8d 100644 --- a/frontend/src/pages/secret-manager/integrations/HerokuConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/HerokuConfigurePage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -12,5 +12,19 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/heroku/create" )({ component: HerokuConfigurePage, - validateSearch: zodValidator(HerokuConfigurePageQueryParamsSchema) + validateSearch: zodValidator(HerokuConfigurePageQueryParamsSchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Heroku Cloud" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/HerokuOauthCallbackPage/route.tsx b/frontend/src/pages/secret-manager/integrations/HerokuOauthCallbackPage/route.tsx index 610d786ae..38b44ab63 100644 --- a/frontend/src/pages/secret-manager/integrations/HerokuOauthCallbackPage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/HerokuOauthCallbackPage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -13,5 +13,19 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/heroku/oauth2/callback" )({ component: HerokuOAuthCallbackPage, - validateSearch: zodValidator(HerokuOAuthCallbackPageQueryParamsSchema) + validateSearch: zodValidator(HerokuOAuthCallbackPageQueryParamsSchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Heroku Cloud" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/LaravelForgeAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/LaravelForgeAuthorizePage/route.tsx index a9dfa3517..c4bb158c7 100644 --- a/frontend/src/pages/secret-manager/integrations/LaravelForgeAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/LaravelForgeAuthorizePage/route.tsx @@ -1,9 +1,23 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { LaravelForgeAuthorizePage } from "./LaravelForgeAuthorizePage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/laravel-forge/authorize" )({ - component: LaravelForgeAuthorizePage + component: LaravelForgeAuthorizePage, + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Laravel Forge" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/LaravelForgeConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/LaravelForgeConfigurePage/route.tsx index 2fb27ab25..6241006eb 100644 --- a/frontend/src/pages/secret-manager/integrations/LaravelForgeConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/LaravelForgeConfigurePage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -12,5 +12,19 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/laravel-forge/create" )({ component: LaravelForgeConfigurePage, - validateSearch: zodValidator(LaravelForgeConfigurePageQueryParamsSchema) + validateSearch: zodValidator(LaravelForgeConfigurePageQueryParamsSchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Laravel Forge" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/NetlifyConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/NetlifyConfigurePage/route.tsx index a889bf645..f45fcc8fd 100644 --- a/frontend/src/pages/secret-manager/integrations/NetlifyConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/NetlifyConfigurePage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -12,5 +12,19 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/netlify/create" )({ component: NetlifyConfigurePage, - validateSearch: zodValidator(NetlifyConfigurePageQueryParamsSchema) + validateSearch: zodValidator(NetlifyConfigurePageQueryParamsSchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Netlify" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/NetlifyOauthCallbackPage/route.tsx b/frontend/src/pages/secret-manager/integrations/NetlifyOauthCallbackPage/route.tsx index 3a6670440..cf933216f 100644 --- a/frontend/src/pages/secret-manager/integrations/NetlifyOauthCallbackPage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/NetlifyOauthCallbackPage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -13,5 +13,19 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/netlify/oauth2/callback" )({ component: NetlifyOauthCallbackPage, - validateSearch: zodValidator(NetlifyOAuthCallbackPageQueryParamsSchema) + validateSearch: zodValidator(NetlifyOAuthCallbackPageQueryParamsSchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Netlify" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/NorthflankAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/NorthflankAuthorizePage/route.tsx index 6ed9541be..04bdd3876 100644 --- a/frontend/src/pages/secret-manager/integrations/NorthflankAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/NorthflankAuthorizePage/route.tsx @@ -1,9 +1,23 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { NorthflankAuthorizePage } from "./NorthflankAuthorizePage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/northflank/authorize" )({ - component: NorthflankAuthorizePage + component: NorthflankAuthorizePage, + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Northflank" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/NorthflankConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/NorthflankConfigurePage/route.tsx index 23fda3135..400366fb7 100644 --- a/frontend/src/pages/secret-manager/integrations/NorthflankConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/NorthflankConfigurePage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -12,5 +12,19 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/northflank/create" )({ component: NorthflankConfigurePage, - validateSearch: zodValidator(NorthflankConfigurePageQueryParamsSchema) + validateSearch: zodValidator(NorthflankConfigurePageQueryParamsSchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Northflank" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/OctopusDeployAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/OctopusDeployAuthorizePage/route.tsx index 950dd2f4e..852fdd315 100644 --- a/frontend/src/pages/secret-manager/integrations/OctopusDeployAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/OctopusDeployAuthorizePage/route.tsx @@ -1,9 +1,23 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { OctopusDeployAuthorizePage } from "./OctopusDeployAuthorizePage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/octopus-deploy/authorize" )({ - component: OctopusDeployAuthorizePage + component: OctopusDeployAuthorizePage, + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Octopus Deploy" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/OctopusDeployConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/OctopusDeployConfigurePage/route.tsx index 7ce0aa019..3f2702fee 100644 --- a/frontend/src/pages/secret-manager/integrations/OctopusDeployConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/OctopusDeployConfigurePage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -12,5 +12,19 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/octopus-deploy/create" )({ component: OctopusDeployConfigurePage, - validateSearch: zodValidator(OctopusDeployConfigurePageQueryParamsSchema) + validateSearch: zodValidator(OctopusDeployConfigurePageQueryParamsSchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Octopus Deploy" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/QoveryAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/QoveryAuthorizePage/route.tsx index 5946f61ea..e00f2b503 100644 --- a/frontend/src/pages/secret-manager/integrations/QoveryAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/QoveryAuthorizePage/route.tsx @@ -1,9 +1,23 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { QoveryAuthorizePage } from "./QoveryAuthorizePage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/qovery/authorize" )({ - component: QoveryAuthorizePage + component: QoveryAuthorizePage, + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Qovery" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/QoveryConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/QoveryConfigurePage/route.tsx index a7f2c7a0a..8ab6ec693 100644 --- a/frontend/src/pages/secret-manager/integrations/QoveryConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/QoveryConfigurePage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -12,5 +12,19 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/qovery/create" )({ component: QoveryConfigurePage, - validateSearch: zodValidator(QoveryConfigurePageQueryParamsSchema) + validateSearch: zodValidator(QoveryConfigurePageQueryParamsSchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Qovery" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/RailwayAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/RailwayAuthorizePage/route.tsx index 1addd4e52..9df6f2f04 100644 --- a/frontend/src/pages/secret-manager/integrations/RailwayAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/RailwayAuthorizePage/route.tsx @@ -1,9 +1,23 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { RailwayAuthorizePage } from "./RailwayAuthorizePage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/railway/authorize" )({ - component: RailwayAuthorizePage + component: RailwayAuthorizePage, + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Railway" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/RailwayConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/RailwayConfigurePage/route.tsx index 155cefd10..d7b91a123 100644 --- a/frontend/src/pages/secret-manager/integrations/RailwayConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/RailwayConfigurePage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -12,5 +12,19 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/railway/create" )({ component: RailwayConfigurePage, - validateSearch: zodValidator(RailwayConfigurePageQueryParamsSchema) + validateSearch: zodValidator(RailwayConfigurePageQueryParamsSchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Railway" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/RenderAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/RenderAuthorizePage/route.tsx index e7121ff18..791cf71e9 100644 --- a/frontend/src/pages/secret-manager/integrations/RenderAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/RenderAuthorizePage/route.tsx @@ -1,9 +1,23 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { RenderAuthorizePage } from "./RenderAuthorizePage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/render/authorize" )({ - component: RenderAuthorizePage + component: RenderAuthorizePage, + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Render" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/RenderConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/RenderConfigurePage/route.tsx index 020a9a5a3..5ec55e4b8 100644 --- a/frontend/src/pages/secret-manager/integrations/RenderConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/RenderConfigurePage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -12,5 +12,19 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/render/create" )({ component: RenderConfigurePage, - validateSearch: zodValidator(RenderConfigurePageQueryParamsSchema) + validateSearch: zodValidator(RenderConfigurePageQueryParamsSchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Render" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/RundeckAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/RundeckAuthorizePage/route.tsx index 6f5ad6e10..c57b122c7 100644 --- a/frontend/src/pages/secret-manager/integrations/RundeckAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/RundeckAuthorizePage/route.tsx @@ -1,9 +1,23 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { RundeckAuthorizePage } from "./RundeckAuthorizePage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/rundeck/authorize" )({ - component: RundeckAuthorizePage + component: RundeckAuthorizePage, + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Rundeck" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/RundeckConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/RundeckConfigurePage/route.tsx index bb7a7f3b1..3e847410d 100644 --- a/frontend/src/pages/secret-manager/integrations/RundeckConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/RundeckConfigurePage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -12,5 +12,19 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/rundeck/create" )({ component: RundeckConfigurePage, - validateSearch: zodValidator(RundeskConfigurePageQueryParamsSchema) + validateSearch: zodValidator(RundeskConfigurePageQueryParamsSchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Rundeck" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/SelectIntegrationAuthPage/route.tsx b/frontend/src/pages/secret-manager/integrations/SelectIntegrationAuthPage/route.tsx index 787e792db..50f1edf8c 100644 --- a/frontend/src/pages/secret-manager/integrations/SelectIntegrationAuthPage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/SelectIntegrationAuthPage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -12,5 +12,19 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/select-integration-auth" )({ component: SelectIntegrationAuthPage, - validateSearch: zodValidator(SelectIntegrationAuthPageQueryParamsSchema) + validateSearch: zodValidator(SelectIntegrationAuthPageQueryParamsSchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Configure" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/SupabaseAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/SupabaseAuthorizePage/route.tsx index c790055a4..0de835810 100644 --- a/frontend/src/pages/secret-manager/integrations/SupabaseAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/SupabaseAuthorizePage/route.tsx @@ -1,9 +1,23 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { SupabaseAuthorizePage } from "./SupabaseAuthorizePage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/supabase/authorize" )({ - component: SupabaseAuthorizePage + component: SupabaseAuthorizePage, + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Supabase" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/SupabaseConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/SupabaseConfigurePage/route.tsx index d5c8e7bf3..490d84122 100644 --- a/frontend/src/pages/secret-manager/integrations/SupabaseConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/SupabaseConfigurePage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -12,5 +12,19 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/supabase/create" )({ component: SupabaseConfigurePage, - validateSearch: zodValidator(SupabaseConfigurePageQueryParamsSchema) + validateSearch: zodValidator(SupabaseConfigurePageQueryParamsSchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Supabase" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/TeamcityAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/TeamcityAuthorizePage/route.tsx index f08c78abd..a40c20de1 100644 --- a/frontend/src/pages/secret-manager/integrations/TeamcityAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/TeamcityAuthorizePage/route.tsx @@ -1,9 +1,23 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { TeamcityAuthorizePage } from "./TeamcityAuthorizePage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/teamcity/authorize" )({ - component: TeamcityAuthorizePage + component: TeamcityAuthorizePage, + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Teamcity" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/TeamcityConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/TeamcityConfigurePage/route.tsx index 119a0ec96..5efc3f302 100644 --- a/frontend/src/pages/secret-manager/integrations/TeamcityConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/TeamcityConfigurePage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -12,5 +12,19 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/teamcity/create" )({ component: TeamcityConfigurePage, - validateSearch: zodValidator(TeamcityConfigurePageQueryParamsSchema) + validateSearch: zodValidator(TeamcityConfigurePageQueryParamsSchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Teamcity" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/TerraformCloudAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/TerraformCloudAuthorizePage/route.tsx index 20496be9d..cb9b491c7 100644 --- a/frontend/src/pages/secret-manager/integrations/TerraformCloudAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/TerraformCloudAuthorizePage/route.tsx @@ -1,9 +1,23 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { TerraformCloudAuthorizePage } from "./TerraformCloudAuthorizePage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/terraform-cloud/authorize" )({ - component: TerraformCloudAuthorizePage + component: TerraformCloudAuthorizePage, + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Terraform Cloud" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/TerraformCloudConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/TerraformCloudConfigurePage/route.tsx index 3ebfa5e73..f42eaa0bf 100644 --- a/frontend/src/pages/secret-manager/integrations/TerraformCloudConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/TerraformCloudConfigurePage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -12,5 +12,19 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/terraform-cloud/create" )({ component: TerraformCloudConfigurePage, - validateSearch: zodValidator(TerraformCloudConfigurePageQueryParamsSchema) + validateSearch: zodValidator(TerraformCloudConfigurePageQueryParamsSchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Terraform Cloud" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/TravisCIAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/TravisCIAuthorizePage/route.tsx index b3c1aedf7..f5aae0051 100644 --- a/frontend/src/pages/secret-manager/integrations/TravisCIAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/TravisCIAuthorizePage/route.tsx @@ -1,9 +1,23 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { TravisCIAuthorizePage } from "./TravisCIAuthorizePage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/travisci/authorize" )({ - component: TravisCIAuthorizePage + component: TravisCIAuthorizePage, + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Travis CI" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/TravisCIConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/TravisCIConfigurePage/route.tsx index c2811d90f..ca2b8f553 100644 --- a/frontend/src/pages/secret-manager/integrations/TravisCIConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/TravisCIConfigurePage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -12,5 +12,19 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/travisci/create" )({ component: TravisCIConfigurePage, - validateSearch: zodValidator(TravisCIConfigurePageQueryParamsSchema) + validateSearch: zodValidator(TravisCIConfigurePageQueryParamsSchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Travis CI" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/VercelConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/VercelConfigurePage/route.tsx index 2fea86bc8..2272b8972 100644 --- a/frontend/src/pages/secret-manager/integrations/VercelConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/VercelConfigurePage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -12,5 +12,19 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/vercel/create" )({ component: VercelConfigurePage, - validateSearch: zodValidator(VercelConfigurePageQueryParamsSchema) + validateSearch: zodValidator(VercelConfigurePageQueryParamsSchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Vercel" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/VercelOauthCallbackPage/route.tsx b/frontend/src/pages/secret-manager/integrations/VercelOauthCallbackPage/route.tsx index b860252d6..e497bb6b4 100644 --- a/frontend/src/pages/secret-manager/integrations/VercelOauthCallbackPage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/VercelOauthCallbackPage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -13,5 +13,19 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/vercel/oauth2/callback" )({ component: VercelOauthCallbackPage, - validateSearch: zodValidator(VercelOAuthCallbackPageQueryParamsSchema) + validateSearch: zodValidator(VercelOAuthCallbackPageQueryParamsSchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Vercel" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/WindmillAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/WindmillAuthorizePage/route.tsx index e59a8e764..313b489b2 100644 --- a/frontend/src/pages/secret-manager/integrations/WindmillAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/WindmillAuthorizePage/route.tsx @@ -1,9 +1,23 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { WindmillAuthorizePage } from "./WindmillAuthorizePage"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/windmill/authorize" )({ - component: WindmillAuthorizePage + component: WindmillAuthorizePage, + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Windmill" + } + ] + }; + } }); diff --git a/frontend/src/pages/secret-manager/integrations/WindmillConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/WindmillConfigurePage/route.tsx index dcc0d8146..6236986a0 100644 --- a/frontend/src/pages/secret-manager/integrations/WindmillConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/WindmillConfigurePage/route.tsx @@ -1,4 +1,4 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -12,5 +12,19 @@ export const Route = createFileRoute( "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/windmill/create" )({ component: WindmillConfigurePage, - validateSearch: zodValidator(WindmillConfigurePageQueryParamsSchema) + validateSearch: zodValidator(WindmillConfigurePageQueryParamsSchema), + beforeLoad: ({ context, params }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "Integrations", + link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + }, + { + label: "Windmill" + } + ] + }; + } }); From 934ef8ab27dd63e9b06229bca0dbb83ea4d5913a Mon Sep 17 00:00:00 2001 From: = Date: Fri, 17 Jan 2025 17:38:35 +0530 Subject: [PATCH 08/10] feat: resolved plan text generator --- .../components/SidebarHeader/SidebarHeader.tsx | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/frontend/src/layouts/OrganizationLayout/components/SidebarHeader/SidebarHeader.tsx b/frontend/src/layouts/OrganizationLayout/components/SidebarHeader/SidebarHeader.tsx index 2412cff60..b2fe95420 100644 --- a/frontend/src/layouts/OrganizationLayout/components/SidebarHeader/SidebarHeader.tsx +++ b/frontend/src/layouts/OrganizationLayout/components/SidebarHeader/SidebarHeader.tsx @@ -9,18 +9,26 @@ import { DropdownMenuItem, DropdownMenuTrigger } from "@app/components/v2"; -import { useOrganization } from "@app/context"; +import { useOrganization, useSubscription } from "@app/context"; import { useGetOrganizations, useLogoutUser } from "@app/hooks/api"; +import { SubscriptionPlan } from "@app/hooks/api/types"; import { AuthMethod } from "@app/hooks/api/users/types"; type Prop = { onChangeOrg: (orgId: string) => void; }; +const getPlan = (subscription: SubscriptionPlan) => { + if (subscription.dynamicSecret) return "Enterprise Plan"; + if (subscription.pitRecovery) return "Pro Plan"; + return "Free Plan"; +}; + export const SidebarHeader = ({ onChangeOrg }: Prop) => { const { currentOrg } = useOrganization(); const navigate = useNavigate(); const { data: orgs } = useGetOrganizations(); + const { subscription } = useSubscription(); const logout = useLogoutUser(); const logOutUser = async () => { @@ -45,7 +53,7 @@ export const SidebarHeader = ({ onChangeOrg }: Prop) => {
    {currentOrg?.name}
    -
    Free Plan
    +
    {getPlan(subscription)}
    From 23513158ededab24ae3617266b212f334d9d510c Mon Sep 17 00:00:00 2001 From: = Date: Mon, 20 Jan 2025 22:57:41 +0530 Subject: [PATCH 09/10] feat: updated nav ui based on feedback --- frontend/src/const/routes.ts | 124 +- .../src/layouts/AdminLayout/AdminLayout.tsx | 2 +- .../OrganizationLayout/OrganizationLayout.tsx | 242 +- .../MenuIconButton/MenuIconButton.tsx | 13 +- .../components/MenuIconButton/index.tsx | 0 .../MinimizedOrgSidebar.tsx | 315 +- .../components/MinimizedOrgSidebar/index.tsx | 0 .../SidebarFooter/SidebarFooter.tsx | 210 - .../components/SidebarFooter/index.tsx | 1 - .../SidebarHeader/SidebarHeader.tsx | 106 +- .../PersonalSettingsLayout.tsx | 2 +- .../layouts/ProjectLayout/ProjectLayout.tsx | 20 +- .../MinimizedOrgSidebar/ProjectSwitcher.tsx | 59 - .../CertAuthDetailsByIDPage/route.tsx | 2 +- .../cert-manager/CertificatesPage/route.tsx | 2 +- .../PkiCollectionDetailsByIDPage/routes.tsx | 2 +- .../pages/cert-manager/SettingsPage/route.tsx | 2 +- frontend/src/pages/cert-manager/layout.tsx | 2 +- frontend/src/pages/kms/OverviewPage/route.tsx | 2 +- frontend/src/pages/kms/SettingsPage/route.tsx | 2 +- frontend/src/pages/kms/layout.tsx | 2 +- .../AccessManagementPage/route.tsx | 2 +- .../pages/organization/AdminPage/route.tsx | 2 +- .../GithubOauthCallbackPage/route.tsx | 2 +- .../organization/AuditLogsPage/route.tsx | 2 +- .../pages/organization/BillingPage/route.tsx | 2 +- .../CertManagerOverviewPage/route.tsx | 2 +- .../GroupDetailsByIDPage/route.tsx | 2 +- .../IdentityDetailsByIDPage/route.tsx | 2 +- .../organization/KmsOverviewPage/route.tsx | 2 +- .../pages/organization/NoOrgPage/route.tsx | 2 +- .../pages/organization/RoleByIDPage/route.tsx | 2 +- .../SecretManagerOverviewPage/route.tsx | 2 +- .../organization/SecretScanningPage/route.tsx | 2 +- .../organization/SecretSharingPage/route.tsx | 2 +- .../pages/organization/SettingsPage/route.tsx | 2 +- .../organization/SshOverviewPage/route.tsx | 2 +- .../UserDetailsByIDPage/route.tsx | 2 +- frontend/src/pages/organization/layout.tsx | 2 +- .../AccessControlPage/route-cert-manager.tsx | 2 +- .../project/AccessControlPage/route-kms.tsx | 2 +- .../route-secret-manager.tsx | 2 +- .../project/AccessControlPage/route-ssh.tsx | 2 +- .../route-cert-manager.tsx | 2 +- .../IdentityDetailsByIDPage/route-kms.tsx | 2 +- .../route-secret-manager.tsx | 2 +- .../IdentityDetailsByIDPage/route-ssh.tsx | 2 +- .../route-cert-manager.tsx | 2 +- .../MemberDetailsByIDPage/route-kms.tsx | 2 +- .../route-secret-manager.tsx | 2 +- .../MemberDetailsByIDPage/route-ssh.tsx | 2 +- .../route-cert-manager.tsx | 2 +- .../RoleDetailsBySlugPage/route-kms.tsx | 2 +- .../route-secret-manager.tsx | 2 +- .../RoleDetailsBySlugPage/route-ssh.tsx | 2 +- .../secret-manager/IPAllowlistPage/route.tsx | 2 +- .../IntegrationsDetailsByIDPage/route.tsx | 7 +- .../IntegrationsListPage/route.tsx | 2 +- .../secret-manager/OverviewPage/route.tsx | 2 +- .../SecretApprovalsPage/route.tsx | 2 +- .../SecretDashboardPage/route.tsx | 2 +- .../SecretRotationPage/route.tsx | 2 +- .../secret-manager/SettingsPage/route.tsx | 2 +- .../AwsParameterStoreAuthorizePage/route.tsx | 7 +- .../AwsParameterStoreConfigurePage/route.tsx | 7 +- .../AwsSecretManagerAuthorizePage/route.tsx | 7 +- .../AwsSecretManagerConfigurePage/route.tsx | 7 +- .../route.tsx | 7 +- .../route.tsx | 7 +- .../AzureDevopsAuthorizePage/route.tsx | 7 +- .../AzureDevopsConfigurePage/route.tsx | 7 +- .../AzureKeyVaultAuthorizePage/route.tsx | 7 +- .../AzureKeyVaultConfigurePage/route.tsx | 7 +- .../AzureKeyVaultOauthCallbackPage/route.tsx | 7 +- .../BitbucketConfigurePage/route.tsx | 7 +- .../BitbucketOauthCallbackPage/route.tsx | 7 +- .../ChecklyAuthorizePage/route.tsx | 7 +- .../ChecklyConfigurePage/route.tsx | 7 +- .../CircleCIAuthorizePage/route.tsx | 7 +- .../CircleCIConfigurePage/route.tsx | 7 +- .../Cloud66AuthorizePage/route.tsx | 7 +- .../Cloud66ConfigurePage/route.tsx | 7 +- .../CloudflarePagesAuthorizePage/route.tsx | 7 +- .../CloudflarePagesConfigurePage/route.tsx | 7 +- .../CloudflareWorkersAuthorizePage/route.tsx | 7 +- .../CloudflareWorkersConfigurePage/route.tsx | 7 +- .../CodefreshAuthorizePage/route.tsx | 7 +- .../CodefreshConfigurePage/route.tsx | 7 +- .../DatabricksAuthorizePage/route.tsx | 7 +- .../DatabricksConfigurePage/route.tsx | 7 +- .../route.tsx | 7 +- .../route.tsx | 7 +- .../integrations/FlyioAuthorizePage/route.tsx | 7 +- .../integrations/FlyioConfigurePage/route.tsx | 7 +- .../GcpSecretManagerAuthorizePage/route.tsx | 7 +- .../GcpSecretManagerConfigurePage/route.tsx | 7 +- .../route.tsx | 7 +- .../GithubAuthorizePage/route.tsx | 7 +- .../GithubConfigurePage/route.tsx | 7 +- .../GithubOauthCallbackPage/route.tsx | 7 +- .../GitlabAuthorizePage/route.tsx | 7 +- .../GitlabConfigurePage/route.tsx | 7 +- .../GitlabOauthCallbackPage/route.tsx | 7 +- .../HashicorpVaultAuthorizePage/route.tsx | 7 +- .../HashicorpVaultConfigurePage/route.tsx | 7 +- .../HasuraCloudAuthorizePage/route.tsx | 7 +- .../HasuraCloudConfigurePage/route.tsx | 7 +- .../HerokuConfigurePage/route.tsx | 7 +- .../HerokuOauthCallbackPage/route.tsx | 7 +- .../LaravelForgeAuthorizePage/route.tsx | 7 +- .../LaravelForgeConfigurePage/route.tsx | 7 +- .../NetlifyConfigurePage/route.tsx | 7 +- .../NetlifyOauthCallbackPage/route.tsx | 7 +- .../NorthflankAuthorizePage/route.tsx | 7 +- .../NorthflankConfigurePage/route.tsx | 7 +- .../OctopusDeployAuthorizePage/route.tsx | 7 +- .../OctopusDeployConfigurePage/route.tsx | 7 +- .../QoveryAuthorizePage/route.tsx | 7 +- .../QoveryConfigurePage/route.tsx | 7 +- .../RailwayAuthorizePage/route.tsx | 7 +- .../RailwayConfigurePage/route.tsx | 7 +- .../RenderAuthorizePage/route.tsx | 7 +- .../RenderConfigurePage/route.tsx | 7 +- .../RundeckAuthorizePage/route.tsx | 7 +- .../RundeckConfigurePage/route.tsx | 7 +- .../SelectIntegrationAuthPage/route.tsx | 7 +- .../SupabaseAuthorizePage/route.tsx | 7 +- .../SupabaseConfigurePage/route.tsx | 7 +- .../TeamcityAuthorizePage/route.tsx | 7 +- .../TeamcityConfigurePage/route.tsx | 7 +- .../TerraformCloudAuthorizePage/route.tsx | 7 +- .../TerraformCloudConfigurePage/route.tsx | 7 +- .../TravisCIAuthorizePage/route.tsx | 7 +- .../TravisCIConfigurePage/route.tsx | 7 +- .../VercelConfigurePage/route.tsx | 7 +- .../VercelOauthCallbackPage/route.tsx | 7 +- .../WindmillAuthorizePage/route.tsx | 7 +- .../WindmillConfigurePage/route.tsx | 7 +- ...zure-app-configurations-oauth-redirect.tsx | 2 +- .../route-azure-key-vault-oauth-redirect.tsx | 2 +- .../route-bitbucket-oauth-redirect.tsx | 2 +- .../integrations/route-gcp-oauth-redirect.tsx | 2 +- .../route-github-oauth-redirect.tsx | 2 +- .../route-gitlab-oauth-redirect.tsx | 2 +- .../route-heroku-oauth-redirect.tsx | 2 +- .../route-netlify-oauth-redirect.tsx | 2 +- .../route-vercel-oauth-redirect.tsx | 2 +- frontend/src/pages/secret-manager/layout.tsx | 2 +- frontend/src/pages/ssh/OverviewPage/route.tsx | 2 +- frontend/src/pages/ssh/SettingsPage/route.tsx | 2 +- .../src/pages/ssh/SshCaByIDPage/route.tsx | 2 +- frontend/src/pages/ssh/layout.tsx | 2 +- frontend/src/routeTree.gen.ts | 3551 +++++++++-------- frontend/src/routes.ts | 56 +- 154 files changed, 2619 insertions(+), 2740 deletions(-) rename frontend/src/layouts/{ProjectLayout => OrganizationLayout}/components/MenuIconButton/MenuIconButton.tsx (74%) rename frontend/src/layouts/{ProjectLayout => OrganizationLayout}/components/MenuIconButton/index.tsx (100%) rename frontend/src/layouts/{ProjectLayout => OrganizationLayout}/components/MinimizedOrgSidebar/MinimizedOrgSidebar.tsx (62%) rename frontend/src/layouts/{ProjectLayout => OrganizationLayout}/components/MinimizedOrgSidebar/index.tsx (100%) delete mode 100644 frontend/src/layouts/OrganizationLayout/components/SidebarFooter/SidebarFooter.tsx delete mode 100644 frontend/src/layouts/OrganizationLayout/components/SidebarFooter/index.tsx delete mode 100644 frontend/src/layouts/ProjectLayout/components/MinimizedOrgSidebar/ProjectSwitcher.tsx diff --git a/frontend/src/const/routes.ts b/frontend/src/const/routes.ts index a7b6d1375..1ddec1377 100644 --- a/frontend/src/const/routes.ts +++ b/frontend/src/const/routes.ts @@ -18,261 +18,261 @@ export const ROUTE_PATHS = Object.freeze({ Organization: { SecretScanning: setRoute( "/organization/secret-scanning", - "/_authenticate/_inject-org-details/organization/_layout/secret-scanning" + "/_authenticate/_inject-org-details/_org-layout/organization/secret-scanning" ), SettingsPage: setRoute( "/organization/settings", - "/_authenticate/_inject-org-details/organization/_layout/settings" + "/_authenticate/_inject-org-details/_org-layout/organization/settings" ), GroupDetailsByIDPage: setRoute( "/organization/groups/$groupId", - "/_authenticate/_inject-org-details/organization/_layout/groups/$groupId" + "/_authenticate/_inject-org-details/_org-layout/organization/groups/$groupId" ), IdentityDetailsByIDPage: setRoute( "/organization/identities/$identityId", - "/_authenticate/_inject-org-details/organization/_layout/identities/$identityId" + "/_authenticate/_inject-org-details/_org-layout/organization/identities/$identityId" ), UserDetailsByIDPage: setRoute( "/organization/members/$membershipId", - "/_authenticate/_inject-org-details/organization/_layout/members/$membershipId" + "/_authenticate/_inject-org-details/_org-layout/organization/members/$membershipId" ), AccessControlPage: setRoute( "/organization/access-management", - "/_authenticate/_inject-org-details/organization/_layout/access-management" + "/_authenticate/_inject-org-details/_org-layout/organization/access-management" ), RoleByIDPage: setRoute( "/organization/roles/$roleId", - "/_authenticate/_inject-org-details/organization/_layout/roles/$roleId" + "/_authenticate/_inject-org-details/_org-layout/organization/roles/$roleId" ), AppConnections: { GithubOauthCallbackPage: setRoute( "/organization/app-connections/github/oauth/callback", - "/_authenticate/_inject-org-details/organization/_layout/app-connections/github/oauth/callback" + "/_authenticate/_inject-org-details/_org-layout/organization/app-connections/github/oauth/callback" ) } }, SecretManager: { ApprovalPage: setRoute( "/secret-manager/$projectId/approval", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/approval" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/approval" ), SecretDashboardPage: setRoute( "/secret-manager/$projectId/secrets/$envSlug", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/secrets/$envSlug" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/secrets/$envSlug" ), OverviewPage: setRoute( "/secret-manager/$projectId/overview", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/overview" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/overview" ), IntegrationDetailsByIDPage: setRoute( "/secret-manager/$projectId/integrations/$integrationId", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/$integrationId" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/$integrationId" ), Integratons: { SelectIntegrationAuth: setRoute( "/secret-manager/$projectId/integrations/select-integration-auth", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/select-integration-auth" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/select-integration-auth" ), HerokuOauthCallbackPage: setRoute( "/secret-manager/$projectId/integrations/heroku/oauth2/callback", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/heroku/oauth2/callback" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/heroku/oauth2/callback" ), HerokuConfigurePage: setRoute( "/secret-manager/$projectId/integrations/heroku/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/heroku/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/heroku/create" ), AwsParameterStoreConfigurePage: setRoute( "/secret-manager/$projectId/integrations/aws-parameter-store/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/aws-parameter-store/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/aws-parameter-store/create" ), AwsSecretManagerConfigurePage: setRoute( "/secret-manager/$projectId/integrations/aws-secret-manager/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/aws-secret-manager/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/aws-secret-manager/create" ), AzureAppConfigurationsOauthCallbackPage: setRoute( "/secret-manager/$projectId/integrations/azure-app-configuration/oauth2/callback", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-app-configuration/oauth2/callback" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-app-configuration/oauth2/callback" ), AzureAppConfigurationsConfigurePage: setRoute( "/secret-manager/$projectId/integrations/azure-app-configuration/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-app-configuration/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-app-configuration/create" ), AzureDevopsConfigurePage: setRoute( "/secret-manager/$projectId/integrations/azure-devops/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-devops/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-devops/create" ), AzureKeyVaultAuthorizePage: setRoute( "/secret-manager/$projectId/integrations/azure-key-vault/authorize", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/authorize" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/authorize" ), AzureKeyVaultOauthCallbackPage: setRoute( "/secret-manager/$projectId/integrations/azure-key-vault/oauth2/callback", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/oauth2/callback" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/oauth2/callback" ), AzureKeyVaultConfigurePage: setRoute( "/secret-manager/$projectId/integrations/azure-key-vault/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/create" ), BitbucketOauthCallbackPage: setRoute( "/secret-manager/$projectId/integrations/bitbucket/oauth2/callback", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/bitbucket/oauth2/callback" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/bitbucket/oauth2/callback" ), BitbucketConfigurePage: setRoute( "/secret-manager/$projectId/integrations/bitbucket/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/bitbucket/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/bitbucket/create" ), ChecklyConfigurePage: setRoute( "/secret-manager/$projectId/integrations/checkly/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/checkly/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/checkly/create" ), CircleConfigurePage: setRoute( "/secret-manager/$projectId/integrations/circleci/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/circleci/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/circleci/create" ), CloudflarePagesConfigurePage: setRoute( "/secret-manager/$projectId/integrations/cloudflare-pages/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-pages/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-pages/create" ), DigitalOceanAppPlatformConfigurePage: setRoute( "/secret-manager/$projectId/integrations/digital-ocean-app-platform/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/digital-ocean-app-platform/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/digital-ocean-app-platform/create" ), CloudflareWorkersConfigurePage: setRoute( "/secret-manager/$projectId/integrations/cloudflare-workers/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-workers/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-workers/create" ), CodefreshConfigurePage: setRoute( "/secret-manager/$projectId/integrations/codefresh/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/codefresh/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/codefresh/create" ), GcpSecretManagerConfigurePage: setRoute( "/secret-manager/$projectId/integrations/gcp-secret-manager/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/create" ), GcpSecretManagerOauthCallbackPage: setRoute( "/secret-manager/$projectId/integrations/gcp-secret-manager/oauth2/callback", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/oauth2/callback" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/oauth2/callback" ), GithubConfigurePage: setRoute( "/secret-manager/$projectId/integrations/github/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/github/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/github/create" ), GithubOauthCallbackPage: setRoute( "/secret-manager/$projectId/integrations/github/oauth2/callback", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/github/oauth2/callback" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/github/oauth2/callback" ), GitlabConfigurePage: setRoute( "/secret-manager/$projectId/integrations/gitlab/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/create" ), GitlabOauthCallbackPage: setRoute( "/secret-manager/$projectId/integrations/gitlab/oauth2/callback", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/oauth2/callback" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/oauth2/callback" ), VercelOauthCallbackPage: setRoute( "/secret-manager/$projectId/integrations/vercel/oauth2/callback", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/vercel/oauth2/callback" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/vercel/oauth2/callback" ), VercelConfigurePage: setRoute( "/secret-manager/$projectId/integrations/vercel/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/vercel/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/vercel/create" ), FlyioConfigurePage: setRoute( "/secret-manager/$projectId/integrations/flyio/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/flyio/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/flyio/create" ), HashicorpVaultConfigurePage: setRoute( "/secret-manager/$projectId/integrations/hashicorp-vault/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/hashicorp-vault/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/hashicorp-vault/create" ), HasuraCloudConfigurePage: setRoute( "/secret-manager/$projectId/integrations/hasura-cloud/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/hasura-cloud/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/hasura-cloud/create" ), LaravelForgeConfigurePage: setRoute( "/secret-manager/$projectId/integrations/laravel-forge/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/laravel-forge/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/laravel-forge/create" ), NorthflankConfigurePage: setRoute( "/secret-manager/$projectId/integrations/northflank/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/northflank/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/northflank/create" ), RailwayConfigurePage: setRoute( "/secret-manager/$projectId/integrations/railway/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/railway/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/railway/create" ), RenderConfigurePage: setRoute( "/secret-manager/$projectId/integrations/render/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/render/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/render/create" ), RundeckConfigurePage: setRoute( "/secret-manager/$projectId/integrations/rundeck/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/rundeck/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/rundeck/create" ), WindmillConfigurePage: setRoute( "/secret-manager/$projectId/integrations/windmill/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/windmill/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/windmill/create" ), TravisCIConfigurePage: setRoute( "/secret-manager/$projectId/integrations/travisci/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/travisci/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/travisci/create" ), TerraformCloudConfigurePage: setRoute( "/secret-manager/$projectId/integrations/terraform-cloud/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/terraform-cloud/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/terraform-cloud/create" ), TeamcityConfigurePage: setRoute( "/secret-manager/$projectId/integrations/teamcity/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/teamcity/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/teamcity/create" ), SupabaseConfigurePage: setRoute( "/secret-manager/$projectId/integrations/supabase/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/supabase/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/supabase/create" ), OctopusDeployCloudConfigurePage: setRoute( "/secret-manager/$projectId/integrations/octopus-deploy/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/octopus-deploy/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/octopus-deploy/create" ), DatabricksConfigurePage: setRoute( "/secret-manager/$projectId/integrations/databricks/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/databricks/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/databricks/create" ), QoveryConfigurePage: setRoute( "/secret-manager/$projectId/integrations/qovery/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/qovery/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/qovery/create" ), Cloud66ConfigurePage: setRoute( "/secret-manager/$projectId/integrations/cloud-66/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloud-66/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/cloud-66/create" ), NetlifyConfigurePage: setRoute( "/secret-manager/$projectId/integrations/netlify/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/netlify/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/netlify/create" ), NetlifyOuathCallbackPage: setRoute( "/secret-manager/$projectId/integrations/netlify/oauth2/callback", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/netlify/oauth2/callback" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/netlify/oauth2/callback" ) } }, CertManager: { CertAuthDetailsByIDPage: setRoute( "/cert-manager/$projectId/ca/$caId", - "/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/ca/$caId" + "/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/ca/$caId" ), OverviewPage: setRoute( "/cert-manager/$projectId/overview", - "/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/overview" + "/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/overview" ), PkiCollectionDetailsByIDPage: setRoute( "/cert-manager/$projectId/pki-collections/$collectionId", - "/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/pki-collections/$collectionId" + "/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/pki-collections/$collectionId" ) }, Ssh: { SshCaByIDPage: setRoute( "/ssh/$projectId/ca/$caId", - "/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/ca/$caId" + "/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/ca/$caId" ) }, Public: { diff --git a/frontend/src/layouts/AdminLayout/AdminLayout.tsx b/frontend/src/layouts/AdminLayout/AdminLayout.tsx index f762acd9d..84a7adc7c 100644 --- a/frontend/src/layouts/AdminLayout/AdminLayout.tsx +++ b/frontend/src/layouts/AdminLayout/AdminLayout.tsx @@ -14,7 +14,7 @@ import { envConfig } from "@app/config/env"; import { ProjectType } from "@app/hooks/api/workspace/types"; import { InsecureConnectionBanner } from "../OrganizationLayout/components/InsecureConnectionBanner"; -import { INFISICAL_SUPPORT_OPTIONS } from "../OrganizationLayout/components/SidebarFooter/SidebarFooter"; +import { INFISICAL_SUPPORT_OPTIONS } from "../OrganizationLayout/components/MinimizedOrgSidebar/MinimizedOrgSidebar"; export const AdminLayout = () => { const { t } = useTranslation(); diff --git a/frontend/src/layouts/OrganizationLayout/OrganizationLayout.tsx b/frontend/src/layouts/OrganizationLayout/OrganizationLayout.tsx index 974cc3b40..182994aa6 100644 --- a/frontend/src/layouts/OrganizationLayout/OrganizationLayout.tsx +++ b/frontend/src/layouts/OrganizationLayout/OrganizationLayout.tsx @@ -1,14 +1,11 @@ -import { useState } from "react"; import { useTranslation } from "react-i18next"; import { faMobile } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { useQueryClient } from "@tanstack/react-query"; -import { Link, Outlet, useNavigate, useRouter, useRouterState } from "@tanstack/react-router"; -import { motion } from "framer-motion"; +import { Link, linkOptions, Outlet, useLocation, useRouterState } from "@tanstack/react-router"; +import { AnimatePresence, motion } from "framer-motion"; +import { twMerge } from "tailwind-merge"; -import { Mfa } from "@app/components/auth/Mfa"; import { CreateOrgModal } from "@app/components/organization/CreateOrgModal"; -import SecurityClient from "@app/components/utilities/SecurityClient"; import { BreadcrumbContainer, Menu, @@ -16,182 +13,101 @@ import { MenuItem, TBreadcrumbFormat } from "@app/components/v2"; -import { useUser } from "@app/context"; -import { usePopUp, useToggle } from "@app/hooks"; -import { useSelectOrganization, workspaceKeys } from "@app/hooks/api"; -import { authKeys } from "@app/hooks/api/auth/queries"; -import { MfaMethod } from "@app/hooks/api/auth/types"; -import { ProjectType } from "@app/hooks/api/workspace/types"; -import { navigateUserToOrg } from "@app/pages/auth/LoginPage/Login.utils"; +import { usePopUp } from "@app/hooks"; import { InsecureConnectionBanner } from "./components/InsecureConnectionBanner"; -import { SidebarFooter } from "./components/SidebarFooter"; +import { MinimizedOrgSidebar } from "./components/MinimizedOrgSidebar"; import { SidebarHeader } from "./components/SidebarHeader"; export const OrganizationLayout = () => { - const [shouldShowMfa, toggleShowMfa] = useToggle(false); - const [requiredMfaMethod, setRequiredMfaMethod] = useState(MfaMethod.EMAIL); - const [mfaSuccessCallback, setMfaSuccessCallback] = useState<() => void>(() => {}); const matches = useRouterState({ select: (s) => s.matches.at(-1)?.context }); - const breadcrumbs = matches && "breadcrumbs" in matches ? matches.breadcrumbs : undefined; - - const { user } = useUser(); + const location = useLocation(); + const isOrganizationSpecificPage = location.pathname.startsWith("/organization"); + const breadcrumbs = + isOrganizationSpecificPage && matches && "breadcrumbs" in matches + ? matches.breadcrumbs + : undefined; const { popUp, handlePopUpToggle } = usePopUp(["createOrg"] as const); - const { mutateAsync: selectOrganization } = useSelectOrganization(); - const navigate = useNavigate(); - const router = useRouter(); - const queryClient = useQueryClient(); const { t } = useTranslation(); - const handleOrgChange = async (orgId: string) => { - queryClient.removeQueries({ queryKey: authKeys.getAuthToken }); - queryClient.removeQueries({ queryKey: workspaceKeys.getAllUserWorkspace() }); - const { token, isMfaEnabled, mfaMethod } = await selectOrganization({ - organizationId: orgId - }); - - if (isMfaEnabled) { - SecurityClient.setMfaToken(token); - if (mfaMethod) { - setRequiredMfaMethod(mfaMethod); - } - toggleShowMfa.on(); - setMfaSuccessCallback(() => () => handleOrgChange(orgId)); - return; - } - await router.invalidate(); - await navigateUserToOrg(navigate, orgId); - }; - - if (shouldShowMfa) { - return ( -
    - toggleShowMfa.off()} - /> -
    - ); - } + const shouldShowOrgSidebar = ( + [ + linkOptions({ to: "/organization/access-management" }).to, + linkOptions({ to: "/organization/settings" }).to, + linkOptions({ to: "/organization/audit-logs" }).to + ] as string[] + ).includes(location.pathname); return ( <> -
    +
    {!window.isSecureContext && }
    - - handlePopUpToggle("createOrg", false)} - /> -
    + )} + + + + {({ isActive }) => ( + + Access Control + + )} + + + {({ isActive }) => ( + + Organization Settings + + )} + + + + + + )} + +
    {breadcrumbs ? ( ) : null} @@ -199,6 +115,10 @@ export const OrganizationLayout = () => {
    + handlePopUpToggle("createOrg", false)} + />

    diff --git a/frontend/src/layouts/ProjectLayout/components/MenuIconButton/MenuIconButton.tsx b/frontend/src/layouts/OrganizationLayout/components/MenuIconButton/MenuIconButton.tsx similarity index 74% rename from frontend/src/layouts/ProjectLayout/components/MenuIconButton/MenuIconButton.tsx rename to frontend/src/layouts/OrganizationLayout/components/MenuIconButton/MenuIconButton.tsx index a42146bed..4bb06022e 100644 --- a/frontend/src/layouts/ProjectLayout/components/MenuIconButton/MenuIconButton.tsx +++ b/frontend/src/layouts/OrganizationLayout/components/MenuIconButton/MenuIconButton.tsx @@ -22,7 +22,7 @@ export const MenuIconButton = ({ type="button" role="menuitem" className={twMerge( - "duration-50 group relative flex w-full cursor-pointer flex-col items-center justify-center rounded p-2 font-inter text-sm text-bunker-100 transition-all hover:bg-mineshaft-700", + "group relative flex w-full cursor-pointer flex-col items-center justify-center rounded p-2 font-inter text-sm text-bunker-100 transition-all duration-150 hover:bg-mineshaft-700", isSelected && "bg-bunker-800 hover:bg-mineshaft-600", isDisabled && "cursor-not-allowed hover:bg-transparent", className @@ -34,8 +34,8 @@ export const MenuIconButton = ({ >

    {icon && (
    @@ -49,7 +49,12 @@ export const MenuIconButton = ({ />
    )} -
    {children}
    +
    + {children} +
    ); }; diff --git a/frontend/src/layouts/ProjectLayout/components/MenuIconButton/index.tsx b/frontend/src/layouts/OrganizationLayout/components/MenuIconButton/index.tsx similarity index 100% rename from frontend/src/layouts/ProjectLayout/components/MenuIconButton/index.tsx rename to frontend/src/layouts/OrganizationLayout/components/MenuIconButton/index.tsx diff --git a/frontend/src/layouts/ProjectLayout/components/MinimizedOrgSidebar/MinimizedOrgSidebar.tsx b/frontend/src/layouts/OrganizationLayout/components/MinimizedOrgSidebar/MinimizedOrgSidebar.tsx similarity index 62% rename from frontend/src/layouts/ProjectLayout/components/MinimizedOrgSidebar/MinimizedOrgSidebar.tsx rename to frontend/src/layouts/OrganizationLayout/components/MinimizedOrgSidebar/MinimizedOrgSidebar.tsx index 04d960e00..041fe7dd4 100644 --- a/frontend/src/layouts/ProjectLayout/components/MinimizedOrgSidebar/MinimizedOrgSidebar.tsx +++ b/frontend/src/layouts/OrganizationLayout/components/MinimizedOrgSidebar/MinimizedOrgSidebar.tsx @@ -1,23 +1,23 @@ import { useState } from "react"; +import { faGithub, faSlack } from "@fortawesome/free-brands-svg-icons"; import { faArrowUpRightFromSquare, faBook, faCheck, faCog, faEllipsis, + faEnvelope, faInfinity, faInfo, faInfoCircle, faMoneyBill, - faReply, - faShare, faSignOut, + faUser, faUsers } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { useQueryClient } from "@tanstack/react-query"; -import { Link, useNavigate, useRouter } from "@tanstack/react-router"; -import { motion } from "framer-motion"; +import { Link, linkOptions, useLocation, useNavigate, useRouter } from "@tanstack/react-router"; import { Mfa } from "@app/components/auth/Mfa"; import { CreateOrgModal } from "@app/components/organization/CreateOrgModal"; @@ -42,13 +42,41 @@ import { } from "@app/hooks/api"; import { authKeys } from "@app/hooks/api/auth/queries"; import { MfaMethod } from "@app/hooks/api/auth/types"; +import { SubscriptionPlan } from "@app/hooks/api/types"; import { AuthMethod } from "@app/hooks/api/users/types"; import { ProjectType } from "@app/hooks/api/workspace/types"; -import { INFISICAL_SUPPORT_OPTIONS } from "@app/layouts/OrganizationLayout/components/SidebarFooter/SidebarFooter"; import { navigateUserToOrg } from "@app/pages/auth/LoginPage/Login.utils"; import { MenuIconButton } from "../MenuIconButton"; -import { ProjectSwitcher } from "./ProjectSwitcher"; + +const getPlan = (subscription: SubscriptionPlan) => { + if (subscription.dynamicSecret) return "Enterprise Plan"; + if (subscription.pitRecovery) return "Pro Plan"; + return "Free Plan"; +}; + +export const INFISICAL_SUPPORT_OPTIONS = [ + [ + , + "Support Forum", + "https://infisical.com/slack" + ], + [ + , + "Read Docs", + "https://infisical.com/docs/documentation/getting-started/introduction" + ], + [ + , + "GitHub Issues", + "https://github.com/Infisical/infisical/issues" + ], + [ + , + "Email Support", + "mailto:support@infisical.com" + ] +]; export const MinimizedOrgSidebar = () => { const [shouldShowMfa, toggleShowMfa] = useToggle(false); @@ -66,8 +94,17 @@ export const MinimizedOrgSidebar = () => { const { mutateAsync: selectOrganization } = useSelectOrganization(); const navigate = useNavigate(); const router = useRouter(); + const location = useLocation(); const queryClient = useQueryClient(); + const isMoreSelected = ( + [ + linkOptions({ to: "/organization/access-management" }).to, + linkOptions({ to: "/organization/settings" }).to, + linkOptions({ to: "/organization/audit-logs" }).to + ] as string[] + ).includes(location.pathname); + const handleOrgChange = async (orgId: string) => { queryClient.removeQueries({ queryKey: authKeys.getAuthToken }); queryClient.removeQueries({ queryKey: workspaceKeys.getAllUserWorkspace() }); @@ -115,11 +152,14 @@ export const MinimizedOrgSidebar = () => { return ( <> -
    diff --git a/frontend/src/layouts/ProjectLayout/components/MinimizedOrgSidebar/ProjectSwitcher.tsx b/frontend/src/layouts/ProjectLayout/components/MinimizedOrgSidebar/ProjectSwitcher.tsx deleted file mode 100644 index 6a69a4834..000000000 --- a/frontend/src/layouts/ProjectLayout/components/MinimizedOrgSidebar/ProjectSwitcher.tsx +++ /dev/null @@ -1,59 +0,0 @@ -import { useState } from "react"; -import { faExternalLink, faSearch } from "@fortawesome/free-solid-svg-icons"; -import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { Link } from "@tanstack/react-router"; - -import { DropdownMenuItem, EmptyState, Input } from "@app/components/v2"; -import { getProjectTitle } from "@app/helpers/project"; -import { useGetUserWorkspaces } from "@app/hooks/api"; -import { ProjectType } from "@app/hooks/api/workspace/types"; - -type Props = { - type: ProjectType; -}; - -export const ProjectSwitcher = ({ type }: Props) => { - const { data: workspaces, isPending } = useGetUserWorkspaces({ type }); - const [search, setSearch] = useState(""); - - const filteredWorkspaces = workspaces?.filter((el) => - el.name.toLowerCase().includes(search.toLowerCase()) - ); - - return ( - <> - -
    - {getProjectTitle(type)} projects - -
    - -
    - } - value={search} - onChange={(evt) => setSearch(evt.target.value)} - size="xs" - placeholder="Search by name" - className="" - /> -
    -
    - {filteredWorkspaces?.map((el) => ( - - - {el.name} - - - ))} - {!isPending && !filteredWorkspaces?.length && ( - - )} -
    - - ); -}; diff --git a/frontend/src/pages/cert-manager/CertAuthDetailsByIDPage/route.tsx b/frontend/src/pages/cert-manager/CertAuthDetailsByIDPage/route.tsx index ac3342f57..00244eb98 100644 --- a/frontend/src/pages/cert-manager/CertAuthDetailsByIDPage/route.tsx +++ b/frontend/src/pages/cert-manager/CertAuthDetailsByIDPage/route.tsx @@ -3,7 +3,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { CertAuthDetailsByIDPage } from "./CertAuthDetailsByIDPage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/ca/$caId" + "/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/ca/$caId" )({ component: CertAuthDetailsByIDPage, beforeLoad: ({ context, params }) => { diff --git a/frontend/src/pages/cert-manager/CertificatesPage/route.tsx b/frontend/src/pages/cert-manager/CertificatesPage/route.tsx index eec2b6007..431812886 100644 --- a/frontend/src/pages/cert-manager/CertificatesPage/route.tsx +++ b/frontend/src/pages/cert-manager/CertificatesPage/route.tsx @@ -3,7 +3,7 @@ import { createFileRoute } from "@tanstack/react-router"; import { CertificatesPage } from "./CertificatesPage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/overview" + "/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/overview" )({ component: CertificatesPage }); diff --git a/frontend/src/pages/cert-manager/PkiCollectionDetailsByIDPage/routes.tsx b/frontend/src/pages/cert-manager/PkiCollectionDetailsByIDPage/routes.tsx index bc1937cf8..d59ebd265 100644 --- a/frontend/src/pages/cert-manager/PkiCollectionDetailsByIDPage/routes.tsx +++ b/frontend/src/pages/cert-manager/PkiCollectionDetailsByIDPage/routes.tsx @@ -3,7 +3,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { PkiCollectionDetailsByIDPage } from "./PkiCollectionDetailsByIDPage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/pki-collections/$collectionId" + "/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/pki-collections/$collectionId" )({ component: PkiCollectionDetailsByIDPage, beforeLoad: ({ context, params }) => { diff --git a/frontend/src/pages/cert-manager/SettingsPage/route.tsx b/frontend/src/pages/cert-manager/SettingsPage/route.tsx index 366c1cbf9..8717adace 100644 --- a/frontend/src/pages/cert-manager/SettingsPage/route.tsx +++ b/frontend/src/pages/cert-manager/SettingsPage/route.tsx @@ -3,7 +3,7 @@ import { createFileRoute } from "@tanstack/react-router"; import { SettingsPage } from "./SettingsPage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/settings" + "/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/settings" )({ component: SettingsPage, beforeLoad: ({ context }) => { diff --git a/frontend/src/pages/cert-manager/layout.tsx b/frontend/src/pages/cert-manager/layout.tsx index 1d33e866a..54a9b06d3 100644 --- a/frontend/src/pages/cert-manager/layout.tsx +++ b/frontend/src/pages/cert-manager/layout.tsx @@ -6,7 +6,7 @@ import { fetchWorkspaceById } from "@app/hooks/api/workspace/queries"; import { ProjectLayout } from "@app/layouts/ProjectLayout"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout" + "/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout" )({ component: ProjectLayout, beforeLoad: async ({ params, context }) => { diff --git a/frontend/src/pages/kms/OverviewPage/route.tsx b/frontend/src/pages/kms/OverviewPage/route.tsx index 76f356245..dec69d68d 100644 --- a/frontend/src/pages/kms/OverviewPage/route.tsx +++ b/frontend/src/pages/kms/OverviewPage/route.tsx @@ -3,7 +3,7 @@ import { createFileRoute } from "@tanstack/react-router"; import { OverviewPage } from "./OverviewPage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/kms/$projectId/_kms-layout/overview" + "/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout/overview" )({ component: OverviewPage }); diff --git a/frontend/src/pages/kms/SettingsPage/route.tsx b/frontend/src/pages/kms/SettingsPage/route.tsx index 37f0525b6..e5499c51b 100644 --- a/frontend/src/pages/kms/SettingsPage/route.tsx +++ b/frontend/src/pages/kms/SettingsPage/route.tsx @@ -3,7 +3,7 @@ import { createFileRoute } from "@tanstack/react-router"; import { SettingsPage } from "./SettingsPage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/kms/$projectId/_kms-layout/settings" + "/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout/settings" )({ component: SettingsPage, beforeLoad: ({ context }) => { diff --git a/frontend/src/pages/kms/layout.tsx b/frontend/src/pages/kms/layout.tsx index a9874fb56..bd2d48595 100644 --- a/frontend/src/pages/kms/layout.tsx +++ b/frontend/src/pages/kms/layout.tsx @@ -6,7 +6,7 @@ import { fetchWorkspaceById } from "@app/hooks/api/workspace/queries"; import { ProjectLayout } from "@app/layouts/ProjectLayout"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/kms/$projectId/_kms-layout" + "/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout" )({ component: ProjectLayout, beforeLoad: async ({ params, context }) => { diff --git a/frontend/src/pages/organization/AccessManagementPage/route.tsx b/frontend/src/pages/organization/AccessManagementPage/route.tsx index 7caa58de4..1401f57c1 100644 --- a/frontend/src/pages/organization/AccessManagementPage/route.tsx +++ b/frontend/src/pages/organization/AccessManagementPage/route.tsx @@ -14,7 +14,7 @@ const AccessControlPageQuerySchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/organization/_layout/access-management" + "/_authenticate/_inject-org-details/_org-layout/organization/access-management" )({ component: AccessManagementPage, validateSearch: zodValidator(AccessControlPageQuerySchema), diff --git a/frontend/src/pages/organization/AdminPage/route.tsx b/frontend/src/pages/organization/AdminPage/route.tsx index 0ab2a530f..f0d6b4985 100644 --- a/frontend/src/pages/organization/AdminPage/route.tsx +++ b/frontend/src/pages/organization/AdminPage/route.tsx @@ -5,7 +5,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { AdminPage } from "./AdminPage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/organization/_layout/admin" + "/_authenticate/_inject-org-details/_org-layout/organization/admin" )({ component: AdminPage, context: () => ({ diff --git a/frontend/src/pages/organization/AppConnections/GithubOauthCallbackPage/route.tsx b/frontend/src/pages/organization/AppConnections/GithubOauthCallbackPage/route.tsx index 889c30082..a69c27aee 100644 --- a/frontend/src/pages/organization/AppConnections/GithubOauthCallbackPage/route.tsx +++ b/frontend/src/pages/organization/AppConnections/GithubOauthCallbackPage/route.tsx @@ -11,7 +11,7 @@ const GitHubOAuthCallbackPageQueryParamsSchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/organization/_layout/app-connections/github/oauth/callback" + "/_authenticate/_inject-org-details/_org-layout/organization/app-connections/github/oauth/callback" )({ component: GitHubOAuthCallbackPage, validateSearch: zodValidator(GitHubOAuthCallbackPageQueryParamsSchema), diff --git a/frontend/src/pages/organization/AuditLogsPage/route.tsx b/frontend/src/pages/organization/AuditLogsPage/route.tsx index b9f96b0ec..11b2eea70 100644 --- a/frontend/src/pages/organization/AuditLogsPage/route.tsx +++ b/frontend/src/pages/organization/AuditLogsPage/route.tsx @@ -5,7 +5,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { AuditLogsPage } from "./AuditLogsPage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/organization/_layout/audit-logs" + "/_authenticate/_inject-org-details/_org-layout/organization/audit-logs" )({ component: AuditLogsPage, context: () => ({ diff --git a/frontend/src/pages/organization/BillingPage/route.tsx b/frontend/src/pages/organization/BillingPage/route.tsx index d699c39bf..d76f26195 100644 --- a/frontend/src/pages/organization/BillingPage/route.tsx +++ b/frontend/src/pages/organization/BillingPage/route.tsx @@ -3,7 +3,7 @@ import { createFileRoute } from "@tanstack/react-router"; import { BillingPage } from "./BillingPage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/organization/_layout/billing" + "/_authenticate/_inject-org-details/_org-layout/organization/billing" )({ component: BillingPage }); diff --git a/frontend/src/pages/organization/CertManagerOverviewPage/route.tsx b/frontend/src/pages/organization/CertManagerOverviewPage/route.tsx index 21dc45fbc..92fd906e8 100644 --- a/frontend/src/pages/organization/CertManagerOverviewPage/route.tsx +++ b/frontend/src/pages/organization/CertManagerOverviewPage/route.tsx @@ -5,7 +5,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { CertManagerOverviewPage } from "./CertManagerOverviewPage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/organization/_layout/cert-manager/overview" + "/_authenticate/_inject-org-details/_org-layout/organization/cert-manager/overview" )({ component: CertManagerOverviewPage, context: () => ({ diff --git a/frontend/src/pages/organization/GroupDetailsByIDPage/route.tsx b/frontend/src/pages/organization/GroupDetailsByIDPage/route.tsx index c977b3768..83ead0221 100644 --- a/frontend/src/pages/organization/GroupDetailsByIDPage/route.tsx +++ b/frontend/src/pages/organization/GroupDetailsByIDPage/route.tsx @@ -5,7 +5,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { GroupDetailsByIDPage } from "./GroupDetailsByIDPage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/organization/_layout/groups/$groupId" + "/_authenticate/_inject-org-details/_org-layout/organization/groups/$groupId" )({ component: GroupDetailsByIDPage, context: () => ({ diff --git a/frontend/src/pages/organization/IdentityDetailsByIDPage/route.tsx b/frontend/src/pages/organization/IdentityDetailsByIDPage/route.tsx index d2f4c40a0..20edc25c1 100644 --- a/frontend/src/pages/organization/IdentityDetailsByIDPage/route.tsx +++ b/frontend/src/pages/organization/IdentityDetailsByIDPage/route.tsx @@ -5,7 +5,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { IdentityDetailsByIDPage } from "./IdentityDetailsByIDPage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/organization/_layout/identities/$identityId" + "/_authenticate/_inject-org-details/_org-layout/organization/identities/$identityId" )({ component: IdentityDetailsByIDPage, context: () => ({ diff --git a/frontend/src/pages/organization/KmsOverviewPage/route.tsx b/frontend/src/pages/organization/KmsOverviewPage/route.tsx index bfb7c9cd1..dcce98bd4 100644 --- a/frontend/src/pages/organization/KmsOverviewPage/route.tsx +++ b/frontend/src/pages/organization/KmsOverviewPage/route.tsx @@ -5,7 +5,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { KmsOverviewPage } from "./KmsOverviewPage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/organization/_layout/kms/overview" + "/_authenticate/_inject-org-details/_org-layout/organization/kms/overview" )({ component: KmsOverviewPage, context: () => ({ diff --git a/frontend/src/pages/organization/NoOrgPage/route.tsx b/frontend/src/pages/organization/NoOrgPage/route.tsx index 70c49f387..5c5573dc8 100644 --- a/frontend/src/pages/organization/NoOrgPage/route.tsx +++ b/frontend/src/pages/organization/NoOrgPage/route.tsx @@ -3,7 +3,7 @@ import { createFileRoute } from "@tanstack/react-router"; import { NoOrgPage } from "./NoOrgPage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/organization/_layout/none" + "/_authenticate/_inject-org-details/_org-layout/organization/none" )({ component: NoOrgPage }); diff --git a/frontend/src/pages/organization/RoleByIDPage/route.tsx b/frontend/src/pages/organization/RoleByIDPage/route.tsx index fe41a9b7d..bf6ba92d1 100644 --- a/frontend/src/pages/organization/RoleByIDPage/route.tsx +++ b/frontend/src/pages/organization/RoleByIDPage/route.tsx @@ -5,7 +5,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { RoleByIDPage } from "./RoleByIDPage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/organization/_layout/roles/$roleId" + "/_authenticate/_inject-org-details/_org-layout/organization/roles/$roleId" )({ component: RoleByIDPage, context: () => ({ diff --git a/frontend/src/pages/organization/SecretManagerOverviewPage/route.tsx b/frontend/src/pages/organization/SecretManagerOverviewPage/route.tsx index 4d02c1795..9dc554a65 100644 --- a/frontend/src/pages/organization/SecretManagerOverviewPage/route.tsx +++ b/frontend/src/pages/organization/SecretManagerOverviewPage/route.tsx @@ -5,7 +5,7 @@ import { createFileRoute } from "@tanstack/react-router"; import { SecretManagerOverviewPage } from "./SecretManagerOverviewPage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/organization/_layout/secret-manager/overview" + "/_authenticate/_inject-org-details/_org-layout/organization/secret-manager/overview" )({ component: SecretManagerOverviewPage, context: () => ({ diff --git a/frontend/src/pages/organization/SecretScanningPage/route.tsx b/frontend/src/pages/organization/SecretScanningPage/route.tsx index c25805439..75ad085e8 100644 --- a/frontend/src/pages/organization/SecretScanningPage/route.tsx +++ b/frontend/src/pages/organization/SecretScanningPage/route.tsx @@ -12,7 +12,7 @@ const SecretScanningQueryParams = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/organization/_layout/secret-scanning" + "/_authenticate/_inject-org-details/_org-layout/organization/secret-scanning" )({ validateSearch: zodValidator(SecretScanningQueryParams), component: SecretScanningPage, diff --git a/frontend/src/pages/organization/SecretSharingPage/route.tsx b/frontend/src/pages/organization/SecretSharingPage/route.tsx index 26f1126ac..0a3a52b1d 100644 --- a/frontend/src/pages/organization/SecretSharingPage/route.tsx +++ b/frontend/src/pages/organization/SecretSharingPage/route.tsx @@ -5,7 +5,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { SecretSharingPage } from "./SecretSharingPage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/organization/_layout/secret-sharing" + "/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing" )({ component: SecretSharingPage, context: () => ({ diff --git a/frontend/src/pages/organization/SettingsPage/route.tsx b/frontend/src/pages/organization/SettingsPage/route.tsx index 161cede84..803191e1f 100644 --- a/frontend/src/pages/organization/SettingsPage/route.tsx +++ b/frontend/src/pages/organization/SettingsPage/route.tsx @@ -11,7 +11,7 @@ const SettingsPageQueryParams = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/organization/_layout/settings" + "/_authenticate/_inject-org-details/_org-layout/organization/settings" )({ component: SettingsPage, validateSearch: zodValidator(SettingsPageQueryParams), diff --git a/frontend/src/pages/organization/SshOverviewPage/route.tsx b/frontend/src/pages/organization/SshOverviewPage/route.tsx index fd1441a21..9ae5ebe7e 100644 --- a/frontend/src/pages/organization/SshOverviewPage/route.tsx +++ b/frontend/src/pages/organization/SshOverviewPage/route.tsx @@ -5,7 +5,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { SshOverviewPage } from "./SshOverviewPage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/organization/_layout/ssh/overview" + "/_authenticate/_inject-org-details/_org-layout/organization/ssh/overview" )({ component: SshOverviewPage, context: () => ({ diff --git a/frontend/src/pages/organization/UserDetailsByIDPage/route.tsx b/frontend/src/pages/organization/UserDetailsByIDPage/route.tsx index f2760c357..2792bebfc 100644 --- a/frontend/src/pages/organization/UserDetailsByIDPage/route.tsx +++ b/frontend/src/pages/organization/UserDetailsByIDPage/route.tsx @@ -5,7 +5,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { UserDetailsByIDPage } from "./UserDetailsByIDPage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/organization/_layout/members/$membershipId" + "/_authenticate/_inject-org-details/_org-layout/organization/members/$membershipId" )({ component: UserDetailsByIDPage, context: () => ({ diff --git a/frontend/src/pages/organization/layout.tsx b/frontend/src/pages/organization/layout.tsx index 646a27ff3..79bdbf216 100644 --- a/frontend/src/pages/organization/layout.tsx +++ b/frontend/src/pages/organization/layout.tsx @@ -2,6 +2,6 @@ import { createFileRoute } from "@tanstack/react-router"; import { OrganizationLayout } from "@app/layouts/OrganizationLayout"; -export const Route = createFileRoute("/_authenticate/_inject-org-details/organization/_layout")({ +export const Route = createFileRoute("/_authenticate/_inject-org-details/_org-layout")({ component: OrganizationLayout }); diff --git a/frontend/src/pages/project/AccessControlPage/route-cert-manager.tsx b/frontend/src/pages/project/AccessControlPage/route-cert-manager.tsx index c74ce4fb1..b5bb55e71 100644 --- a/frontend/src/pages/project/AccessControlPage/route-cert-manager.tsx +++ b/frontend/src/pages/project/AccessControlPage/route-cert-manager.tsx @@ -11,7 +11,7 @@ const AccessControlPageQuerySchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/access-management" + "/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/access-management" )({ component: AccessControlPage, validateSearch: zodValidator(AccessControlPageQuerySchema), diff --git a/frontend/src/pages/project/AccessControlPage/route-kms.tsx b/frontend/src/pages/project/AccessControlPage/route-kms.tsx index f5f0ab4d9..c77c24b4d 100644 --- a/frontend/src/pages/project/AccessControlPage/route-kms.tsx +++ b/frontend/src/pages/project/AccessControlPage/route-kms.tsx @@ -11,7 +11,7 @@ const AccessControlPageQuerySchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/kms/$projectId/_kms-layout/access-management" + "/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout/access-management" )({ component: AccessControlPage, validateSearch: zodValidator(AccessControlPageQuerySchema), diff --git a/frontend/src/pages/project/AccessControlPage/route-secret-manager.tsx b/frontend/src/pages/project/AccessControlPage/route-secret-manager.tsx index 318232866..b3c0bec00 100644 --- a/frontend/src/pages/project/AccessControlPage/route-secret-manager.tsx +++ b/frontend/src/pages/project/AccessControlPage/route-secret-manager.tsx @@ -11,7 +11,7 @@ const AccessControlPageQuerySchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/access-management" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/access-management" )({ component: AccessControlPage, validateSearch: zodValidator(AccessControlPageQuerySchema), diff --git a/frontend/src/pages/project/AccessControlPage/route-ssh.tsx b/frontend/src/pages/project/AccessControlPage/route-ssh.tsx index fd5966061..897f6214b 100644 --- a/frontend/src/pages/project/AccessControlPage/route-ssh.tsx +++ b/frontend/src/pages/project/AccessControlPage/route-ssh.tsx @@ -11,7 +11,7 @@ const AccessControlPageQuerySchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/access-management" + "/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/access-management" )({ component: AccessControlPage, validateSearch: zodValidator(AccessControlPageQuerySchema), diff --git a/frontend/src/pages/project/IdentityDetailsByIDPage/route-cert-manager.tsx b/frontend/src/pages/project/IdentityDetailsByIDPage/route-cert-manager.tsx index 0498f1909..af4cb9e89 100644 --- a/frontend/src/pages/project/IdentityDetailsByIDPage/route-cert-manager.tsx +++ b/frontend/src/pages/project/IdentityDetailsByIDPage/route-cert-manager.tsx @@ -3,7 +3,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { IdentityDetailsByIDPage } from "./IdentityDetailsByIDPage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/identities/$identityId" + "/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/identities/$identityId" )({ component: IdentityDetailsByIDPage, beforeLoad: ({ context, params }) => { diff --git a/frontend/src/pages/project/IdentityDetailsByIDPage/route-kms.tsx b/frontend/src/pages/project/IdentityDetailsByIDPage/route-kms.tsx index eedb733b5..cc7f91492 100644 --- a/frontend/src/pages/project/IdentityDetailsByIDPage/route-kms.tsx +++ b/frontend/src/pages/project/IdentityDetailsByIDPage/route-kms.tsx @@ -3,7 +3,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { IdentityDetailsByIDPage } from "./IdentityDetailsByIDPage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/kms/$projectId/_kms-layout/identities/$identityId" + "/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout/identities/$identityId" )({ component: IdentityDetailsByIDPage, beforeLoad: ({ context, params }) => { diff --git a/frontend/src/pages/project/IdentityDetailsByIDPage/route-secret-manager.tsx b/frontend/src/pages/project/IdentityDetailsByIDPage/route-secret-manager.tsx index 46df6c7bf..ceb4bd51c 100644 --- a/frontend/src/pages/project/IdentityDetailsByIDPage/route-secret-manager.tsx +++ b/frontend/src/pages/project/IdentityDetailsByIDPage/route-secret-manager.tsx @@ -3,7 +3,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { IdentityDetailsByIDPage } from "./IdentityDetailsByIDPage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/identities/$identityId" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/identities/$identityId" )({ component: IdentityDetailsByIDPage, beforeLoad: ({ context, params }) => { diff --git a/frontend/src/pages/project/IdentityDetailsByIDPage/route-ssh.tsx b/frontend/src/pages/project/IdentityDetailsByIDPage/route-ssh.tsx index e63afa841..9c36de469 100644 --- a/frontend/src/pages/project/IdentityDetailsByIDPage/route-ssh.tsx +++ b/frontend/src/pages/project/IdentityDetailsByIDPage/route-ssh.tsx @@ -3,7 +3,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { IdentityDetailsByIDPage } from "./IdentityDetailsByIDPage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/identities/$identityId" + "/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/identities/$identityId" )({ component: IdentityDetailsByIDPage, beforeLoad: ({ context, params }) => { diff --git a/frontend/src/pages/project/MemberDetailsByIDPage/route-cert-manager.tsx b/frontend/src/pages/project/MemberDetailsByIDPage/route-cert-manager.tsx index 717eb755f..adee13e0e 100644 --- a/frontend/src/pages/project/MemberDetailsByIDPage/route-cert-manager.tsx +++ b/frontend/src/pages/project/MemberDetailsByIDPage/route-cert-manager.tsx @@ -3,7 +3,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { MemberDetailsByIDPage } from "./MemberDetailsByIDPage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/members/$membershipId" + "/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/members/$membershipId" )({ component: MemberDetailsByIDPage, beforeLoad: ({ context, params }) => { diff --git a/frontend/src/pages/project/MemberDetailsByIDPage/route-kms.tsx b/frontend/src/pages/project/MemberDetailsByIDPage/route-kms.tsx index fd2f240c4..cba632e6c 100644 --- a/frontend/src/pages/project/MemberDetailsByIDPage/route-kms.tsx +++ b/frontend/src/pages/project/MemberDetailsByIDPage/route-kms.tsx @@ -3,7 +3,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { MemberDetailsByIDPage } from "./MemberDetailsByIDPage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/kms/$projectId/_kms-layout/members/$membershipId" + "/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout/members/$membershipId" )({ component: MemberDetailsByIDPage, beforeLoad: ({ context, params }) => { diff --git a/frontend/src/pages/project/MemberDetailsByIDPage/route-secret-manager.tsx b/frontend/src/pages/project/MemberDetailsByIDPage/route-secret-manager.tsx index 7975158b1..e37fb4879 100644 --- a/frontend/src/pages/project/MemberDetailsByIDPage/route-secret-manager.tsx +++ b/frontend/src/pages/project/MemberDetailsByIDPage/route-secret-manager.tsx @@ -3,7 +3,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { MemberDetailsByIDPage } from "./MemberDetailsByIDPage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/members/$membershipId" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/members/$membershipId" )({ component: MemberDetailsByIDPage, beforeLoad: ({ context, params }) => { diff --git a/frontend/src/pages/project/MemberDetailsByIDPage/route-ssh.tsx b/frontend/src/pages/project/MemberDetailsByIDPage/route-ssh.tsx index bf9788c7a..8239f06eb 100644 --- a/frontend/src/pages/project/MemberDetailsByIDPage/route-ssh.tsx +++ b/frontend/src/pages/project/MemberDetailsByIDPage/route-ssh.tsx @@ -3,7 +3,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { MemberDetailsByIDPage } from "./MemberDetailsByIDPage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/members/$membershipId" + "/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/members/$membershipId" )({ component: MemberDetailsByIDPage, beforeLoad: ({ context, params }) => { diff --git a/frontend/src/pages/project/RoleDetailsBySlugPage/route-cert-manager.tsx b/frontend/src/pages/project/RoleDetailsBySlugPage/route-cert-manager.tsx index 70492769f..b12d84c7f 100644 --- a/frontend/src/pages/project/RoleDetailsBySlugPage/route-cert-manager.tsx +++ b/frontend/src/pages/project/RoleDetailsBySlugPage/route-cert-manager.tsx @@ -3,7 +3,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { RoleDetailsBySlugPage } from "./RoleDetailsBySlugPage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/roles/$roleSlug" + "/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/roles/$roleSlug" )({ component: RoleDetailsBySlugPage, beforeLoad: ({ context, params }) => { diff --git a/frontend/src/pages/project/RoleDetailsBySlugPage/route-kms.tsx b/frontend/src/pages/project/RoleDetailsBySlugPage/route-kms.tsx index 2ed018da9..307a191d9 100644 --- a/frontend/src/pages/project/RoleDetailsBySlugPage/route-kms.tsx +++ b/frontend/src/pages/project/RoleDetailsBySlugPage/route-kms.tsx @@ -3,7 +3,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { RoleDetailsBySlugPage } from "./RoleDetailsBySlugPage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/kms/$projectId/_kms-layout/roles/$roleSlug" + "/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout/roles/$roleSlug" )({ component: RoleDetailsBySlugPage, beforeLoad: ({ context, params }) => { diff --git a/frontend/src/pages/project/RoleDetailsBySlugPage/route-secret-manager.tsx b/frontend/src/pages/project/RoleDetailsBySlugPage/route-secret-manager.tsx index be7d2f7ca..e7d9034c1 100644 --- a/frontend/src/pages/project/RoleDetailsBySlugPage/route-secret-manager.tsx +++ b/frontend/src/pages/project/RoleDetailsBySlugPage/route-secret-manager.tsx @@ -3,7 +3,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { RoleDetailsBySlugPage } from "./RoleDetailsBySlugPage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/roles/$roleSlug" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/roles/$roleSlug" )({ component: RoleDetailsBySlugPage, beforeLoad: ({ context, params }) => { diff --git a/frontend/src/pages/project/RoleDetailsBySlugPage/route-ssh.tsx b/frontend/src/pages/project/RoleDetailsBySlugPage/route-ssh.tsx index f744ab313..ce97635e6 100644 --- a/frontend/src/pages/project/RoleDetailsBySlugPage/route-ssh.tsx +++ b/frontend/src/pages/project/RoleDetailsBySlugPage/route-ssh.tsx @@ -3,7 +3,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { RoleDetailsBySlugPage } from "./RoleDetailsBySlugPage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/roles/$roleSlug" + "/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/roles/$roleSlug" )({ component: RoleDetailsBySlugPage, beforeLoad: ({ context, params }) => { diff --git a/frontend/src/pages/secret-manager/IPAllowlistPage/route.tsx b/frontend/src/pages/secret-manager/IPAllowlistPage/route.tsx index a69050df2..891929e83 100644 --- a/frontend/src/pages/secret-manager/IPAllowlistPage/route.tsx +++ b/frontend/src/pages/secret-manager/IPAllowlistPage/route.tsx @@ -3,7 +3,7 @@ import { createFileRoute } from "@tanstack/react-router"; import { IPAllowListPage } from "./IPAllowlistPage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/allowlist" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/allowlist" )({ component: () => IPAllowListPage }); diff --git a/frontend/src/pages/secret-manager/IntegrationsDetailsByIDPage/route.tsx b/frontend/src/pages/secret-manager/IntegrationsDetailsByIDPage/route.tsx index 8a1aa3066..94290372e 100644 --- a/frontend/src/pages/secret-manager/IntegrationsDetailsByIDPage/route.tsx +++ b/frontend/src/pages/secret-manager/IntegrationsDetailsByIDPage/route.tsx @@ -3,7 +3,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { IntegrationDetailsByIDPage } from "./IntegrationsDetailsByIDPage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/$integrationId" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/$integrationId" )({ component: IntegrationDetailsByIDPage, beforeLoad: ({ context, params }) => { @@ -12,7 +12,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Details" diff --git a/frontend/src/pages/secret-manager/IntegrationsListPage/route.tsx b/frontend/src/pages/secret-manager/IntegrationsListPage/route.tsx index 830846509..bb0085aea 100644 --- a/frontend/src/pages/secret-manager/IntegrationsListPage/route.tsx +++ b/frontend/src/pages/secret-manager/IntegrationsListPage/route.tsx @@ -3,7 +3,7 @@ import { createFileRoute } from "@tanstack/react-router"; import { IntegrationsListPage } from "./IntegrationsListPage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/" )({ component: IntegrationsListPage, beforeLoad: ({ context }) => { diff --git a/frontend/src/pages/secret-manager/OverviewPage/route.tsx b/frontend/src/pages/secret-manager/OverviewPage/route.tsx index ee2da330b..d6f4c4b8f 100644 --- a/frontend/src/pages/secret-manager/OverviewPage/route.tsx +++ b/frontend/src/pages/secret-manager/OverviewPage/route.tsx @@ -10,7 +10,7 @@ const SecretOverviewPageQuerySchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/overview" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/overview" )({ component: OverviewPage, validateSearch: zodValidator(SecretOverviewPageQuerySchema), diff --git a/frontend/src/pages/secret-manager/SecretApprovalsPage/route.tsx b/frontend/src/pages/secret-manager/SecretApprovalsPage/route.tsx index 94d8f9035..79a5c8fa6 100644 --- a/frontend/src/pages/secret-manager/SecretApprovalsPage/route.tsx +++ b/frontend/src/pages/secret-manager/SecretApprovalsPage/route.tsx @@ -9,7 +9,7 @@ const SecretApprovalPageQueryParams = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/approval" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/approval" )({ component: SecretApprovalsPage, validateSearch: zodValidator(SecretApprovalPageQueryParams), diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/route.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/route.tsx index ed6ffadb3..bfc01680f 100644 --- a/frontend/src/pages/secret-manager/SecretDashboardPage/route.tsx +++ b/frontend/src/pages/secret-manager/SecretDashboardPage/route.tsx @@ -13,7 +13,7 @@ const SecretDashboardPageQueryParamsSchema = z.object({ tags: z.string().catch("") }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/secrets/$envSlug" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/secrets/$envSlug" )({ component: SecretDashboardPage, validateSearch: zodValidator(SecretDashboardPageQueryParamsSchema), diff --git a/frontend/src/pages/secret-manager/SecretRotationPage/route.tsx b/frontend/src/pages/secret-manager/SecretRotationPage/route.tsx index 9cf72c6a8..5413817ec 100644 --- a/frontend/src/pages/secret-manager/SecretRotationPage/route.tsx +++ b/frontend/src/pages/secret-manager/SecretRotationPage/route.tsx @@ -3,7 +3,7 @@ import { createFileRoute } from "@tanstack/react-router"; import { SecretRotationPage } from "./SecretRotationPage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/secret-rotation" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/secret-rotation" )({ component: SecretRotationPage, beforeLoad: ({ context }) => { diff --git a/frontend/src/pages/secret-manager/SettingsPage/route.tsx b/frontend/src/pages/secret-manager/SettingsPage/route.tsx index f826296c5..a6e7d79ed 100644 --- a/frontend/src/pages/secret-manager/SettingsPage/route.tsx +++ b/frontend/src/pages/secret-manager/SettingsPage/route.tsx @@ -3,7 +3,7 @@ import { createFileRoute } from "@tanstack/react-router"; import { SettingsPage } from "./SettingsPage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/settings" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/settings" )({ component: SettingsPage, beforeLoad: ({ context }) => { diff --git a/frontend/src/pages/secret-manager/integrations/AwsParameterStoreAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/AwsParameterStoreAuthorizePage/route.tsx index 3da848184..c885d2e10 100644 --- a/frontend/src/pages/secret-manager/integrations/AwsParameterStoreAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/AwsParameterStoreAuthorizePage/route.tsx @@ -3,7 +3,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { AWSParameterStoreAuthorizeIntegrationPage } from "./AwsParameterStoreAuthorizePage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/aws-parameter-store/authorize" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/aws-parameter-store/authorize" )({ component: AWSParameterStoreAuthorizeIntegrationPage, beforeLoad: ({ context, params }) => { @@ -12,7 +12,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "AWS Parameter Store" diff --git a/frontend/src/pages/secret-manager/integrations/AwsParameterStoreConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/AwsParameterStoreConfigurePage/route.tsx index 949557267..ce686c860 100644 --- a/frontend/src/pages/secret-manager/integrations/AwsParameterStoreConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/AwsParameterStoreConfigurePage/route.tsx @@ -9,7 +9,7 @@ const AwsParameterStoreConfigurePageQueryParamsSchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/aws-parameter-store/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/aws-parameter-store/create" )({ component: AWSParameterStoreConfigurePage, validateSearch: zodValidator(AwsParameterStoreConfigurePageQueryParamsSchema), @@ -19,7 +19,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "AWS Parameter Store" diff --git a/frontend/src/pages/secret-manager/integrations/AwsSecretManagerAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/AwsSecretManagerAuthorizePage/route.tsx index cf56647c4..67230282e 100644 --- a/frontend/src/pages/secret-manager/integrations/AwsSecretManagerAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/AwsSecretManagerAuthorizePage/route.tsx @@ -3,7 +3,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { AWSSecretManagerAuthorizePage } from "./AwsSecretManagerAuthorizePage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/aws-secret-manager/authorize" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/aws-secret-manager/authorize" )({ component: AWSSecretManagerAuthorizePage, beforeLoad: ({ context, params }) => { @@ -12,7 +12,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "AWS Secret Manager" diff --git a/frontend/src/pages/secret-manager/integrations/AwsSecretManagerConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/AwsSecretManagerConfigurePage/route.tsx index ab091dd1e..7275bc2aa 100644 --- a/frontend/src/pages/secret-manager/integrations/AwsSecretManagerConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/AwsSecretManagerConfigurePage/route.tsx @@ -9,7 +9,7 @@ const AwsSecretManagerConfigurePageQueryParamsSchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/aws-secret-manager/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/aws-secret-manager/create" )({ component: AwsSecretManagerConfigurePage, validateSearch: zodValidator(AwsSecretManagerConfigurePageQueryParamsSchema), @@ -19,7 +19,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "AWS Secret Manager" diff --git a/frontend/src/pages/secret-manager/integrations/AzureAppConfigurationConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/AzureAppConfigurationConfigurePage/route.tsx index 3d0b3585f..020941e0c 100644 --- a/frontend/src/pages/secret-manager/integrations/AzureAppConfigurationConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/AzureAppConfigurationConfigurePage/route.tsx @@ -9,7 +9,7 @@ const AzureAppConfigurationPageQueryParamsSchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-app-configuration/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-app-configuration/create" )({ component: AzureAppConfigurationConfigurePage, validateSearch: zodValidator(AzureAppConfigurationPageQueryParamsSchema), @@ -19,7 +19,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Azure App Configuration" diff --git a/frontend/src/pages/secret-manager/integrations/AzureAppConfigurationOauthCallbackPage/route.tsx b/frontend/src/pages/secret-manager/integrations/AzureAppConfigurationOauthCallbackPage/route.tsx index e246d5082..5a94048d5 100644 --- a/frontend/src/pages/secret-manager/integrations/AzureAppConfigurationOauthCallbackPage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/AzureAppConfigurationOauthCallbackPage/route.tsx @@ -10,7 +10,7 @@ export const AzureAppConfigurationOauthCallbackPageQueryParamsSchema = z.object( }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-app-configuration/oauth2/callback" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-app-configuration/oauth2/callback" )({ component: AzureAppConfigurationOauthCallbackPage, validateSearch: zodValidator(AzureAppConfigurationOauthCallbackPageQueryParamsSchema), @@ -20,7 +20,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Azure App Configuration" diff --git a/frontend/src/pages/secret-manager/integrations/AzureDevopsAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/AzureDevopsAuthorizePage/route.tsx index 3ddcb30d8..4dca8b8c6 100644 --- a/frontend/src/pages/secret-manager/integrations/AzureDevopsAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/AzureDevopsAuthorizePage/route.tsx @@ -3,7 +3,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { AzureDevopsAuthorizePage } from "./AzureDevopsAuthorizePage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-devops/authorize" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-devops/authorize" )({ component: AzureDevopsAuthorizePage, beforeLoad: ({ context, params }) => { @@ -12,7 +12,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Azure Devops" diff --git a/frontend/src/pages/secret-manager/integrations/AzureDevopsConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/AzureDevopsConfigurePage/route.tsx index fa5b9c473..620e71660 100644 --- a/frontend/src/pages/secret-manager/integrations/AzureDevopsConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/AzureDevopsConfigurePage/route.tsx @@ -9,7 +9,7 @@ const AzureDevopsConfigurePageQueryParamsSchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-devops/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-devops/create" )({ component: AzureDevopsConfigurePage, validateSearch: zodValidator(AzureDevopsConfigurePageQueryParamsSchema), @@ -19,7 +19,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Azure Devops" diff --git a/frontend/src/pages/secret-manager/integrations/AzureKeyVaultAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/AzureKeyVaultAuthorizePage/route.tsx index 21c732619..6d14a4bb7 100644 --- a/frontend/src/pages/secret-manager/integrations/AzureKeyVaultAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/AzureKeyVaultAuthorizePage/route.tsx @@ -9,7 +9,7 @@ const PageQueryParamsSchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/authorize" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/authorize" )({ component: AzureKeyVaultAuthorizePage, validateSearch: PageQueryParamsSchema, @@ -19,7 +19,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Azure Key Vault" diff --git a/frontend/src/pages/secret-manager/integrations/AzureKeyVaultConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/AzureKeyVaultConfigurePage/route.tsx index 1c286b947..773fa5468 100644 --- a/frontend/src/pages/secret-manager/integrations/AzureKeyVaultConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/AzureKeyVaultConfigurePage/route.tsx @@ -9,7 +9,7 @@ const AzureKeyVaultConfigurePageQueryParamsSchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/create" )({ component: AzureKeyVaultConfigurePage, validateSearch: zodValidator(AzureKeyVaultConfigurePageQueryParamsSchema), @@ -19,7 +19,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Azure Key Vault" diff --git a/frontend/src/pages/secret-manager/integrations/AzureKeyVaultOauthCallbackPage/route.tsx b/frontend/src/pages/secret-manager/integrations/AzureKeyVaultOauthCallbackPage/route.tsx index 853fc9427..2e3e03455 100644 --- a/frontend/src/pages/secret-manager/integrations/AzureKeyVaultOauthCallbackPage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/AzureKeyVaultOauthCallbackPage/route.tsx @@ -10,7 +10,7 @@ export const AzureKeyVaultOauthCallbackQueryParamsSchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/oauth2/callback" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/oauth2/callback" )({ component: AzureKeyVaultOauthCallbackPage, validateSearch: zodValidator(AzureKeyVaultOauthCallbackQueryParamsSchema), @@ -20,7 +20,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Azure Key Vault" diff --git a/frontend/src/pages/secret-manager/integrations/BitbucketConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/BitbucketConfigurePage/route.tsx index dc38d1063..d10fbbc80 100644 --- a/frontend/src/pages/secret-manager/integrations/BitbucketConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/BitbucketConfigurePage/route.tsx @@ -9,7 +9,7 @@ const BitbucketConfigurePageQueryParamsSchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/bitbucket/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/bitbucket/create" )({ component: BitbucketConfigurePage, validateSearch: zodValidator(BitbucketConfigurePageQueryParamsSchema), @@ -19,7 +19,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Bitbucket" diff --git a/frontend/src/pages/secret-manager/integrations/BitbucketOauthCallbackPage/route.tsx b/frontend/src/pages/secret-manager/integrations/BitbucketOauthCallbackPage/route.tsx index b080b7e83..be898d684 100644 --- a/frontend/src/pages/secret-manager/integrations/BitbucketOauthCallbackPage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/BitbucketOauthCallbackPage/route.tsx @@ -10,7 +10,7 @@ export const BitbucketOauthCallbackQueryParamsSchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/bitbucket/oauth2/callback" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/bitbucket/oauth2/callback" )({ component: BitbucketOauthCallbackPage, validateSearch: zodValidator(BitbucketOauthCallbackQueryParamsSchema), @@ -20,7 +20,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Bitbucket" diff --git a/frontend/src/pages/secret-manager/integrations/ChecklyAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/ChecklyAuthorizePage/route.tsx index c602fc3e7..cd38ff7ec 100644 --- a/frontend/src/pages/secret-manager/integrations/ChecklyAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/ChecklyAuthorizePage/route.tsx @@ -3,7 +3,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { ChecklyAuthorizePage } from "./ChecklyAuthorizePage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/checkly/authorize" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/checkly/authorize" )({ component: ChecklyAuthorizePage, beforeLoad: ({ context, params }) => { @@ -12,7 +12,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Checkly" diff --git a/frontend/src/pages/secret-manager/integrations/ChecklyConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/ChecklyConfigurePage/route.tsx index 026a73567..832ecc202 100644 --- a/frontend/src/pages/secret-manager/integrations/ChecklyConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/ChecklyConfigurePage/route.tsx @@ -9,7 +9,7 @@ const ChecklyConfigurePageQueryParamsSchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/checkly/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/checkly/create" )({ component: ChecklyConfigurePage, validateSearch: zodValidator(ChecklyConfigurePageQueryParamsSchema), @@ -19,7 +19,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Checkly" diff --git a/frontend/src/pages/secret-manager/integrations/CircleCIAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/CircleCIAuthorizePage/route.tsx index 0ebb18ab0..0fb0e577b 100644 --- a/frontend/src/pages/secret-manager/integrations/CircleCIAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/CircleCIAuthorizePage/route.tsx @@ -3,7 +3,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { CircleCIAuthorizePage } from "./CircleCIAuthorizePage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/circleci/authorize" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/circleci/authorize" )({ component: CircleCIAuthorizePage, beforeLoad: ({ context, params }) => { @@ -12,7 +12,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Circle CI" diff --git a/frontend/src/pages/secret-manager/integrations/CircleCIConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/CircleCIConfigurePage/route.tsx index c7079458f..7f3ed1d37 100644 --- a/frontend/src/pages/secret-manager/integrations/CircleCIConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/CircleCIConfigurePage/route.tsx @@ -9,7 +9,7 @@ const CircleCIConfigurePageQueryParamsSchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/circleci/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/circleci/create" )({ component: CircleCIConfigurePage, validateSearch: zodValidator(CircleCIConfigurePageQueryParamsSchema), @@ -19,7 +19,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Circle CI" diff --git a/frontend/src/pages/secret-manager/integrations/Cloud66AuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/Cloud66AuthorizePage/route.tsx index 46c9d220a..b0dd2c467 100644 --- a/frontend/src/pages/secret-manager/integrations/Cloud66AuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/Cloud66AuthorizePage/route.tsx @@ -3,7 +3,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { Cloud66AuthorizePage } from "./Cloud66AuthorizePage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloud-66/authorize" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/cloud-66/authorize" )({ component: Cloud66AuthorizePage, beforeLoad: ({ context, params }) => { @@ -12,7 +12,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Cloud 66" diff --git a/frontend/src/pages/secret-manager/integrations/Cloud66ConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/Cloud66ConfigurePage/route.tsx index 3f54dec22..422d0ce5f 100644 --- a/frontend/src/pages/secret-manager/integrations/Cloud66ConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/Cloud66ConfigurePage/route.tsx @@ -9,7 +9,7 @@ const Cloud66ConfigurePageQueryParamsSchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloud-66/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/cloud-66/create" )({ component: Cloud66ConfigurePage, validateSearch: zodValidator(Cloud66ConfigurePageQueryParamsSchema), @@ -19,7 +19,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Cloud 66" diff --git a/frontend/src/pages/secret-manager/integrations/CloudflarePagesAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/CloudflarePagesAuthorizePage/route.tsx index 0f8e5eaed..4f216cccb 100644 --- a/frontend/src/pages/secret-manager/integrations/CloudflarePagesAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/CloudflarePagesAuthorizePage/route.tsx @@ -3,7 +3,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { CloudflarePagesAuthorizePage } from "./CloudflarePagesAuthorizePage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-pages/authorize" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-pages/authorize" )({ component: CloudflarePagesAuthorizePage, beforeLoad: ({ context, params }) => { @@ -12,7 +12,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Cloudflare Pages" diff --git a/frontend/src/pages/secret-manager/integrations/CloudflarePagesConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/CloudflarePagesConfigurePage/route.tsx index dbbb8049a..29310625e 100644 --- a/frontend/src/pages/secret-manager/integrations/CloudflarePagesConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/CloudflarePagesConfigurePage/route.tsx @@ -9,7 +9,7 @@ const CloudflarePagesConfigurePageQueryParamsSchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-pages/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-pages/create" )({ component: CloudflarePagesConfigurePage, validateSearch: zodValidator(CloudflarePagesConfigurePageQueryParamsSchema), @@ -19,7 +19,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Cloudflare Pages" diff --git a/frontend/src/pages/secret-manager/integrations/CloudflareWorkersAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/CloudflareWorkersAuthorizePage/route.tsx index ccd55ab6d..0558baed2 100644 --- a/frontend/src/pages/secret-manager/integrations/CloudflareWorkersAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/CloudflareWorkersAuthorizePage/route.tsx @@ -3,7 +3,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { CloudflareWorkersAuthorizePage } from "./CloudflareWorkersAuthorizePage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-workers/authorize" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-workers/authorize" )({ component: CloudflareWorkersAuthorizePage, beforeLoad: ({ context, params }) => { @@ -12,7 +12,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Cloudflare Workers" diff --git a/frontend/src/pages/secret-manager/integrations/CloudflareWorkersConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/CloudflareWorkersConfigurePage/route.tsx index 4fddbe1b5..1687628e3 100644 --- a/frontend/src/pages/secret-manager/integrations/CloudflareWorkersConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/CloudflareWorkersConfigurePage/route.tsx @@ -9,7 +9,7 @@ const CloudflareWorkersConfigurePageQueryParamsSchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-workers/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-workers/create" )({ component: CloudflareWorkersConfigurePage, validateSearch: zodValidator(CloudflareWorkersConfigurePageQueryParamsSchema), @@ -19,7 +19,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Cloudflare Workers" diff --git a/frontend/src/pages/secret-manager/integrations/CodefreshAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/CodefreshAuthorizePage/route.tsx index cb37f4842..443fc2267 100644 --- a/frontend/src/pages/secret-manager/integrations/CodefreshAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/CodefreshAuthorizePage/route.tsx @@ -3,7 +3,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { CodefreshAuthorizePage } from "./CodefreshAuthorizePage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/codefresh/authorize" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/codefresh/authorize" )({ component: CodefreshAuthorizePage, beforeLoad: ({ context, params }) => { @@ -12,7 +12,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Codefresh" diff --git a/frontend/src/pages/secret-manager/integrations/CodefreshConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/CodefreshConfigurePage/route.tsx index 1785d08da..717462908 100644 --- a/frontend/src/pages/secret-manager/integrations/CodefreshConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/CodefreshConfigurePage/route.tsx @@ -9,7 +9,7 @@ const CodefreshConfigurePageQueryParamsSchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/codefresh/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/codefresh/create" )({ component: CodefreshConfigurePage, validateSearch: zodValidator(CodefreshConfigurePageQueryParamsSchema), @@ -19,7 +19,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Codefresh" diff --git a/frontend/src/pages/secret-manager/integrations/DatabricksAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/DatabricksAuthorizePage/route.tsx index 66f94b7c1..a49d94583 100644 --- a/frontend/src/pages/secret-manager/integrations/DatabricksAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/DatabricksAuthorizePage/route.tsx @@ -3,7 +3,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { DatabricksAuthorizePage } from "./DatabricksAuthorizePage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/databricks/authorize" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/databricks/authorize" )({ component: DatabricksAuthorizePage, beforeLoad: ({ context, params }) => { @@ -12,7 +12,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Databricks" diff --git a/frontend/src/pages/secret-manager/integrations/DatabricksConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/DatabricksConfigurePage/route.tsx index e34ce44b8..76bb65f1f 100644 --- a/frontend/src/pages/secret-manager/integrations/DatabricksConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/DatabricksConfigurePage/route.tsx @@ -9,7 +9,7 @@ const DatabricksConfigurePageQueryParamsSchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/databricks/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/databricks/create" )({ component: DatabricksConfigurePage, validateSearch: zodValidator(DatabricksConfigurePageQueryParamsSchema), @@ -19,7 +19,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Databricks" diff --git a/frontend/src/pages/secret-manager/integrations/DigitalOceanAppPlatformAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/DigitalOceanAppPlatformAuthorizePage/route.tsx index aa75e56f5..68277ce59 100644 --- a/frontend/src/pages/secret-manager/integrations/DigitalOceanAppPlatformAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/DigitalOceanAppPlatformAuthorizePage/route.tsx @@ -3,7 +3,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { DigitalOceanAppPlatformAuthorizePage } from "./DigitalOceanAppPlatformAuthorizePage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/digital-ocean-app-platform/authorize" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/digital-ocean-app-platform/authorize" )({ component: DigitalOceanAppPlatformAuthorizePage, beforeLoad: ({ context, params }) => { @@ -12,7 +12,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "DigitalOcean App Platform" diff --git a/frontend/src/pages/secret-manager/integrations/DigitalOceanAppPlatformConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/DigitalOceanAppPlatformConfigurePage/route.tsx index f4f3658d1..80eaf0bae 100644 --- a/frontend/src/pages/secret-manager/integrations/DigitalOceanAppPlatformConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/DigitalOceanAppPlatformConfigurePage/route.tsx @@ -9,7 +9,7 @@ const DigitalOceanAppPlatformConfigurePageQueryParamsSchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/digital-ocean-app-platform/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/digital-ocean-app-platform/create" )({ component: DigitalOceanAppPlatformConfigurePage, validateSearch: zodValidator(DigitalOceanAppPlatformConfigurePageQueryParamsSchema), @@ -19,7 +19,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "DigitalOcean App Platform" diff --git a/frontend/src/pages/secret-manager/integrations/FlyioAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/FlyioAuthorizePage/route.tsx index bab0ee8d3..44e78a708 100644 --- a/frontend/src/pages/secret-manager/integrations/FlyioAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/FlyioAuthorizePage/route.tsx @@ -3,7 +3,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { FlyioAuthorizePage } from "./FlyioAuthorizePage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/flyio/authorize" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/flyio/authorize" )({ component: FlyioAuthorizePage, beforeLoad: ({ context, params }) => { @@ -12,7 +12,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Fly IO" diff --git a/frontend/src/pages/secret-manager/integrations/FlyioConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/FlyioConfigurePage/route.tsx index 49954acd1..254068dbe 100644 --- a/frontend/src/pages/secret-manager/integrations/FlyioConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/FlyioConfigurePage/route.tsx @@ -9,7 +9,7 @@ const FlyioConfigurePageQueryParamsSchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/flyio/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/flyio/create" )({ component: FlyioConfigurePage, validateSearch: zodValidator(FlyioConfigurePageQueryParamsSchema), @@ -19,7 +19,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Fly IO" diff --git a/frontend/src/pages/secret-manager/integrations/GcpSecretManagerAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/GcpSecretManagerAuthorizePage/route.tsx index 7467e29dc..92df323ce 100644 --- a/frontend/src/pages/secret-manager/integrations/GcpSecretManagerAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/GcpSecretManagerAuthorizePage/route.tsx @@ -3,7 +3,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { GcpSecretManagerAuthorizePage } from "./GcpSecretManagerAuthorizePage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/authorize" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/authorize" )({ component: GcpSecretManagerAuthorizePage, beforeLoad: ({ context, params }) => { @@ -12,7 +12,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "GCP Secret Manager" diff --git a/frontend/src/pages/secret-manager/integrations/GcpSecretManagerConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/GcpSecretManagerConfigurePage/route.tsx index bc2d0ed32..644a9f858 100644 --- a/frontend/src/pages/secret-manager/integrations/GcpSecretManagerConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/GcpSecretManagerConfigurePage/route.tsx @@ -9,7 +9,7 @@ const GcpConfigurePageQueryParamsSchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/create" )({ component: GcpSecretManagerConfigurePage, validateSearch: zodValidator(GcpConfigurePageQueryParamsSchema), @@ -19,7 +19,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "GCP Secret Manager" diff --git a/frontend/src/pages/secret-manager/integrations/GcpSecretManagerOauthCallbackPage/route.tsx b/frontend/src/pages/secret-manager/integrations/GcpSecretManagerOauthCallbackPage/route.tsx index fa18411bb..3049d2bb6 100644 --- a/frontend/src/pages/secret-manager/integrations/GcpSecretManagerOauthCallbackPage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/GcpSecretManagerOauthCallbackPage/route.tsx @@ -10,7 +10,7 @@ export const GcpSecretManagerOAuthCallbackPageQueryParamsSchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/oauth2/callback" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/oauth2/callback" )({ component: GcpSecretManagerOauthCallbackPage, validateSearch: zodValidator(GcpSecretManagerOAuthCallbackPageQueryParamsSchema), @@ -20,7 +20,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "GCP Secret Manager" diff --git a/frontend/src/pages/secret-manager/integrations/GithubAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/GithubAuthorizePage/route.tsx index 109b6e9e7..584592ed1 100644 --- a/frontend/src/pages/secret-manager/integrations/GithubAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/GithubAuthorizePage/route.tsx @@ -3,7 +3,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { GithubAuthorizePage } from "./GithubAuthorizePage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/github/auth-mode-selection" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/github/auth-mode-selection" )({ component: GithubAuthorizePage, beforeLoad: ({ context, params }) => { @@ -12,7 +12,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "GitHub" diff --git a/frontend/src/pages/secret-manager/integrations/GithubConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/GithubConfigurePage/route.tsx index 881d3694d..6bcf6db77 100644 --- a/frontend/src/pages/secret-manager/integrations/GithubConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/GithubConfigurePage/route.tsx @@ -9,7 +9,7 @@ const GithubConfigurePageQueryParamsSchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/github/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/github/create" )({ component: GithubConfigurePage, validateSearch: zodValidator(GithubConfigurePageQueryParamsSchema), @@ -19,7 +19,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "GitHub" diff --git a/frontend/src/pages/secret-manager/integrations/GithubOauthCallbackPage/route.tsx b/frontend/src/pages/secret-manager/integrations/GithubOauthCallbackPage/route.tsx index ec2c15255..fce97a4d7 100644 --- a/frontend/src/pages/secret-manager/integrations/GithubOauthCallbackPage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/GithubOauthCallbackPage/route.tsx @@ -11,7 +11,7 @@ export const GithubOAuthCallbackPageQueryParamsSchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/github/oauth2/callback" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/github/oauth2/callback" )({ component: GithubOauthCallbackPage, validateSearch: zodValidator(GithubOAuthCallbackPageQueryParamsSchema), @@ -21,7 +21,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "GitHub" diff --git a/frontend/src/pages/secret-manager/integrations/GitlabAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/GitlabAuthorizePage/route.tsx index 48b27d86e..9b132210e 100644 --- a/frontend/src/pages/secret-manager/integrations/GitlabAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/GitlabAuthorizePage/route.tsx @@ -3,7 +3,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { GitlabAuthorizePage } from "./GitlabAuthorizePage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/authorize" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/authorize" )({ component: GitlabAuthorizePage, beforeLoad: ({ context, params }) => { @@ -12,7 +12,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "GitLab" diff --git a/frontend/src/pages/secret-manager/integrations/GitlabConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/GitlabConfigurePage/route.tsx index 272b80a73..b09ab1cf0 100644 --- a/frontend/src/pages/secret-manager/integrations/GitlabConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/GitlabConfigurePage/route.tsx @@ -9,7 +9,7 @@ const GitlabConfigurePageQueryParamsSchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/create" )({ component: GitlabConfigurePage, validateSearch: zodValidator(GitlabConfigurePageQueryParamsSchema), @@ -19,7 +19,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "GitLab" diff --git a/frontend/src/pages/secret-manager/integrations/GitlabOauthCallbackPage/route.tsx b/frontend/src/pages/secret-manager/integrations/GitlabOauthCallbackPage/route.tsx index 7828f91bd..9a4644845 100644 --- a/frontend/src/pages/secret-manager/integrations/GitlabOauthCallbackPage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/GitlabOauthCallbackPage/route.tsx @@ -10,7 +10,7 @@ export const GitlabOAuthCallbackPageQueryParamsSchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/oauth2/callback" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/oauth2/callback" )({ component: GitLabOAuthCallbackPage, validateSearch: zodValidator(GitlabOAuthCallbackPageQueryParamsSchema), @@ -20,7 +20,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "GitLab" diff --git a/frontend/src/pages/secret-manager/integrations/HashicorpVaultAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/HashicorpVaultAuthorizePage/route.tsx index 7e4d1f907..02d2600c7 100644 --- a/frontend/src/pages/secret-manager/integrations/HashicorpVaultAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/HashicorpVaultAuthorizePage/route.tsx @@ -3,7 +3,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { HashicorpVaultAuthorizePage } from "./HashicorpVaultAuthorizePage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/hashicorp-vault/authorize" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/hashicorp-vault/authorize" )({ component: HashicorpVaultAuthorizePage, beforeLoad: ({ context, params }) => { @@ -12,7 +12,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Hashicorp Vault" diff --git a/frontend/src/pages/secret-manager/integrations/HashicorpVaultConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/HashicorpVaultConfigurePage/route.tsx index d79883d9e..a298b9bba 100644 --- a/frontend/src/pages/secret-manager/integrations/HashicorpVaultConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/HashicorpVaultConfigurePage/route.tsx @@ -9,7 +9,7 @@ const HashicorpVaultConfigurePageQueryParamsSchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/hashicorp-vault/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/hashicorp-vault/create" )({ component: HashicorpVaultConfigurePage, validateSearch: zodValidator(HashicorpVaultConfigurePageQueryParamsSchema), @@ -19,7 +19,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Hashicorp Vault" diff --git a/frontend/src/pages/secret-manager/integrations/HasuraCloudAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/HasuraCloudAuthorizePage/route.tsx index 8dfe1c7d6..7b9de974b 100644 --- a/frontend/src/pages/secret-manager/integrations/HasuraCloudAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/HasuraCloudAuthorizePage/route.tsx @@ -3,7 +3,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { HasuraCloudAuthorizePage } from "./HasuraCloudAuthorizePage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/hasura-cloud/authorize" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/hasura-cloud/authorize" )({ component: HasuraCloudAuthorizePage, beforeLoad: ({ context, params }) => { @@ -12,7 +12,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Hasura Cloud" diff --git a/frontend/src/pages/secret-manager/integrations/HasuraCloudConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/HasuraCloudConfigurePage/route.tsx index 7c7ef181e..d7920bb1e 100644 --- a/frontend/src/pages/secret-manager/integrations/HasuraCloudConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/HasuraCloudConfigurePage/route.tsx @@ -9,7 +9,7 @@ const HasuraCloudConfigurePageQueryParamsSchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/hasura-cloud/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/hasura-cloud/create" )({ component: HasuraCloudConfigurePage, validateSearch: zodValidator(HasuraCloudConfigurePageQueryParamsSchema), @@ -19,7 +19,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Hasura Cloud" diff --git a/frontend/src/pages/secret-manager/integrations/HerokuConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/HerokuConfigurePage/route.tsx index 09b91ef8d..a33757bc1 100644 --- a/frontend/src/pages/secret-manager/integrations/HerokuConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/HerokuConfigurePage/route.tsx @@ -9,7 +9,7 @@ const HerokuConfigurePageQueryParamsSchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/heroku/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/heroku/create" )({ component: HerokuConfigurePage, validateSearch: zodValidator(HerokuConfigurePageQueryParamsSchema), @@ -19,7 +19,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Heroku Cloud" diff --git a/frontend/src/pages/secret-manager/integrations/HerokuOauthCallbackPage/route.tsx b/frontend/src/pages/secret-manager/integrations/HerokuOauthCallbackPage/route.tsx index 38b44ab63..b180e9d6a 100644 --- a/frontend/src/pages/secret-manager/integrations/HerokuOauthCallbackPage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/HerokuOauthCallbackPage/route.tsx @@ -10,7 +10,7 @@ export const HerokuOAuthCallbackPageQueryParamsSchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/heroku/oauth2/callback" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/heroku/oauth2/callback" )({ component: HerokuOAuthCallbackPage, validateSearch: zodValidator(HerokuOAuthCallbackPageQueryParamsSchema), @@ -20,7 +20,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Heroku Cloud" diff --git a/frontend/src/pages/secret-manager/integrations/LaravelForgeAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/LaravelForgeAuthorizePage/route.tsx index c4bb158c7..0778c8f5d 100644 --- a/frontend/src/pages/secret-manager/integrations/LaravelForgeAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/LaravelForgeAuthorizePage/route.tsx @@ -3,7 +3,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { LaravelForgeAuthorizePage } from "./LaravelForgeAuthorizePage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/laravel-forge/authorize" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/laravel-forge/authorize" )({ component: LaravelForgeAuthorizePage, beforeLoad: ({ context, params }) => { @@ -12,7 +12,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Laravel Forge" diff --git a/frontend/src/pages/secret-manager/integrations/LaravelForgeConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/LaravelForgeConfigurePage/route.tsx index 6241006eb..98d95b670 100644 --- a/frontend/src/pages/secret-manager/integrations/LaravelForgeConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/LaravelForgeConfigurePage/route.tsx @@ -9,7 +9,7 @@ const LaravelForgeConfigurePageQueryParamsSchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/laravel-forge/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/laravel-forge/create" )({ component: LaravelForgeConfigurePage, validateSearch: zodValidator(LaravelForgeConfigurePageQueryParamsSchema), @@ -19,7 +19,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Laravel Forge" diff --git a/frontend/src/pages/secret-manager/integrations/NetlifyConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/NetlifyConfigurePage/route.tsx index f45fcc8fd..81f3877bd 100644 --- a/frontend/src/pages/secret-manager/integrations/NetlifyConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/NetlifyConfigurePage/route.tsx @@ -9,7 +9,7 @@ const NetlifyConfigurePageQueryParamsSchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/netlify/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/netlify/create" )({ component: NetlifyConfigurePage, validateSearch: zodValidator(NetlifyConfigurePageQueryParamsSchema), @@ -19,7 +19,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Netlify" diff --git a/frontend/src/pages/secret-manager/integrations/NetlifyOauthCallbackPage/route.tsx b/frontend/src/pages/secret-manager/integrations/NetlifyOauthCallbackPage/route.tsx index cf933216f..d88dc29b2 100644 --- a/frontend/src/pages/secret-manager/integrations/NetlifyOauthCallbackPage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/NetlifyOauthCallbackPage/route.tsx @@ -10,7 +10,7 @@ export const NetlifyOAuthCallbackPageQueryParamsSchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/netlify/oauth2/callback" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/netlify/oauth2/callback" )({ component: NetlifyOauthCallbackPage, validateSearch: zodValidator(NetlifyOAuthCallbackPageQueryParamsSchema), @@ -20,7 +20,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Netlify" diff --git a/frontend/src/pages/secret-manager/integrations/NorthflankAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/NorthflankAuthorizePage/route.tsx index 04bdd3876..b0e2c10f8 100644 --- a/frontend/src/pages/secret-manager/integrations/NorthflankAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/NorthflankAuthorizePage/route.tsx @@ -3,7 +3,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { NorthflankAuthorizePage } from "./NorthflankAuthorizePage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/northflank/authorize" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/northflank/authorize" )({ component: NorthflankAuthorizePage, beforeLoad: ({ context, params }) => { @@ -12,7 +12,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Northflank" diff --git a/frontend/src/pages/secret-manager/integrations/NorthflankConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/NorthflankConfigurePage/route.tsx index 400366fb7..fe5c2283a 100644 --- a/frontend/src/pages/secret-manager/integrations/NorthflankConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/NorthflankConfigurePage/route.tsx @@ -9,7 +9,7 @@ const NorthflankConfigurePageQueryParamsSchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/northflank/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/northflank/create" )({ component: NorthflankConfigurePage, validateSearch: zodValidator(NorthflankConfigurePageQueryParamsSchema), @@ -19,7 +19,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Northflank" diff --git a/frontend/src/pages/secret-manager/integrations/OctopusDeployAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/OctopusDeployAuthorizePage/route.tsx index 852fdd315..c50832858 100644 --- a/frontend/src/pages/secret-manager/integrations/OctopusDeployAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/OctopusDeployAuthorizePage/route.tsx @@ -3,7 +3,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { OctopusDeployAuthorizePage } from "./OctopusDeployAuthorizePage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/octopus-deploy/authorize" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/octopus-deploy/authorize" )({ component: OctopusDeployAuthorizePage, beforeLoad: ({ context, params }) => { @@ -12,7 +12,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Octopus Deploy" diff --git a/frontend/src/pages/secret-manager/integrations/OctopusDeployConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/OctopusDeployConfigurePage/route.tsx index 3f2702fee..5c897a95c 100644 --- a/frontend/src/pages/secret-manager/integrations/OctopusDeployConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/OctopusDeployConfigurePage/route.tsx @@ -9,7 +9,7 @@ const OctopusDeployConfigurePageQueryParamsSchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/octopus-deploy/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/octopus-deploy/create" )({ component: OctopusDeployConfigurePage, validateSearch: zodValidator(OctopusDeployConfigurePageQueryParamsSchema), @@ -19,7 +19,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Octopus Deploy" diff --git a/frontend/src/pages/secret-manager/integrations/QoveryAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/QoveryAuthorizePage/route.tsx index e00f2b503..eddbca06f 100644 --- a/frontend/src/pages/secret-manager/integrations/QoveryAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/QoveryAuthorizePage/route.tsx @@ -3,7 +3,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { QoveryAuthorizePage } from "./QoveryAuthorizePage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/qovery/authorize" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/qovery/authorize" )({ component: QoveryAuthorizePage, beforeLoad: ({ context, params }) => { @@ -12,7 +12,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Qovery" diff --git a/frontend/src/pages/secret-manager/integrations/QoveryConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/QoveryConfigurePage/route.tsx index 8ab6ec693..1f14f02ca 100644 --- a/frontend/src/pages/secret-manager/integrations/QoveryConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/QoveryConfigurePage/route.tsx @@ -9,7 +9,7 @@ const QoveryConfigurePageQueryParamsSchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/qovery/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/qovery/create" )({ component: QoveryConfigurePage, validateSearch: zodValidator(QoveryConfigurePageQueryParamsSchema), @@ -19,7 +19,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Qovery" diff --git a/frontend/src/pages/secret-manager/integrations/RailwayAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/RailwayAuthorizePage/route.tsx index 9df6f2f04..d351b5f8f 100644 --- a/frontend/src/pages/secret-manager/integrations/RailwayAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/RailwayAuthorizePage/route.tsx @@ -3,7 +3,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { RailwayAuthorizePage } from "./RailwayAuthorizePage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/railway/authorize" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/railway/authorize" )({ component: RailwayAuthorizePage, beforeLoad: ({ context, params }) => { @@ -12,7 +12,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Railway" diff --git a/frontend/src/pages/secret-manager/integrations/RailwayConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/RailwayConfigurePage/route.tsx index d7b91a123..411c960a5 100644 --- a/frontend/src/pages/secret-manager/integrations/RailwayConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/RailwayConfigurePage/route.tsx @@ -9,7 +9,7 @@ const RailwayConfigurePageQueryParamsSchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/railway/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/railway/create" )({ component: RailwayConfigurePage, validateSearch: zodValidator(RailwayConfigurePageQueryParamsSchema), @@ -19,7 +19,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Railway" diff --git a/frontend/src/pages/secret-manager/integrations/RenderAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/RenderAuthorizePage/route.tsx index 791cf71e9..3657f2a07 100644 --- a/frontend/src/pages/secret-manager/integrations/RenderAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/RenderAuthorizePage/route.tsx @@ -3,7 +3,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { RenderAuthorizePage } from "./RenderAuthorizePage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/render/authorize" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/render/authorize" )({ component: RenderAuthorizePage, beforeLoad: ({ context, params }) => { @@ -12,7 +12,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Render" diff --git a/frontend/src/pages/secret-manager/integrations/RenderConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/RenderConfigurePage/route.tsx index 5ec55e4b8..8c676c800 100644 --- a/frontend/src/pages/secret-manager/integrations/RenderConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/RenderConfigurePage/route.tsx @@ -9,7 +9,7 @@ const RenderConfigurePageQueryParamsSchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/render/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/render/create" )({ component: RenderConfigurePage, validateSearch: zodValidator(RenderConfigurePageQueryParamsSchema), @@ -19,7 +19,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Render" diff --git a/frontend/src/pages/secret-manager/integrations/RundeckAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/RundeckAuthorizePage/route.tsx index c57b122c7..3ff55ddb4 100644 --- a/frontend/src/pages/secret-manager/integrations/RundeckAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/RundeckAuthorizePage/route.tsx @@ -3,7 +3,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { RundeckAuthorizePage } from "./RundeckAuthorizePage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/rundeck/authorize" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/rundeck/authorize" )({ component: RundeckAuthorizePage, beforeLoad: ({ context, params }) => { @@ -12,7 +12,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Rundeck" diff --git a/frontend/src/pages/secret-manager/integrations/RundeckConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/RundeckConfigurePage/route.tsx index 3e847410d..3683b0fc0 100644 --- a/frontend/src/pages/secret-manager/integrations/RundeckConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/RundeckConfigurePage/route.tsx @@ -9,7 +9,7 @@ const RundeskConfigurePageQueryParamsSchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/rundeck/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/rundeck/create" )({ component: RundeckConfigurePage, validateSearch: zodValidator(RundeskConfigurePageQueryParamsSchema), @@ -19,7 +19,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Rundeck" diff --git a/frontend/src/pages/secret-manager/integrations/SelectIntegrationAuthPage/route.tsx b/frontend/src/pages/secret-manager/integrations/SelectIntegrationAuthPage/route.tsx index 50f1edf8c..26eb213aa 100644 --- a/frontend/src/pages/secret-manager/integrations/SelectIntegrationAuthPage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/SelectIntegrationAuthPage/route.tsx @@ -9,7 +9,7 @@ const SelectIntegrationAuthPageQueryParamsSchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/select-integration-auth" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/select-integration-auth" )({ component: SelectIntegrationAuthPage, validateSearch: zodValidator(SelectIntegrationAuthPageQueryParamsSchema), @@ -19,7 +19,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Configure" diff --git a/frontend/src/pages/secret-manager/integrations/SupabaseAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/SupabaseAuthorizePage/route.tsx index 0de835810..544867b50 100644 --- a/frontend/src/pages/secret-manager/integrations/SupabaseAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/SupabaseAuthorizePage/route.tsx @@ -3,7 +3,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { SupabaseAuthorizePage } from "./SupabaseAuthorizePage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/supabase/authorize" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/supabase/authorize" )({ component: SupabaseAuthorizePage, beforeLoad: ({ context, params }) => { @@ -12,7 +12,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Supabase" diff --git a/frontend/src/pages/secret-manager/integrations/SupabaseConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/SupabaseConfigurePage/route.tsx index 490d84122..dc2f73eee 100644 --- a/frontend/src/pages/secret-manager/integrations/SupabaseConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/SupabaseConfigurePage/route.tsx @@ -9,7 +9,7 @@ const SupabaseConfigurePageQueryParamsSchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/supabase/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/supabase/create" )({ component: SupabaseConfigurePage, validateSearch: zodValidator(SupabaseConfigurePageQueryParamsSchema), @@ -19,7 +19,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Supabase" diff --git a/frontend/src/pages/secret-manager/integrations/TeamcityAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/TeamcityAuthorizePage/route.tsx index a40c20de1..9983c9b9c 100644 --- a/frontend/src/pages/secret-manager/integrations/TeamcityAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/TeamcityAuthorizePage/route.tsx @@ -3,7 +3,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { TeamcityAuthorizePage } from "./TeamcityAuthorizePage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/teamcity/authorize" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/teamcity/authorize" )({ component: TeamcityAuthorizePage, beforeLoad: ({ context, params }) => { @@ -12,7 +12,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Teamcity" diff --git a/frontend/src/pages/secret-manager/integrations/TeamcityConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/TeamcityConfigurePage/route.tsx index 5efc3f302..57301a69c 100644 --- a/frontend/src/pages/secret-manager/integrations/TeamcityConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/TeamcityConfigurePage/route.tsx @@ -9,7 +9,7 @@ const TeamcityConfigurePageQueryParamsSchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/teamcity/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/teamcity/create" )({ component: TeamcityConfigurePage, validateSearch: zodValidator(TeamcityConfigurePageQueryParamsSchema), @@ -19,7 +19,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Teamcity" diff --git a/frontend/src/pages/secret-manager/integrations/TerraformCloudAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/TerraformCloudAuthorizePage/route.tsx index cb9b491c7..d15f50f2c 100644 --- a/frontend/src/pages/secret-manager/integrations/TerraformCloudAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/TerraformCloudAuthorizePage/route.tsx @@ -3,7 +3,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { TerraformCloudAuthorizePage } from "./TerraformCloudAuthorizePage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/terraform-cloud/authorize" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/terraform-cloud/authorize" )({ component: TerraformCloudAuthorizePage, beforeLoad: ({ context, params }) => { @@ -12,7 +12,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Terraform Cloud" diff --git a/frontend/src/pages/secret-manager/integrations/TerraformCloudConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/TerraformCloudConfigurePage/route.tsx index f42eaa0bf..373e10839 100644 --- a/frontend/src/pages/secret-manager/integrations/TerraformCloudConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/TerraformCloudConfigurePage/route.tsx @@ -9,7 +9,7 @@ const TerraformCloudConfigurePageQueryParamsSchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/terraform-cloud/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/terraform-cloud/create" )({ component: TerraformCloudConfigurePage, validateSearch: zodValidator(TerraformCloudConfigurePageQueryParamsSchema), @@ -19,7 +19,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Terraform Cloud" diff --git a/frontend/src/pages/secret-manager/integrations/TravisCIAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/TravisCIAuthorizePage/route.tsx index f5aae0051..71e5c123b 100644 --- a/frontend/src/pages/secret-manager/integrations/TravisCIAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/TravisCIAuthorizePage/route.tsx @@ -3,7 +3,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { TravisCIAuthorizePage } from "./TravisCIAuthorizePage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/travisci/authorize" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/travisci/authorize" )({ component: TravisCIAuthorizePage, beforeLoad: ({ context, params }) => { @@ -12,7 +12,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Travis CI" diff --git a/frontend/src/pages/secret-manager/integrations/TravisCIConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/TravisCIConfigurePage/route.tsx index ca2b8f553..ecc256de4 100644 --- a/frontend/src/pages/secret-manager/integrations/TravisCIConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/TravisCIConfigurePage/route.tsx @@ -9,7 +9,7 @@ const TravisCIConfigurePageQueryParamsSchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/travisci/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/travisci/create" )({ component: TravisCIConfigurePage, validateSearch: zodValidator(TravisCIConfigurePageQueryParamsSchema), @@ -19,7 +19,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Travis CI" diff --git a/frontend/src/pages/secret-manager/integrations/VercelConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/VercelConfigurePage/route.tsx index 2272b8972..4b743ceb1 100644 --- a/frontend/src/pages/secret-manager/integrations/VercelConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/VercelConfigurePage/route.tsx @@ -9,7 +9,7 @@ const VercelConfigurePageQueryParamsSchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/vercel/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/vercel/create" )({ component: VercelConfigurePage, validateSearch: zodValidator(VercelConfigurePageQueryParamsSchema), @@ -19,7 +19,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Vercel" diff --git a/frontend/src/pages/secret-manager/integrations/VercelOauthCallbackPage/route.tsx b/frontend/src/pages/secret-manager/integrations/VercelOauthCallbackPage/route.tsx index e497bb6b4..fcdf72976 100644 --- a/frontend/src/pages/secret-manager/integrations/VercelOauthCallbackPage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/VercelOauthCallbackPage/route.tsx @@ -10,7 +10,7 @@ export const VercelOAuthCallbackPageQueryParamsSchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/vercel/oauth2/callback" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/vercel/oauth2/callback" )({ component: VercelOauthCallbackPage, validateSearch: zodValidator(VercelOAuthCallbackPageQueryParamsSchema), @@ -20,7 +20,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Vercel" diff --git a/frontend/src/pages/secret-manager/integrations/WindmillAuthorizePage/route.tsx b/frontend/src/pages/secret-manager/integrations/WindmillAuthorizePage/route.tsx index 313b489b2..b81b4a7fd 100644 --- a/frontend/src/pages/secret-manager/integrations/WindmillAuthorizePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/WindmillAuthorizePage/route.tsx @@ -3,7 +3,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { WindmillAuthorizePage } from "./WindmillAuthorizePage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/windmill/authorize" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/windmill/authorize" )({ component: WindmillAuthorizePage, beforeLoad: ({ context, params }) => { @@ -12,7 +12,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Windmill" diff --git a/frontend/src/pages/secret-manager/integrations/WindmillConfigurePage/route.tsx b/frontend/src/pages/secret-manager/integrations/WindmillConfigurePage/route.tsx index 6236986a0..4ff5443b2 100644 --- a/frontend/src/pages/secret-manager/integrations/WindmillConfigurePage/route.tsx +++ b/frontend/src/pages/secret-manager/integrations/WindmillConfigurePage/route.tsx @@ -9,7 +9,7 @@ const WindmillConfigurePageQueryParamsSchema = z.object({ }); export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/windmill/create" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/windmill/create" )({ component: WindmillConfigurePage, validateSearch: zodValidator(WindmillConfigurePageQueryParamsSchema), @@ -19,7 +19,10 @@ export const Route = createFileRoute( ...context.breadcrumbs, { label: "Integrations", - link: linkOptions({ to: "/secret-manager/$projectId/integrations", params }) + link: linkOptions({ + to: "/secret-manager/$projectId/integrations", + params + }) }, { label: "Windmill" diff --git a/frontend/src/pages/secret-manager/integrations/route-azure-app-configurations-oauth-redirect.tsx b/frontend/src/pages/secret-manager/integrations/route-azure-app-configurations-oauth-redirect.tsx index 32662b743..072b7134f 100644 --- a/frontend/src/pages/secret-manager/integrations/route-azure-app-configurations-oauth-redirect.tsx +++ b/frontend/src/pages/secret-manager/integrations/route-azure-app-configurations-oauth-redirect.tsx @@ -7,7 +7,7 @@ import { localStorageService } from "@app/helpers/localStorage"; import { AzureAppConfigurationOauthCallbackPageQueryParamsSchema } from "./AzureAppConfigurationOauthCallbackPage/route"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/integrations/azure-app-configuration/oauth2/callback" + "/_authenticate/_inject-org-details/_org-layout/integrations/azure-app-configuration/oauth2/callback" )({ validateSearch: zodValidator(AzureAppConfigurationOauthCallbackPageQueryParamsSchema), beforeLoad: ({ search }) => { diff --git a/frontend/src/pages/secret-manager/integrations/route-azure-key-vault-oauth-redirect.tsx b/frontend/src/pages/secret-manager/integrations/route-azure-key-vault-oauth-redirect.tsx index 57145b9de..23391266a 100644 --- a/frontend/src/pages/secret-manager/integrations/route-azure-key-vault-oauth-redirect.tsx +++ b/frontend/src/pages/secret-manager/integrations/route-azure-key-vault-oauth-redirect.tsx @@ -7,7 +7,7 @@ import { localStorageService } from "@app/helpers/localStorage"; import { AzureKeyVaultOauthCallbackQueryParamsSchema } from "./AzureKeyVaultOauthCallbackPage/route"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/integrations/azure-key-vault/oauth2/callback" + "/_authenticate/_inject-org-details/_org-layout/integrations/azure-key-vault/oauth2/callback" )({ validateSearch: zodValidator(AzureKeyVaultOauthCallbackQueryParamsSchema), beforeLoad: ({ search }) => { diff --git a/frontend/src/pages/secret-manager/integrations/route-bitbucket-oauth-redirect.tsx b/frontend/src/pages/secret-manager/integrations/route-bitbucket-oauth-redirect.tsx index 20982e455..63a3926de 100644 --- a/frontend/src/pages/secret-manager/integrations/route-bitbucket-oauth-redirect.tsx +++ b/frontend/src/pages/secret-manager/integrations/route-bitbucket-oauth-redirect.tsx @@ -7,7 +7,7 @@ import { localStorageService } from "@app/helpers/localStorage"; import { BitbucketOauthCallbackQueryParamsSchema } from "./BitbucketOauthCallbackPage/route"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/integrations/bitbucket/oauth2/callback" + "/_authenticate/_inject-org-details/_org-layout/integrations/bitbucket/oauth2/callback" )({ validateSearch: zodValidator(BitbucketOauthCallbackQueryParamsSchema), beforeLoad: ({ search }) => { diff --git a/frontend/src/pages/secret-manager/integrations/route-gcp-oauth-redirect.tsx b/frontend/src/pages/secret-manager/integrations/route-gcp-oauth-redirect.tsx index 566bd1c88..41283e931 100644 --- a/frontend/src/pages/secret-manager/integrations/route-gcp-oauth-redirect.tsx +++ b/frontend/src/pages/secret-manager/integrations/route-gcp-oauth-redirect.tsx @@ -7,7 +7,7 @@ import { localStorageService } from "@app/helpers/localStorage"; import { GcpSecretManagerOAuthCallbackPageQueryParamsSchema } from "./GcpSecretManagerOauthCallbackPage/route"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/integrations/gcp-secret-manager/oauth2/callback" + "/_authenticate/_inject-org-details/_org-layout/integrations/gcp-secret-manager/oauth2/callback" )({ validateSearch: zodValidator(GcpSecretManagerOAuthCallbackPageQueryParamsSchema), beforeLoad: ({ search }) => { diff --git a/frontend/src/pages/secret-manager/integrations/route-github-oauth-redirect.tsx b/frontend/src/pages/secret-manager/integrations/route-github-oauth-redirect.tsx index 2d6256362..6e071a2b6 100644 --- a/frontend/src/pages/secret-manager/integrations/route-github-oauth-redirect.tsx +++ b/frontend/src/pages/secret-manager/integrations/route-github-oauth-redirect.tsx @@ -7,7 +7,7 @@ import { localStorageService } from "@app/helpers/localStorage"; import { GithubOAuthCallbackPageQueryParamsSchema } from "./GithubOauthCallbackPage/route"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/integrations/github/oauth2/callback" + "/_authenticate/_inject-org-details/_org-layout/integrations/github/oauth2/callback" )({ validateSearch: zodValidator(GithubOAuthCallbackPageQueryParamsSchema), beforeLoad: ({ search }) => { diff --git a/frontend/src/pages/secret-manager/integrations/route-gitlab-oauth-redirect.tsx b/frontend/src/pages/secret-manager/integrations/route-gitlab-oauth-redirect.tsx index 09e507f05..a67ee8986 100644 --- a/frontend/src/pages/secret-manager/integrations/route-gitlab-oauth-redirect.tsx +++ b/frontend/src/pages/secret-manager/integrations/route-gitlab-oauth-redirect.tsx @@ -7,7 +7,7 @@ import { localStorageService } from "@app/helpers/localStorage"; import { GitlabOAuthCallbackPageQueryParamsSchema } from "./GitlabOauthCallbackPage/route"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/integrations/gitlab/oauth2/callback" + "/_authenticate/_inject-org-details/_org-layout/integrations/gitlab/oauth2/callback" )({ validateSearch: zodValidator(GitlabOAuthCallbackPageQueryParamsSchema), beforeLoad: ({ search }) => { diff --git a/frontend/src/pages/secret-manager/integrations/route-heroku-oauth-redirect.tsx b/frontend/src/pages/secret-manager/integrations/route-heroku-oauth-redirect.tsx index 39dec58b2..9002f03ae 100644 --- a/frontend/src/pages/secret-manager/integrations/route-heroku-oauth-redirect.tsx +++ b/frontend/src/pages/secret-manager/integrations/route-heroku-oauth-redirect.tsx @@ -7,7 +7,7 @@ import { localStorageService } from "@app/helpers/localStorage"; import { HerokuOAuthCallbackPageQueryParamsSchema } from "./HerokuOauthCallbackPage/route"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/integrations/heroku/oauth2/callback" + "/_authenticate/_inject-org-details/_org-layout/integrations/heroku/oauth2/callback" )({ validateSearch: zodValidator(HerokuOAuthCallbackPageQueryParamsSchema), beforeLoad: ({ search }) => { diff --git a/frontend/src/pages/secret-manager/integrations/route-netlify-oauth-redirect.tsx b/frontend/src/pages/secret-manager/integrations/route-netlify-oauth-redirect.tsx index 069d78c63..5db4807f9 100644 --- a/frontend/src/pages/secret-manager/integrations/route-netlify-oauth-redirect.tsx +++ b/frontend/src/pages/secret-manager/integrations/route-netlify-oauth-redirect.tsx @@ -7,7 +7,7 @@ import { localStorageService } from "@app/helpers/localStorage"; import { NetlifyOAuthCallbackPageQueryParamsSchema } from "./NetlifyOauthCallbackPage/route"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/integrations/netlify/oauth2/callback" + "/_authenticate/_inject-org-details/_org-layout/integrations/netlify/oauth2/callback" )({ validateSearch: zodValidator(NetlifyOAuthCallbackPageQueryParamsSchema), beforeLoad: ({ search }) => { diff --git a/frontend/src/pages/secret-manager/integrations/route-vercel-oauth-redirect.tsx b/frontend/src/pages/secret-manager/integrations/route-vercel-oauth-redirect.tsx index 9e2b523cd..d1896fd3b 100644 --- a/frontend/src/pages/secret-manager/integrations/route-vercel-oauth-redirect.tsx +++ b/frontend/src/pages/secret-manager/integrations/route-vercel-oauth-redirect.tsx @@ -7,7 +7,7 @@ import { localStorageService } from "@app/helpers/localStorage"; import { VercelOAuthCallbackPageQueryParamsSchema } from "./VercelOauthCallbackPage/route"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/integrations/vercel/oauth2/callback" + "/_authenticate/_inject-org-details/_org-layout/integrations/vercel/oauth2/callback" )({ validateSearch: zodValidator(VercelOAuthCallbackPageQueryParamsSchema), beforeLoad: ({ search }) => { diff --git a/frontend/src/pages/secret-manager/layout.tsx b/frontend/src/pages/secret-manager/layout.tsx index e513d2102..659857531 100644 --- a/frontend/src/pages/secret-manager/layout.tsx +++ b/frontend/src/pages/secret-manager/layout.tsx @@ -8,7 +8,7 @@ import { fetchWorkspaceById } from "@app/hooks/api/workspace/queries"; import { ProjectLayout } from "@app/layouts/ProjectLayout"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout" + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout" )({ component: ProjectLayout, beforeLoad: async ({ params, context }) => { diff --git a/frontend/src/pages/ssh/OverviewPage/route.tsx b/frontend/src/pages/ssh/OverviewPage/route.tsx index 427492518..8209f1ea6 100644 --- a/frontend/src/pages/ssh/OverviewPage/route.tsx +++ b/frontend/src/pages/ssh/OverviewPage/route.tsx @@ -3,7 +3,7 @@ import { createFileRoute } from "@tanstack/react-router"; import { OverviewPage } from "./OverviewPage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/overview" + "/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/overview" )({ component: OverviewPage }); diff --git a/frontend/src/pages/ssh/SettingsPage/route.tsx b/frontend/src/pages/ssh/SettingsPage/route.tsx index 174064d06..18f15ac58 100644 --- a/frontend/src/pages/ssh/SettingsPage/route.tsx +++ b/frontend/src/pages/ssh/SettingsPage/route.tsx @@ -3,7 +3,7 @@ import { createFileRoute } from "@tanstack/react-router"; import { SettingsPage } from "./SettingsPage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/settings" + "/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/settings" )({ component: SettingsPage, beforeLoad: ({ context }) => { diff --git a/frontend/src/pages/ssh/SshCaByIDPage/route.tsx b/frontend/src/pages/ssh/SshCaByIDPage/route.tsx index 3d34bcab0..800f89814 100644 --- a/frontend/src/pages/ssh/SshCaByIDPage/route.tsx +++ b/frontend/src/pages/ssh/SshCaByIDPage/route.tsx @@ -3,7 +3,7 @@ import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { SshCaByIDPage } from "./SshCaByIDPage"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/ca/$caId" + "/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/ca/$caId" )({ component: SshCaByIDPage, beforeLoad: ({ context, params }) => { diff --git a/frontend/src/pages/ssh/layout.tsx b/frontend/src/pages/ssh/layout.tsx index d36c263ae..03f859f75 100644 --- a/frontend/src/pages/ssh/layout.tsx +++ b/frontend/src/pages/ssh/layout.tsx @@ -6,7 +6,7 @@ import { fetchWorkspaceById } from "@app/hooks/api/workspace/queries"; import { ProjectLayout } from "@app/layouts/ProjectLayout"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout" + "/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout" )({ component: ProjectLayout, beforeLoad: async ({ params, context }) => { diff --git a/frontend/src/routeTree.gen.ts b/frontend/src/routeTree.gen.ts index 7548b3883..89d4a2a0b 100644 --- a/frontend/src/routeTree.gen.ts +++ b/frontend/src/routeTree.gen.ts @@ -25,6 +25,7 @@ import { Route as authRequestNewInvitePageRouteImport } from './pages/auth/Reque import { Route as authPasswordResetPageRouteImport } from './pages/auth/PasswordResetPage/route' import { Route as authEmailNotVerifiedPageRouteImport } from './pages/auth/EmailNotVerifiedPage/route' import { Route as userLayoutImport } from './pages/user/layout' +import { Route as organizationLayoutImport } from './pages/organization/layout' import { Route as publicViewSharedSecretByIDPageRouteImport } from './pages/public/ViewSharedSecretByIDPage/route' import { Route as authSignUpSsoPageRouteImport } from './pages/auth/SignUpSsoPage/route' import { Route as authLoginSsoPageRouteImport } from './pages/auth/LoginSsoPage/route' @@ -33,15 +34,10 @@ import { Route as authLoginLdapPageRouteImport } from './pages/auth/LoginLdapPag import { Route as adminSignUpPageRouteImport } from './pages/admin/SignUpPage/route' import { Route as authSignUpPageRouteImport } from './pages/auth/SignUpPage/route' import { Route as authLoginPageRouteImport } from './pages/auth/LoginPage/route' -import { Route as organizationLayoutImport } from './pages/organization/layout' import { Route as adminLayoutImport } from './pages/admin/layout' import { Route as authProviderSuccessPageRouteImport } from './pages/auth/ProviderSuccessPage/route' import { Route as authProviderErrorPageRouteImport } from './pages/auth/ProviderErrorPage/route' import { Route as userPersonalSettingsPageRouteImport } from './pages/user/PersonalSettingsPage/route' -import { Route as sshLayoutImport } from './pages/ssh/layout' -import { Route as secretManagerLayoutImport } from './pages/secret-manager/layout' -import { Route as kmsLayoutImport } from './pages/kms/layout' -import { Route as certManagerLayoutImport } from './pages/cert-manager/layout' import { Route as organizationSettingsPageRouteImport } from './pages/organization/SettingsPage/route' import { Route as organizationSecretSharingPageRouteImport } from './pages/organization/SecretSharingPage/route' import { Route as organizationSecretScanningPageRouteImport } from './pages/organization/SecretScanningPage/route' @@ -51,6 +47,18 @@ import { Route as organizationAuditLogsPageRouteImport } from './pages/organizat import { Route as organizationAdminPageRouteImport } from './pages/organization/AdminPage/route' import { Route as organizationAccessManagementPageRouteImport } from './pages/organization/AccessManagementPage/route' import { Route as adminOverviewPageRouteImport } from './pages/admin/OverviewPage/route' +import { Route as sshLayoutImport } from './pages/ssh/layout' +import { Route as secretManagerLayoutImport } from './pages/secret-manager/layout' +import { Route as kmsLayoutImport } from './pages/kms/layout' +import { Route as certManagerLayoutImport } from './pages/cert-manager/layout' +import { Route as organizationSshOverviewPageRouteImport } from './pages/organization/SshOverviewPage/route' +import { Route as organizationSecretManagerOverviewPageRouteImport } from './pages/organization/SecretManagerOverviewPage/route' +import { Route as organizationRoleByIDPageRouteImport } from './pages/organization/RoleByIDPage/route' +import { Route as organizationUserDetailsByIDPageRouteImport } from './pages/organization/UserDetailsByIDPage/route' +import { Route as organizationKmsOverviewPageRouteImport } from './pages/organization/KmsOverviewPage/route' +import { Route as organizationIdentityDetailsByIDPageRouteImport } from './pages/organization/IdentityDetailsByIDPage/route' +import { Route as organizationGroupDetailsByIDPageRouteImport } from './pages/organization/GroupDetailsByIDPage/route' +import { Route as organizationCertManagerOverviewPageRouteImport } from './pages/organization/CertManagerOverviewPage/route' import { Route as projectAccessControlPageRouteSshImport } from './pages/project/AccessControlPage/route-ssh' import { Route as projectAccessControlPageRouteSecretManagerImport } from './pages/project/AccessControlPage/route-secret-manager' import { Route as projectAccessControlPageRouteKmsImport } from './pages/project/AccessControlPage/route-kms' @@ -71,14 +79,6 @@ import { Route as secretManagerSecretRotationPageRouteImport } from './pages/sec import { Route as secretManagerOverviewPageRouteImport } from './pages/secret-manager/OverviewPage/route' import { Route as secretManagerSecretApprovalsPageRouteImport } from './pages/secret-manager/SecretApprovalsPage/route' import { Route as secretManagerIPAllowlistPageRouteImport } from './pages/secret-manager/IPAllowlistPage/route' -import { Route as organizationSshOverviewPageRouteImport } from './pages/organization/SshOverviewPage/route' -import { Route as organizationSecretManagerOverviewPageRouteImport } from './pages/organization/SecretManagerOverviewPage/route' -import { Route as organizationRoleByIDPageRouteImport } from './pages/organization/RoleByIDPage/route' -import { Route as organizationUserDetailsByIDPageRouteImport } from './pages/organization/UserDetailsByIDPage/route' -import { Route as organizationKmsOverviewPageRouteImport } from './pages/organization/KmsOverviewPage/route' -import { Route as organizationIdentityDetailsByIDPageRouteImport } from './pages/organization/IdentityDetailsByIDPage/route' -import { Route as organizationGroupDetailsByIDPageRouteImport } from './pages/organization/GroupDetailsByIDPage/route' -import { Route as organizationCertManagerOverviewPageRouteImport } from './pages/organization/CertManagerOverviewPage/route' import { Route as kmsSettingsPageRouteImport } from './pages/kms/SettingsPage/route' import { Route as kmsOverviewPageRouteImport } from './pages/kms/OverviewPage/route' import { Route as certManagerSettingsPageRouteImport } from './pages/cert-manager/SettingsPage/route' @@ -100,6 +100,7 @@ import { Route as sshSshCaByIDPageRouteImport } from './pages/ssh/SshCaByIDPage/ import { Route as secretManagerSecretDashboardPageRouteImport } from './pages/secret-manager/SecretDashboardPage/route' import { Route as secretManagerIntegrationsSelectIntegrationAuthPageRouteImport } from './pages/secret-manager/integrations/SelectIntegrationAuthPage/route' import { Route as secretManagerIntegrationsDetailsByIDPageRouteImport } from './pages/secret-manager/IntegrationsDetailsByIDPage/route' +import { Route as organizationAppConnectionsGithubOauthCallbackPageRouteImport } from './pages/organization/AppConnections/GithubOauthCallbackPage/route' import { Route as certManagerCertAuthDetailsByIDPageRouteImport } from './pages/cert-manager/CertAuthDetailsByIDPage/route' import { Route as secretManagerIntegrationsListPageRouteImport } from './pages/secret-manager/IntegrationsListPage/route' import { Route as secretManagerIntegrationsWindmillConfigurePageRouteImport } from './pages/secret-manager/integrations/WindmillConfigurePage/route' @@ -167,7 +168,6 @@ import { Route as secretManagerIntegrationsAwsSecretManagerConfigurePageRouteImp import { Route as secretManagerIntegrationsAwsSecretManagerAuthorizePageRouteImport } from './pages/secret-manager/integrations/AwsSecretManagerAuthorizePage/route' import { Route as secretManagerIntegrationsAwsParameterStoreConfigurePageRouteImport } from './pages/secret-manager/integrations/AwsParameterStoreConfigurePage/route' import { Route as secretManagerIntegrationsAwsParameterStoreAuthorizePageRouteImport } from './pages/secret-manager/integrations/AwsParameterStoreAuthorizePage/route' -import { Route as organizationAppConnectionsGithubOauthCallbackPageRouteImport } from './pages/organization/AppConnections/GithubOauthCallbackPage/route' import { Route as secretManagerIntegrationsVercelOauthCallbackPageRouteImport } from './pages/secret-manager/integrations/VercelOauthCallbackPage/route' import { Route as secretManagerIntegrationsNetlifyOauthCallbackPageRouteImport } from './pages/secret-manager/integrations/NetlifyOauthCallbackPage/route' import { Route as secretManagerIntegrationsHerokuOauthCallbackPageRouteImport } from './pages/secret-manager/integrations/HerokuOauthCallbackPage/route' @@ -189,31 +189,32 @@ const RestrictLoginSignupLoginImport = createFileRoute( const AuthenticatePersonalSettingsImport = createFileRoute( '/_authenticate/personal-settings', )() -const AuthenticateInjectOrgDetailsOrganizationImport = createFileRoute( - '/_authenticate/_inject-org-details/organization', -)() -const AuthenticateInjectOrgDetailsIntegrationsImport = createFileRoute( - '/_authenticate/_inject-org-details/integrations', -)() const AuthenticateInjectOrgDetailsAdminImport = createFileRoute( '/_authenticate/_inject-org-details/admin', )() -const AuthenticateInjectOrgDetailsSshProjectIdImport = createFileRoute( - '/_authenticate/_inject-org-details/ssh/$projectId', +const AuthenticateInjectOrgDetailsOrgLayoutOrganizationImport = createFileRoute( + '/_authenticate/_inject-org-details/_org-layout/organization', )() -const AuthenticateInjectOrgDetailsSecretManagerProjectIdImport = +const AuthenticateInjectOrgDetailsOrgLayoutIntegrationsImport = createFileRoute( + '/_authenticate/_inject-org-details/_org-layout/integrations', +)() +const AuthenticateInjectOrgDetailsOrgLayoutSshProjectIdImport = createFileRoute( + '/_authenticate/_inject-org-details/_org-layout/ssh/$projectId', +)() +const AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdImport = createFileRoute( - '/_authenticate/_inject-org-details/secret-manager/$projectId', + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId', )() -const AuthenticateInjectOrgDetailsKmsProjectIdImport = createFileRoute( - '/_authenticate/_inject-org-details/kms/$projectId', +const AuthenticateInjectOrgDetailsOrgLayoutKmsProjectIdImport = createFileRoute( + '/_authenticate/_inject-org-details/_org-layout/kms/$projectId', )() -const AuthenticateInjectOrgDetailsCertManagerProjectIdImport = createFileRoute( - '/_authenticate/_inject-org-details/cert-manager/$projectId', -)() -const AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport = +const AuthenticateInjectOrgDetailsOrgLayoutCertManagerProjectIdImport = createFileRoute( - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations', + '/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId', + )() +const AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport = + createFileRoute( + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations', )() // Create/Update Routes @@ -313,20 +314,6 @@ const userLayoutRoute = userLayoutImport.update({ getParentRoute: () => AuthenticatePersonalSettingsRoute, } as any) -const AuthenticateInjectOrgDetailsOrganizationRoute = - AuthenticateInjectOrgDetailsOrganizationImport.update({ - id: '/organization', - path: '/organization', - getParentRoute: () => middlewaresInjectOrgDetailsRoute, - } as any) - -const AuthenticateInjectOrgDetailsIntegrationsRoute = - AuthenticateInjectOrgDetailsIntegrationsImport.update({ - id: '/integrations', - path: '/integrations', - getParentRoute: () => middlewaresInjectOrgDetailsRoute, - } as any) - const AuthenticateInjectOrgDetailsAdminRoute = AuthenticateInjectOrgDetailsAdminImport.update({ id: '/admin', @@ -334,6 +321,11 @@ const AuthenticateInjectOrgDetailsAdminRoute = getParentRoute: () => middlewaresInjectOrgDetailsRoute, } as any) +const organizationLayoutRoute = organizationLayoutImport.update({ + id: '/_org-layout', + getParentRoute: () => middlewaresInjectOrgDetailsRoute, +} as any) + const publicViewSharedSecretByIDPageRouteRoute = publicViewSharedSecretByIDPageRouteImport.update({ id: '/shared/secret/$secretId', @@ -383,44 +375,25 @@ const authLoginPageRouteRoute = authLoginPageRouteImport.update({ getParentRoute: () => RestrictLoginSignupLoginRoute, } as any) -const AuthenticateInjectOrgDetailsSshProjectIdRoute = - AuthenticateInjectOrgDetailsSshProjectIdImport.update({ - id: '/ssh/$projectId', - path: '/ssh/$projectId', - getParentRoute: () => middlewaresInjectOrgDetailsRoute, - } as any) - -const AuthenticateInjectOrgDetailsSecretManagerProjectIdRoute = - AuthenticateInjectOrgDetailsSecretManagerProjectIdImport.update({ - id: '/secret-manager/$projectId', - path: '/secret-manager/$projectId', - getParentRoute: () => middlewaresInjectOrgDetailsRoute, - } as any) - -const organizationLayoutRoute = organizationLayoutImport.update({ - id: '/_layout', - getParentRoute: () => AuthenticateInjectOrgDetailsOrganizationRoute, -} as any) - -const AuthenticateInjectOrgDetailsKmsProjectIdRoute = - AuthenticateInjectOrgDetailsKmsProjectIdImport.update({ - id: '/kms/$projectId', - path: '/kms/$projectId', - getParentRoute: () => middlewaresInjectOrgDetailsRoute, - } as any) - -const AuthenticateInjectOrgDetailsCertManagerProjectIdRoute = - AuthenticateInjectOrgDetailsCertManagerProjectIdImport.update({ - id: '/cert-manager/$projectId', - path: '/cert-manager/$projectId', - getParentRoute: () => middlewaresInjectOrgDetailsRoute, - } as any) - const adminLayoutRoute = adminLayoutImport.update({ id: '/_admin-layout', getParentRoute: () => AuthenticateInjectOrgDetailsAdminRoute, } as any) +const AuthenticateInjectOrgDetailsOrgLayoutOrganizationRoute = + AuthenticateInjectOrgDetailsOrgLayoutOrganizationImport.update({ + id: '/organization', + path: '/organization', + getParentRoute: () => organizationLayoutRoute, + } as any) + +const AuthenticateInjectOrgDetailsOrgLayoutIntegrationsRoute = + AuthenticateInjectOrgDetailsOrgLayoutIntegrationsImport.update({ + id: '/integrations', + path: '/integrations', + getParentRoute: () => organizationLayoutRoute, + } as any) + const authProviderSuccessPageRouteRoute = authProviderSuccessPageRouteImport.update({ id: '/provider/success', @@ -443,52 +416,64 @@ const userPersonalSettingsPageRouteRoute = getParentRoute: () => userLayoutRoute, } as any) -const sshLayoutRoute = sshLayoutImport.update({ - id: '/_ssh-layout', - getParentRoute: () => AuthenticateInjectOrgDetailsSshProjectIdRoute, -} as any) +const AuthenticateInjectOrgDetailsOrgLayoutSshProjectIdRoute = + AuthenticateInjectOrgDetailsOrgLayoutSshProjectIdImport.update({ + id: '/ssh/$projectId', + path: '/ssh/$projectId', + getParentRoute: () => organizationLayoutRoute, + } as any) -const secretManagerLayoutRoute = secretManagerLayoutImport.update({ - id: '/_secret-manager-layout', - getParentRoute: () => AuthenticateInjectOrgDetailsSecretManagerProjectIdRoute, -} as any) +const AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdRoute = + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdImport.update({ + id: '/secret-manager/$projectId', + path: '/secret-manager/$projectId', + getParentRoute: () => organizationLayoutRoute, + } as any) -const kmsLayoutRoute = kmsLayoutImport.update({ - id: '/_kms-layout', - getParentRoute: () => AuthenticateInjectOrgDetailsKmsProjectIdRoute, -} as any) +const AuthenticateInjectOrgDetailsOrgLayoutKmsProjectIdRoute = + AuthenticateInjectOrgDetailsOrgLayoutKmsProjectIdImport.update({ + id: '/kms/$projectId', + path: '/kms/$projectId', + getParentRoute: () => organizationLayoutRoute, + } as any) -const certManagerLayoutRoute = certManagerLayoutImport.update({ - id: '/_cert-manager-layout', - getParentRoute: () => AuthenticateInjectOrgDetailsCertManagerProjectIdRoute, -} as any) +const AuthenticateInjectOrgDetailsOrgLayoutCertManagerProjectIdRoute = + AuthenticateInjectOrgDetailsOrgLayoutCertManagerProjectIdImport.update({ + id: '/cert-manager/$projectId', + path: '/cert-manager/$projectId', + getParentRoute: () => organizationLayoutRoute, + } as any) const organizationSettingsPageRouteRoute = organizationSettingsPageRouteImport.update({ id: '/settings', path: '/settings', - getParentRoute: () => organizationLayoutRoute, + getParentRoute: () => + AuthenticateInjectOrgDetailsOrgLayoutOrganizationRoute, } as any) const organizationSecretSharingPageRouteRoute = organizationSecretSharingPageRouteImport.update({ id: '/secret-sharing', path: '/secret-sharing', - getParentRoute: () => organizationLayoutRoute, + getParentRoute: () => + AuthenticateInjectOrgDetailsOrgLayoutOrganizationRoute, } as any) const organizationSecretScanningPageRouteRoute = organizationSecretScanningPageRouteImport.update({ id: '/secret-scanning', path: '/secret-scanning', - getParentRoute: () => organizationLayoutRoute, + getParentRoute: () => + AuthenticateInjectOrgDetailsOrgLayoutOrganizationRoute, } as any) const organizationNoOrgPageRouteRoute = organizationNoOrgPageRouteImport.update( { id: '/none', path: '/none', - getParentRoute: () => organizationLayoutRoute, + getParentRoute: () => + AuthenticateInjectOrgDetailsOrgLayoutOrganizationRoute, } as any, ) @@ -496,21 +481,24 @@ const organizationBillingPageRouteRoute = organizationBillingPageRouteImport.update({ id: '/billing', path: '/billing', - getParentRoute: () => organizationLayoutRoute, + getParentRoute: () => + AuthenticateInjectOrgDetailsOrgLayoutOrganizationRoute, } as any) const organizationAuditLogsPageRouteRoute = organizationAuditLogsPageRouteImport.update({ id: '/audit-logs', path: '/audit-logs', - getParentRoute: () => organizationLayoutRoute, + getParentRoute: () => + AuthenticateInjectOrgDetailsOrgLayoutOrganizationRoute, } as any) const organizationAdminPageRouteRoute = organizationAdminPageRouteImport.update( { id: '/admin', path: '/admin', - getParentRoute: () => organizationLayoutRoute, + getParentRoute: () => + AuthenticateInjectOrgDetailsOrgLayoutOrganizationRoute, } as any, ) @@ -518,7 +506,8 @@ const organizationAccessManagementPageRouteRoute = organizationAccessManagementPageRouteImport.update({ id: '/access-management', path: '/access-management', - getParentRoute: () => organizationLayoutRoute, + getParentRoute: () => + AuthenticateInjectOrgDetailsOrgLayoutOrganizationRoute, } as any) const adminOverviewPageRouteRoute = adminOverviewPageRouteImport.update({ @@ -527,6 +516,92 @@ const adminOverviewPageRouteRoute = adminOverviewPageRouteImport.update({ getParentRoute: () => adminLayoutRoute, } as any) +const sshLayoutRoute = sshLayoutImport.update({ + id: '/_ssh-layout', + getParentRoute: () => AuthenticateInjectOrgDetailsOrgLayoutSshProjectIdRoute, +} as any) + +const secretManagerLayoutRoute = secretManagerLayoutImport.update({ + id: '/_secret-manager-layout', + getParentRoute: () => + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdRoute, +} as any) + +const kmsLayoutRoute = kmsLayoutImport.update({ + id: '/_kms-layout', + getParentRoute: () => AuthenticateInjectOrgDetailsOrgLayoutKmsProjectIdRoute, +} as any) + +const certManagerLayoutRoute = certManagerLayoutImport.update({ + id: '/_cert-manager-layout', + getParentRoute: () => + AuthenticateInjectOrgDetailsOrgLayoutCertManagerProjectIdRoute, +} as any) + +const organizationSshOverviewPageRouteRoute = + organizationSshOverviewPageRouteImport.update({ + id: '/ssh/overview', + path: '/ssh/overview', + getParentRoute: () => + AuthenticateInjectOrgDetailsOrgLayoutOrganizationRoute, + } as any) + +const organizationSecretManagerOverviewPageRouteRoute = + organizationSecretManagerOverviewPageRouteImport.update({ + id: '/secret-manager/overview', + path: '/secret-manager/overview', + getParentRoute: () => + AuthenticateInjectOrgDetailsOrgLayoutOrganizationRoute, + } as any) + +const organizationRoleByIDPageRouteRoute = + organizationRoleByIDPageRouteImport.update({ + id: '/roles/$roleId', + path: '/roles/$roleId', + getParentRoute: () => + AuthenticateInjectOrgDetailsOrgLayoutOrganizationRoute, + } as any) + +const organizationUserDetailsByIDPageRouteRoute = + organizationUserDetailsByIDPageRouteImport.update({ + id: '/members/$membershipId', + path: '/members/$membershipId', + getParentRoute: () => + AuthenticateInjectOrgDetailsOrgLayoutOrganizationRoute, + } as any) + +const organizationKmsOverviewPageRouteRoute = + organizationKmsOverviewPageRouteImport.update({ + id: '/kms/overview', + path: '/kms/overview', + getParentRoute: () => + AuthenticateInjectOrgDetailsOrgLayoutOrganizationRoute, + } as any) + +const organizationIdentityDetailsByIDPageRouteRoute = + organizationIdentityDetailsByIDPageRouteImport.update({ + id: '/identities/$identityId', + path: '/identities/$identityId', + getParentRoute: () => + AuthenticateInjectOrgDetailsOrgLayoutOrganizationRoute, + } as any) + +const organizationGroupDetailsByIDPageRouteRoute = + organizationGroupDetailsByIDPageRouteImport.update({ + id: '/groups/$groupId', + path: '/groups/$groupId', + getParentRoute: () => + AuthenticateInjectOrgDetailsOrgLayoutOrganizationRoute, + } as any) + +const organizationCertManagerOverviewPageRouteRoute = + organizationCertManagerOverviewPageRouteImport.update({ + id: '/cert-manager/overview', + path: '/cert-manager/overview', + getParentRoute: () => + AuthenticateInjectOrgDetailsOrgLayoutOrganizationRoute, + } as any) + const projectAccessControlPageRouteSshRoute = projectAccessControlPageRouteSshImport.update({ id: '/access-management', @@ -534,8 +609,8 @@ const projectAccessControlPageRouteSshRoute = getParentRoute: () => sshLayoutRoute, } as any) -const AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute = - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport.update( +const AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute = + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport.update( { id: '/integrations', path: '/integrations', @@ -561,56 +636,64 @@ const secretManagerIntegrationsRouteVercelOauthRedirectRoute = secretManagerIntegrationsRouteVercelOauthRedirectImport.update({ id: '/vercel/oauth2/callback', path: '/vercel/oauth2/callback', - getParentRoute: () => AuthenticateInjectOrgDetailsIntegrationsRoute, + getParentRoute: () => + AuthenticateInjectOrgDetailsOrgLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsRouteNetlifyOauthRedirectRoute = secretManagerIntegrationsRouteNetlifyOauthRedirectImport.update({ id: '/netlify/oauth2/callback', path: '/netlify/oauth2/callback', - getParentRoute: () => AuthenticateInjectOrgDetailsIntegrationsRoute, + getParentRoute: () => + AuthenticateInjectOrgDetailsOrgLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsRouteHerokuOauthRedirectRoute = secretManagerIntegrationsRouteHerokuOauthRedirectImport.update({ id: '/heroku/oauth2/callback', path: '/heroku/oauth2/callback', - getParentRoute: () => AuthenticateInjectOrgDetailsIntegrationsRoute, + getParentRoute: () => + AuthenticateInjectOrgDetailsOrgLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsRouteGitlabOauthRedirectRoute = secretManagerIntegrationsRouteGitlabOauthRedirectImport.update({ id: '/gitlab/oauth2/callback', path: '/gitlab/oauth2/callback', - getParentRoute: () => AuthenticateInjectOrgDetailsIntegrationsRoute, + getParentRoute: () => + AuthenticateInjectOrgDetailsOrgLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsRouteGithubOauthRedirectRoute = secretManagerIntegrationsRouteGithubOauthRedirectImport.update({ id: '/github/oauth2/callback', path: '/github/oauth2/callback', - getParentRoute: () => AuthenticateInjectOrgDetailsIntegrationsRoute, + getParentRoute: () => + AuthenticateInjectOrgDetailsOrgLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsRouteGcpOauthRedirectRoute = secretManagerIntegrationsRouteGcpOauthRedirectImport.update({ id: '/gcp-secret-manager/oauth2/callback', path: '/gcp-secret-manager/oauth2/callback', - getParentRoute: () => AuthenticateInjectOrgDetailsIntegrationsRoute, + getParentRoute: () => + AuthenticateInjectOrgDetailsOrgLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsRouteBitbucketOauthRedirectRoute = secretManagerIntegrationsRouteBitbucketOauthRedirectImport.update({ id: '/bitbucket/oauth2/callback', path: '/bitbucket/oauth2/callback', - getParentRoute: () => AuthenticateInjectOrgDetailsIntegrationsRoute, + getParentRoute: () => + AuthenticateInjectOrgDetailsOrgLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsRouteAzureKeyVaultOauthRedirectRoute = secretManagerIntegrationsRouteAzureKeyVaultOauthRedirectImport.update({ id: '/azure-key-vault/oauth2/callback', path: '/azure-key-vault/oauth2/callback', - getParentRoute: () => AuthenticateInjectOrgDetailsIntegrationsRoute, + getParentRoute: () => + AuthenticateInjectOrgDetailsOrgLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsRouteAzureAppConfigurationsOauthRedirectRoute = @@ -618,7 +701,8 @@ const secretManagerIntegrationsRouteAzureAppConfigurationsOauthRedirectRoute = { id: '/azure-app-configuration/oauth2/callback', path: '/azure-app-configuration/oauth2/callback', - getParentRoute: () => AuthenticateInjectOrgDetailsIntegrationsRoute, + getParentRoute: () => + AuthenticateInjectOrgDetailsOrgLayoutIntegrationsRoute, } as any, ) @@ -676,62 +760,6 @@ const secretManagerIPAllowlistPageRouteRoute = getParentRoute: () => secretManagerLayoutRoute, } as any) -const organizationSshOverviewPageRouteRoute = - organizationSshOverviewPageRouteImport.update({ - id: '/ssh/overview', - path: '/ssh/overview', - getParentRoute: () => organizationLayoutRoute, - } as any) - -const organizationSecretManagerOverviewPageRouteRoute = - organizationSecretManagerOverviewPageRouteImport.update({ - id: '/secret-manager/overview', - path: '/secret-manager/overview', - getParentRoute: () => organizationLayoutRoute, - } as any) - -const organizationRoleByIDPageRouteRoute = - organizationRoleByIDPageRouteImport.update({ - id: '/roles/$roleId', - path: '/roles/$roleId', - getParentRoute: () => organizationLayoutRoute, - } as any) - -const organizationUserDetailsByIDPageRouteRoute = - organizationUserDetailsByIDPageRouteImport.update({ - id: '/members/$membershipId', - path: '/members/$membershipId', - getParentRoute: () => organizationLayoutRoute, - } as any) - -const organizationKmsOverviewPageRouteRoute = - organizationKmsOverviewPageRouteImport.update({ - id: '/kms/overview', - path: '/kms/overview', - getParentRoute: () => organizationLayoutRoute, - } as any) - -const organizationIdentityDetailsByIDPageRouteRoute = - organizationIdentityDetailsByIDPageRouteImport.update({ - id: '/identities/$identityId', - path: '/identities/$identityId', - getParentRoute: () => organizationLayoutRoute, - } as any) - -const organizationGroupDetailsByIDPageRouteRoute = - organizationGroupDetailsByIDPageRouteImport.update({ - id: '/groups/$groupId', - path: '/groups/$groupId', - getParentRoute: () => organizationLayoutRoute, - } as any) - -const organizationCertManagerOverviewPageRouteRoute = - organizationCertManagerOverviewPageRouteImport.update({ - id: '/cert-manager/overview', - path: '/cert-manager/overview', - getParentRoute: () => organizationLayoutRoute, - } as any) - const kmsSettingsPageRouteRoute = kmsSettingsPageRouteImport.update({ id: '/settings', path: '/settings', @@ -867,7 +895,7 @@ const secretManagerIntegrationsSelectIntegrationAuthPageRouteRoute = id: '/select-integration-auth', path: '/select-integration-auth', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsDetailsByIDPageRouteRoute = @@ -875,7 +903,15 @@ const secretManagerIntegrationsDetailsByIDPageRouteRoute = id: '/$integrationId', path: '/$integrationId', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + } as any) + +const organizationAppConnectionsGithubOauthCallbackPageRouteRoute = + organizationAppConnectionsGithubOauthCallbackPageRouteImport.update({ + id: '/app-connections/github/oauth/callback', + path: '/app-connections/github/oauth/callback', + getParentRoute: () => + AuthenticateInjectOrgDetailsOrgLayoutOrganizationRoute, } as any) const certManagerCertAuthDetailsByIDPageRouteRoute = @@ -890,7 +926,7 @@ const secretManagerIntegrationsListPageRouteRoute = id: '/', path: '/', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsWindmillConfigurePageRouteRoute = @@ -898,7 +934,7 @@ const secretManagerIntegrationsWindmillConfigurePageRouteRoute = id: '/windmill/create', path: '/windmill/create', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsWindmillAuthorizePageRouteRoute = @@ -906,7 +942,7 @@ const secretManagerIntegrationsWindmillAuthorizePageRouteRoute = id: '/windmill/authorize', path: '/windmill/authorize', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsVercelConfigurePageRouteRoute = @@ -914,7 +950,7 @@ const secretManagerIntegrationsVercelConfigurePageRouteRoute = id: '/vercel/create', path: '/vercel/create', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsTravisCIConfigurePageRouteRoute = @@ -922,7 +958,7 @@ const secretManagerIntegrationsTravisCIConfigurePageRouteRoute = id: '/travisci/create', path: '/travisci/create', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsTravisCIAuthorizePageRouteRoute = @@ -930,7 +966,7 @@ const secretManagerIntegrationsTravisCIAuthorizePageRouteRoute = id: '/travisci/authorize', path: '/travisci/authorize', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsTerraformCloudConfigurePageRouteRoute = @@ -938,7 +974,7 @@ const secretManagerIntegrationsTerraformCloudConfigurePageRouteRoute = id: '/terraform-cloud/create', path: '/terraform-cloud/create', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsTerraformCloudAuthorizePageRouteRoute = @@ -946,7 +982,7 @@ const secretManagerIntegrationsTerraformCloudAuthorizePageRouteRoute = id: '/terraform-cloud/authorize', path: '/terraform-cloud/authorize', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsTeamcityConfigurePageRouteRoute = @@ -954,7 +990,7 @@ const secretManagerIntegrationsTeamcityConfigurePageRouteRoute = id: '/teamcity/create', path: '/teamcity/create', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsTeamcityAuthorizePageRouteRoute = @@ -962,7 +998,7 @@ const secretManagerIntegrationsTeamcityAuthorizePageRouteRoute = id: '/teamcity/authorize', path: '/teamcity/authorize', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsSupabaseConfigurePageRouteRoute = @@ -970,7 +1006,7 @@ const secretManagerIntegrationsSupabaseConfigurePageRouteRoute = id: '/supabase/create', path: '/supabase/create', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsSupabaseAuthorizePageRouteRoute = @@ -978,7 +1014,7 @@ const secretManagerIntegrationsSupabaseAuthorizePageRouteRoute = id: '/supabase/authorize', path: '/supabase/authorize', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsRundeckConfigurePageRouteRoute = @@ -986,7 +1022,7 @@ const secretManagerIntegrationsRundeckConfigurePageRouteRoute = id: '/rundeck/create', path: '/rundeck/create', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsRundeckAuthorizePageRouteRoute = @@ -994,7 +1030,7 @@ const secretManagerIntegrationsRundeckAuthorizePageRouteRoute = id: '/rundeck/authorize', path: '/rundeck/authorize', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsRenderConfigurePageRouteRoute = @@ -1002,7 +1038,7 @@ const secretManagerIntegrationsRenderConfigurePageRouteRoute = id: '/render/create', path: '/render/create', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsRenderAuthorizePageRouteRoute = @@ -1010,7 +1046,7 @@ const secretManagerIntegrationsRenderAuthorizePageRouteRoute = id: '/render/authorize', path: '/render/authorize', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsRailwayConfigurePageRouteRoute = @@ -1018,7 +1054,7 @@ const secretManagerIntegrationsRailwayConfigurePageRouteRoute = id: '/railway/create', path: '/railway/create', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsRailwayAuthorizePageRouteRoute = @@ -1026,7 +1062,7 @@ const secretManagerIntegrationsRailwayAuthorizePageRouteRoute = id: '/railway/authorize', path: '/railway/authorize', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsQoveryConfigurePageRouteRoute = @@ -1034,7 +1070,7 @@ const secretManagerIntegrationsQoveryConfigurePageRouteRoute = id: '/qovery/create', path: '/qovery/create', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsQoveryAuthorizePageRouteRoute = @@ -1042,7 +1078,7 @@ const secretManagerIntegrationsQoveryAuthorizePageRouteRoute = id: '/qovery/authorize', path: '/qovery/authorize', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsOctopusDeployConfigurePageRouteRoute = @@ -1050,7 +1086,7 @@ const secretManagerIntegrationsOctopusDeployConfigurePageRouteRoute = id: '/octopus-deploy/create', path: '/octopus-deploy/create', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsOctopusDeployAuthorizePageRouteRoute = @@ -1058,7 +1094,7 @@ const secretManagerIntegrationsOctopusDeployAuthorizePageRouteRoute = id: '/octopus-deploy/authorize', path: '/octopus-deploy/authorize', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsNorthflankConfigurePageRouteRoute = @@ -1066,7 +1102,7 @@ const secretManagerIntegrationsNorthflankConfigurePageRouteRoute = id: '/northflank/create', path: '/northflank/create', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsNorthflankAuthorizePageRouteRoute = @@ -1074,7 +1110,7 @@ const secretManagerIntegrationsNorthflankAuthorizePageRouteRoute = id: '/northflank/authorize', path: '/northflank/authorize', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsNetlifyConfigurePageRouteRoute = @@ -1082,7 +1118,7 @@ const secretManagerIntegrationsNetlifyConfigurePageRouteRoute = id: '/netlify/create', path: '/netlify/create', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsLaravelForgeConfigurePageRouteRoute = @@ -1090,7 +1126,7 @@ const secretManagerIntegrationsLaravelForgeConfigurePageRouteRoute = id: '/laravel-forge/create', path: '/laravel-forge/create', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsLaravelForgeAuthorizePageRouteRoute = @@ -1098,7 +1134,7 @@ const secretManagerIntegrationsLaravelForgeAuthorizePageRouteRoute = id: '/laravel-forge/authorize', path: '/laravel-forge/authorize', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsHerokuConfigurePageRouteRoute = @@ -1106,7 +1142,7 @@ const secretManagerIntegrationsHerokuConfigurePageRouteRoute = id: '/heroku/create', path: '/heroku/create', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsHasuraCloudConfigurePageRouteRoute = @@ -1114,7 +1150,7 @@ const secretManagerIntegrationsHasuraCloudConfigurePageRouteRoute = id: '/hasura-cloud/create', path: '/hasura-cloud/create', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsHasuraCloudAuthorizePageRouteRoute = @@ -1122,7 +1158,7 @@ const secretManagerIntegrationsHasuraCloudAuthorizePageRouteRoute = id: '/hasura-cloud/authorize', path: '/hasura-cloud/authorize', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsHashicorpVaultConfigurePageRouteRoute = @@ -1130,7 +1166,7 @@ const secretManagerIntegrationsHashicorpVaultConfigurePageRouteRoute = id: '/hashicorp-vault/create', path: '/hashicorp-vault/create', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsHashicorpVaultAuthorizePageRouteRoute = @@ -1138,7 +1174,7 @@ const secretManagerIntegrationsHashicorpVaultAuthorizePageRouteRoute = id: '/hashicorp-vault/authorize', path: '/hashicorp-vault/authorize', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsGitlabConfigurePageRouteRoute = @@ -1146,7 +1182,7 @@ const secretManagerIntegrationsGitlabConfigurePageRouteRoute = id: '/gitlab/create', path: '/gitlab/create', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsGitlabAuthorizePageRouteRoute = @@ -1154,7 +1190,7 @@ const secretManagerIntegrationsGitlabAuthorizePageRouteRoute = id: '/gitlab/authorize', path: '/gitlab/authorize', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsGithubConfigurePageRouteRoute = @@ -1162,7 +1198,7 @@ const secretManagerIntegrationsGithubConfigurePageRouteRoute = id: '/github/create', path: '/github/create', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsGithubAuthorizePageRouteRoute = @@ -1170,7 +1206,7 @@ const secretManagerIntegrationsGithubAuthorizePageRouteRoute = id: '/github/auth-mode-selection', path: '/github/auth-mode-selection', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsGcpSecretManagerConfigurePageRouteRoute = @@ -1178,7 +1214,7 @@ const secretManagerIntegrationsGcpSecretManagerConfigurePageRouteRoute = id: '/gcp-secret-manager/create', path: '/gcp-secret-manager/create', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsGcpSecretManagerAuthorizePageRouteRoute = @@ -1186,7 +1222,7 @@ const secretManagerIntegrationsGcpSecretManagerAuthorizePageRouteRoute = id: '/gcp-secret-manager/authorize', path: '/gcp-secret-manager/authorize', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsFlyioConfigurePageRouteRoute = @@ -1194,7 +1230,7 @@ const secretManagerIntegrationsFlyioConfigurePageRouteRoute = id: '/flyio/create', path: '/flyio/create', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsFlyioAuthorizePageRouteRoute = @@ -1202,7 +1238,7 @@ const secretManagerIntegrationsFlyioAuthorizePageRouteRoute = id: '/flyio/authorize', path: '/flyio/authorize', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsDigitalOceanAppPlatformConfigurePageRouteRoute = @@ -1211,7 +1247,7 @@ const secretManagerIntegrationsDigitalOceanAppPlatformConfigurePageRouteRoute = id: '/digital-ocean-app-platform/create', path: '/digital-ocean-app-platform/create', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any, ) @@ -1221,7 +1257,7 @@ const secretManagerIntegrationsDigitalOceanAppPlatformAuthorizePageRouteRoute = id: '/digital-ocean-app-platform/authorize', path: '/digital-ocean-app-platform/authorize', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any, ) @@ -1230,7 +1266,7 @@ const secretManagerIntegrationsDatabricksConfigurePageRouteRoute = id: '/databricks/create', path: '/databricks/create', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsDatabricksAuthorizePageRouteRoute = @@ -1238,7 +1274,7 @@ const secretManagerIntegrationsDatabricksAuthorizePageRouteRoute = id: '/databricks/authorize', path: '/databricks/authorize', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsCodefreshConfigurePageRouteRoute = @@ -1246,7 +1282,7 @@ const secretManagerIntegrationsCodefreshConfigurePageRouteRoute = id: '/codefresh/create', path: '/codefresh/create', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsCodefreshAuthorizePageRouteRoute = @@ -1254,7 +1290,7 @@ const secretManagerIntegrationsCodefreshAuthorizePageRouteRoute = id: '/codefresh/authorize', path: '/codefresh/authorize', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsCloudflareWorkersConfigurePageRouteRoute = @@ -1262,7 +1298,7 @@ const secretManagerIntegrationsCloudflareWorkersConfigurePageRouteRoute = id: '/cloudflare-workers/create', path: '/cloudflare-workers/create', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsCloudflareWorkersAuthorizePageRouteRoute = @@ -1270,7 +1306,7 @@ const secretManagerIntegrationsCloudflareWorkersAuthorizePageRouteRoute = id: '/cloudflare-workers/authorize', path: '/cloudflare-workers/authorize', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsCloudflarePagesConfigurePageRouteRoute = @@ -1278,7 +1314,7 @@ const secretManagerIntegrationsCloudflarePagesConfigurePageRouteRoute = id: '/cloudflare-pages/create', path: '/cloudflare-pages/create', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsCloudflarePagesAuthorizePageRouteRoute = @@ -1286,7 +1322,7 @@ const secretManagerIntegrationsCloudflarePagesAuthorizePageRouteRoute = id: '/cloudflare-pages/authorize', path: '/cloudflare-pages/authorize', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsCloud66ConfigurePageRouteRoute = @@ -1294,7 +1330,7 @@ const secretManagerIntegrationsCloud66ConfigurePageRouteRoute = id: '/cloud-66/create', path: '/cloud-66/create', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsCloud66AuthorizePageRouteRoute = @@ -1302,7 +1338,7 @@ const secretManagerIntegrationsCloud66AuthorizePageRouteRoute = id: '/cloud-66/authorize', path: '/cloud-66/authorize', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsCircleCIConfigurePageRouteRoute = @@ -1310,7 +1346,7 @@ const secretManagerIntegrationsCircleCIConfigurePageRouteRoute = id: '/circleci/create', path: '/circleci/create', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsCircleCIAuthorizePageRouteRoute = @@ -1318,7 +1354,7 @@ const secretManagerIntegrationsCircleCIAuthorizePageRouteRoute = id: '/circleci/authorize', path: '/circleci/authorize', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsChecklyConfigurePageRouteRoute = @@ -1326,7 +1362,7 @@ const secretManagerIntegrationsChecklyConfigurePageRouteRoute = id: '/checkly/create', path: '/checkly/create', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsChecklyAuthorizePageRouteRoute = @@ -1334,7 +1370,7 @@ const secretManagerIntegrationsChecklyAuthorizePageRouteRoute = id: '/checkly/authorize', path: '/checkly/authorize', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsBitbucketConfigurePageRouteRoute = @@ -1342,7 +1378,7 @@ const secretManagerIntegrationsBitbucketConfigurePageRouteRoute = id: '/bitbucket/create', path: '/bitbucket/create', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsAzureKeyVaultConfigurePageRouteRoute = @@ -1350,7 +1386,7 @@ const secretManagerIntegrationsAzureKeyVaultConfigurePageRouteRoute = id: '/azure-key-vault/create', path: '/azure-key-vault/create', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsAzureKeyVaultAuthorizePageRouteRoute = @@ -1358,7 +1394,7 @@ const secretManagerIntegrationsAzureKeyVaultAuthorizePageRouteRoute = id: '/azure-key-vault/authorize', path: '/azure-key-vault/authorize', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsAzureDevopsConfigurePageRouteRoute = @@ -1366,7 +1402,7 @@ const secretManagerIntegrationsAzureDevopsConfigurePageRouteRoute = id: '/azure-devops/create', path: '/azure-devops/create', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsAzureDevopsAuthorizePageRouteRoute = @@ -1374,7 +1410,7 @@ const secretManagerIntegrationsAzureDevopsAuthorizePageRouteRoute = id: '/azure-devops/authorize', path: '/azure-devops/authorize', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsAzureAppConfigurationConfigurePageRouteRoute = @@ -1383,7 +1419,7 @@ const secretManagerIntegrationsAzureAppConfigurationConfigurePageRouteRoute = id: '/azure-app-configuration/create', path: '/azure-app-configuration/create', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any, ) @@ -1392,7 +1428,7 @@ const secretManagerIntegrationsAwsSecretManagerConfigurePageRouteRoute = id: '/aws-secret-manager/create', path: '/aws-secret-manager/create', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsAwsSecretManagerAuthorizePageRouteRoute = @@ -1400,7 +1436,7 @@ const secretManagerIntegrationsAwsSecretManagerAuthorizePageRouteRoute = id: '/aws-secret-manager/authorize', path: '/aws-secret-manager/authorize', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsAwsParameterStoreConfigurePageRouteRoute = @@ -1408,7 +1444,7 @@ const secretManagerIntegrationsAwsParameterStoreConfigurePageRouteRoute = id: '/aws-parameter-store/create', path: '/aws-parameter-store/create', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsAwsParameterStoreAuthorizePageRouteRoute = @@ -1416,14 +1452,7 @@ const secretManagerIntegrationsAwsParameterStoreAuthorizePageRouteRoute = id: '/aws-parameter-store/authorize', path: '/aws-parameter-store/authorize', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, - } as any) - -const organizationAppConnectionsGithubOauthCallbackPageRouteRoute = - organizationAppConnectionsGithubOauthCallbackPageRouteImport.update({ - id: '/app-connections/github/oauth/callback', - path: '/app-connections/github/oauth/callback', - getParentRoute: () => organizationLayoutRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsVercelOauthCallbackPageRouteRoute = @@ -1431,7 +1460,7 @@ const secretManagerIntegrationsVercelOauthCallbackPageRouteRoute = id: '/vercel/oauth2/callback', path: '/vercel/oauth2/callback', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsNetlifyOauthCallbackPageRouteRoute = @@ -1439,7 +1468,7 @@ const secretManagerIntegrationsNetlifyOauthCallbackPageRouteRoute = id: '/netlify/oauth2/callback', path: '/netlify/oauth2/callback', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsHerokuOauthCallbackPageRouteRoute = @@ -1447,7 +1476,7 @@ const secretManagerIntegrationsHerokuOauthCallbackPageRouteRoute = id: '/heroku/oauth2/callback', path: '/heroku/oauth2/callback', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsGitlabOauthCallbackPageRouteRoute = @@ -1455,7 +1484,7 @@ const secretManagerIntegrationsGitlabOauthCallbackPageRouteRoute = id: '/gitlab/oauth2/callback', path: '/gitlab/oauth2/callback', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsGithubOauthCallbackPageRouteRoute = @@ -1463,7 +1492,7 @@ const secretManagerIntegrationsGithubOauthCallbackPageRouteRoute = id: '/github/oauth2/callback', path: '/github/oauth2/callback', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsGcpSecretManagerOauthCallbackPageRouteRoute = @@ -1471,7 +1500,7 @@ const secretManagerIntegrationsGcpSecretManagerOauthCallbackPageRouteRoute = id: '/gcp-secret-manager/oauth2/callback', path: '/gcp-secret-manager/oauth2/callback', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsBitbucketOauthCallbackPageRouteRoute = @@ -1479,7 +1508,7 @@ const secretManagerIntegrationsBitbucketOauthCallbackPageRouteRoute = id: '/bitbucket/oauth2/callback', path: '/bitbucket/oauth2/callback', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsAzureKeyVaultOauthCallbackPageRouteRoute = @@ -1487,7 +1516,7 @@ const secretManagerIntegrationsAzureKeyVaultOauthCallbackPageRouteRoute = id: '/azure-key-vault/oauth2/callback', path: '/azure-key-vault/oauth2/callback', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any) const secretManagerIntegrationsAzureAppConfigurationOauthCallbackPageRouteRoute = @@ -1496,7 +1525,7 @@ const secretManagerIntegrationsAzureAppConfigurationOauthCallbackPageRouteRoute id: '/azure-app-configuration/oauth2/callback', path: '/azure-app-configuration/oauth2/callback', getParentRoute: () => - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute, } as any, ) @@ -1658,6 +1687,13 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof publicViewSharedSecretByIDPageRouteImport parentRoute: typeof rootRoute } + '/_authenticate/_inject-org-details/_org-layout': { + id: '/_authenticate/_inject-org-details/_org-layout' + path: '' + fullPath: '' + preLoaderRoute: typeof organizationLayoutImport + parentRoute: typeof middlewaresInjectOrgDetailsImport + } '/_authenticate/_inject-org-details/admin': { id: '/_authenticate/_inject-org-details/admin' path: '/admin' @@ -1665,20 +1701,6 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof AuthenticateInjectOrgDetailsAdminImport parentRoute: typeof middlewaresInjectOrgDetailsImport } - '/_authenticate/_inject-org-details/integrations': { - id: '/_authenticate/_inject-org-details/integrations' - path: '/integrations' - fullPath: '/integrations' - preLoaderRoute: typeof AuthenticateInjectOrgDetailsIntegrationsImport - parentRoute: typeof middlewaresInjectOrgDetailsImport - } - '/_authenticate/_inject-org-details/organization': { - id: '/_authenticate/_inject-org-details/organization' - path: '/organization' - fullPath: '/organization' - preLoaderRoute: typeof AuthenticateInjectOrgDetailsOrganizationImport - parentRoute: typeof middlewaresInjectOrgDetailsImport - } '/_authenticate/personal-settings/_layout': { id: '/_authenticate/personal-settings/_layout' path: '' @@ -1707,6 +1729,20 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof authProviderSuccessPageRouteImport parentRoute: typeof RestrictLoginSignupLoginImport } + '/_authenticate/_inject-org-details/_org-layout/integrations': { + id: '/_authenticate/_inject-org-details/_org-layout/integrations' + path: '/integrations' + fullPath: '/integrations' + preLoaderRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutIntegrationsImport + parentRoute: typeof organizationLayoutImport + } + '/_authenticate/_inject-org-details/_org-layout/organization': { + id: '/_authenticate/_inject-org-details/_org-layout/organization' + path: '/organization' + fullPath: '/organization' + preLoaderRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationImport + parentRoute: typeof organizationLayoutImport + } '/_authenticate/_inject-org-details/admin/_admin-layout': { id: '/_authenticate/_inject-org-details/admin/_admin-layout' path: '' @@ -1714,41 +1750,6 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof adminLayoutImport parentRoute: typeof AuthenticateInjectOrgDetailsAdminImport } - '/_authenticate/_inject-org-details/cert-manager/$projectId': { - id: '/_authenticate/_inject-org-details/cert-manager/$projectId' - path: '/cert-manager/$projectId' - fullPath: '/cert-manager/$projectId' - preLoaderRoute: typeof AuthenticateInjectOrgDetailsCertManagerProjectIdImport - parentRoute: typeof middlewaresInjectOrgDetailsImport - } - '/_authenticate/_inject-org-details/kms/$projectId': { - id: '/_authenticate/_inject-org-details/kms/$projectId' - path: '/kms/$projectId' - fullPath: '/kms/$projectId' - preLoaderRoute: typeof AuthenticateInjectOrgDetailsKmsProjectIdImport - parentRoute: typeof middlewaresInjectOrgDetailsImport - } - '/_authenticate/_inject-org-details/organization/_layout': { - id: '/_authenticate/_inject-org-details/organization/_layout' - path: '' - fullPath: '/organization' - preLoaderRoute: typeof organizationLayoutImport - parentRoute: typeof AuthenticateInjectOrgDetailsOrganizationImport - } - '/_authenticate/_inject-org-details/secret-manager/$projectId': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId' - path: '/secret-manager/$projectId' - fullPath: '/secret-manager/$projectId' - preLoaderRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdImport - parentRoute: typeof middlewaresInjectOrgDetailsImport - } - '/_authenticate/_inject-org-details/ssh/$projectId': { - id: '/_authenticate/_inject-org-details/ssh/$projectId' - path: '/ssh/$projectId' - fullPath: '/ssh/$projectId' - preLoaderRoute: typeof AuthenticateInjectOrgDetailsSshProjectIdImport - parentRoute: typeof middlewaresInjectOrgDetailsImport - } '/_authenticate/_inject-org-details/admin/_admin-layout/': { id: '/_authenticate/_inject-org-details/admin/_admin-layout/' path: '/' @@ -1756,1011 +1757,1013 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof adminOverviewPageRouteImport parentRoute: typeof adminLayoutImport } - '/_authenticate/_inject-org-details/organization/_layout/access-management': { - id: '/_authenticate/_inject-org-details/organization/_layout/access-management' + '/_authenticate/_inject-org-details/_org-layout/organization/access-management': { + id: '/_authenticate/_inject-org-details/_org-layout/organization/access-management' path: '/access-management' fullPath: '/organization/access-management' preLoaderRoute: typeof organizationAccessManagementPageRouteImport - parentRoute: typeof organizationLayoutImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationImport } - '/_authenticate/_inject-org-details/organization/_layout/admin': { - id: '/_authenticate/_inject-org-details/organization/_layout/admin' + '/_authenticate/_inject-org-details/_org-layout/organization/admin': { + id: '/_authenticate/_inject-org-details/_org-layout/organization/admin' path: '/admin' fullPath: '/organization/admin' preLoaderRoute: typeof organizationAdminPageRouteImport - parentRoute: typeof organizationLayoutImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationImport } - '/_authenticate/_inject-org-details/organization/_layout/audit-logs': { - id: '/_authenticate/_inject-org-details/organization/_layout/audit-logs' + '/_authenticate/_inject-org-details/_org-layout/organization/audit-logs': { + id: '/_authenticate/_inject-org-details/_org-layout/organization/audit-logs' path: '/audit-logs' fullPath: '/organization/audit-logs' preLoaderRoute: typeof organizationAuditLogsPageRouteImport - parentRoute: typeof organizationLayoutImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationImport } - '/_authenticate/_inject-org-details/organization/_layout/billing': { - id: '/_authenticate/_inject-org-details/organization/_layout/billing' + '/_authenticate/_inject-org-details/_org-layout/organization/billing': { + id: '/_authenticate/_inject-org-details/_org-layout/organization/billing' path: '/billing' fullPath: '/organization/billing' preLoaderRoute: typeof organizationBillingPageRouteImport - parentRoute: typeof organizationLayoutImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationImport } - '/_authenticate/_inject-org-details/organization/_layout/none': { - id: '/_authenticate/_inject-org-details/organization/_layout/none' + '/_authenticate/_inject-org-details/_org-layout/organization/none': { + id: '/_authenticate/_inject-org-details/_org-layout/organization/none' path: '/none' fullPath: '/organization/none' preLoaderRoute: typeof organizationNoOrgPageRouteImport - parentRoute: typeof organizationLayoutImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationImport } - '/_authenticate/_inject-org-details/organization/_layout/secret-scanning': { - id: '/_authenticate/_inject-org-details/organization/_layout/secret-scanning' + '/_authenticate/_inject-org-details/_org-layout/organization/secret-scanning': { + id: '/_authenticate/_inject-org-details/_org-layout/organization/secret-scanning' path: '/secret-scanning' fullPath: '/organization/secret-scanning' preLoaderRoute: typeof organizationSecretScanningPageRouteImport - parentRoute: typeof organizationLayoutImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationImport } - '/_authenticate/_inject-org-details/organization/_layout/secret-sharing': { - id: '/_authenticate/_inject-org-details/organization/_layout/secret-sharing' + '/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing': { + id: '/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing' path: '/secret-sharing' fullPath: '/organization/secret-sharing' preLoaderRoute: typeof organizationSecretSharingPageRouteImport - parentRoute: typeof organizationLayoutImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationImport } - '/_authenticate/_inject-org-details/organization/_layout/settings': { - id: '/_authenticate/_inject-org-details/organization/_layout/settings' + '/_authenticate/_inject-org-details/_org-layout/organization/settings': { + id: '/_authenticate/_inject-org-details/_org-layout/organization/settings' path: '/settings' fullPath: '/organization/settings' preLoaderRoute: typeof organizationSettingsPageRouteImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationImport + } + '/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId': { + id: '/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId' + path: '/cert-manager/$projectId' + fullPath: '/cert-manager/$projectId' + preLoaderRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutCertManagerProjectIdImport parentRoute: typeof organizationLayoutImport } - '/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout': { - id: '/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout' + '/_authenticate/_inject-org-details/_org-layout/kms/$projectId': { + id: '/_authenticate/_inject-org-details/_org-layout/kms/$projectId' + path: '/kms/$projectId' + fullPath: '/kms/$projectId' + preLoaderRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutKmsProjectIdImport + parentRoute: typeof organizationLayoutImport + } + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId' + path: '/secret-manager/$projectId' + fullPath: '/secret-manager/$projectId' + preLoaderRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdImport + parentRoute: typeof organizationLayoutImport + } + '/_authenticate/_inject-org-details/_org-layout/ssh/$projectId': { + id: '/_authenticate/_inject-org-details/_org-layout/ssh/$projectId' + path: '/ssh/$projectId' + fullPath: '/ssh/$projectId' + preLoaderRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSshProjectIdImport + parentRoute: typeof organizationLayoutImport + } + '/_authenticate/_inject-org-details/_org-layout/organization/cert-manager/overview': { + id: '/_authenticate/_inject-org-details/_org-layout/organization/cert-manager/overview' + path: '/cert-manager/overview' + fullPath: '/organization/cert-manager/overview' + preLoaderRoute: typeof organizationCertManagerOverviewPageRouteImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationImport + } + '/_authenticate/_inject-org-details/_org-layout/organization/groups/$groupId': { + id: '/_authenticate/_inject-org-details/_org-layout/organization/groups/$groupId' + path: '/groups/$groupId' + fullPath: '/organization/groups/$groupId' + preLoaderRoute: typeof organizationGroupDetailsByIDPageRouteImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationImport + } + '/_authenticate/_inject-org-details/_org-layout/organization/identities/$identityId': { + id: '/_authenticate/_inject-org-details/_org-layout/organization/identities/$identityId' + path: '/identities/$identityId' + fullPath: '/organization/identities/$identityId' + preLoaderRoute: typeof organizationIdentityDetailsByIDPageRouteImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationImport + } + '/_authenticate/_inject-org-details/_org-layout/organization/kms/overview': { + id: '/_authenticate/_inject-org-details/_org-layout/organization/kms/overview' + path: '/kms/overview' + fullPath: '/organization/kms/overview' + preLoaderRoute: typeof organizationKmsOverviewPageRouteImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationImport + } + '/_authenticate/_inject-org-details/_org-layout/organization/members/$membershipId': { + id: '/_authenticate/_inject-org-details/_org-layout/organization/members/$membershipId' + path: '/members/$membershipId' + fullPath: '/organization/members/$membershipId' + preLoaderRoute: typeof organizationUserDetailsByIDPageRouteImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationImport + } + '/_authenticate/_inject-org-details/_org-layout/organization/roles/$roleId': { + id: '/_authenticate/_inject-org-details/_org-layout/organization/roles/$roleId' + path: '/roles/$roleId' + fullPath: '/organization/roles/$roleId' + preLoaderRoute: typeof organizationRoleByIDPageRouteImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationImport + } + '/_authenticate/_inject-org-details/_org-layout/organization/secret-manager/overview': { + id: '/_authenticate/_inject-org-details/_org-layout/organization/secret-manager/overview' + path: '/secret-manager/overview' + fullPath: '/organization/secret-manager/overview' + preLoaderRoute: typeof organizationSecretManagerOverviewPageRouteImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationImport + } + '/_authenticate/_inject-org-details/_org-layout/organization/ssh/overview': { + id: '/_authenticate/_inject-org-details/_org-layout/organization/ssh/overview' + path: '/ssh/overview' + fullPath: '/organization/ssh/overview' + preLoaderRoute: typeof organizationSshOverviewPageRouteImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationImport + } + '/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout': { + id: '/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout' path: '' fullPath: '/cert-manager/$projectId' preLoaderRoute: typeof certManagerLayoutImport - parentRoute: typeof AuthenticateInjectOrgDetailsCertManagerProjectIdImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutCertManagerProjectIdImport } - '/_authenticate/_inject-org-details/kms/$projectId/_kms-layout': { - id: '/_authenticate/_inject-org-details/kms/$projectId/_kms-layout' + '/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout': { + id: '/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout' path: '' fullPath: '/kms/$projectId' preLoaderRoute: typeof kmsLayoutImport - parentRoute: typeof AuthenticateInjectOrgDetailsKmsProjectIdImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutKmsProjectIdImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout' path: '' fullPath: '/secret-manager/$projectId' preLoaderRoute: typeof secretManagerLayoutImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdImport } - '/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout': { - id: '/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout' + '/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout': { + id: '/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout' path: '' fullPath: '/ssh/$projectId' preLoaderRoute: typeof sshLayoutImport - parentRoute: typeof AuthenticateInjectOrgDetailsSshProjectIdImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSshProjectIdImport } - '/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/overview': { - id: '/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/overview' + '/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/overview': { + id: '/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/overview' path: '/overview' fullPath: '/cert-manager/$projectId/overview' preLoaderRoute: typeof certManagerCertificatesPageRouteImport parentRoute: typeof certManagerLayoutImport } - '/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/settings': { - id: '/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/settings' + '/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/settings': { + id: '/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/settings' path: '/settings' fullPath: '/cert-manager/$projectId/settings' preLoaderRoute: typeof certManagerSettingsPageRouteImport parentRoute: typeof certManagerLayoutImport } - '/_authenticate/_inject-org-details/kms/$projectId/_kms-layout/overview': { - id: '/_authenticate/_inject-org-details/kms/$projectId/_kms-layout/overview' + '/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout/overview': { + id: '/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout/overview' path: '/overview' fullPath: '/kms/$projectId/overview' preLoaderRoute: typeof kmsOverviewPageRouteImport parentRoute: typeof kmsLayoutImport } - '/_authenticate/_inject-org-details/kms/$projectId/_kms-layout/settings': { - id: '/_authenticate/_inject-org-details/kms/$projectId/_kms-layout/settings' + '/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout/settings': { + id: '/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout/settings' path: '/settings' fullPath: '/kms/$projectId/settings' preLoaderRoute: typeof kmsSettingsPageRouteImport parentRoute: typeof kmsLayoutImport } - '/_authenticate/_inject-org-details/organization/_layout/cert-manager/overview': { - id: '/_authenticate/_inject-org-details/organization/_layout/cert-manager/overview' - path: '/cert-manager/overview' - fullPath: '/organization/cert-manager/overview' - preLoaderRoute: typeof organizationCertManagerOverviewPageRouteImport - parentRoute: typeof organizationLayoutImport - } - '/_authenticate/_inject-org-details/organization/_layout/groups/$groupId': { - id: '/_authenticate/_inject-org-details/organization/_layout/groups/$groupId' - path: '/groups/$groupId' - fullPath: '/organization/groups/$groupId' - preLoaderRoute: typeof organizationGroupDetailsByIDPageRouteImport - parentRoute: typeof organizationLayoutImport - } - '/_authenticate/_inject-org-details/organization/_layout/identities/$identityId': { - id: '/_authenticate/_inject-org-details/organization/_layout/identities/$identityId' - path: '/identities/$identityId' - fullPath: '/organization/identities/$identityId' - preLoaderRoute: typeof organizationIdentityDetailsByIDPageRouteImport - parentRoute: typeof organizationLayoutImport - } - '/_authenticate/_inject-org-details/organization/_layout/kms/overview': { - id: '/_authenticate/_inject-org-details/organization/_layout/kms/overview' - path: '/kms/overview' - fullPath: '/organization/kms/overview' - preLoaderRoute: typeof organizationKmsOverviewPageRouteImport - parentRoute: typeof organizationLayoutImport - } - '/_authenticate/_inject-org-details/organization/_layout/members/$membershipId': { - id: '/_authenticate/_inject-org-details/organization/_layout/members/$membershipId' - path: '/members/$membershipId' - fullPath: '/organization/members/$membershipId' - preLoaderRoute: typeof organizationUserDetailsByIDPageRouteImport - parentRoute: typeof organizationLayoutImport - } - '/_authenticate/_inject-org-details/organization/_layout/roles/$roleId': { - id: '/_authenticate/_inject-org-details/organization/_layout/roles/$roleId' - path: '/roles/$roleId' - fullPath: '/organization/roles/$roleId' - preLoaderRoute: typeof organizationRoleByIDPageRouteImport - parentRoute: typeof organizationLayoutImport - } - '/_authenticate/_inject-org-details/organization/_layout/secret-manager/overview': { - id: '/_authenticate/_inject-org-details/organization/_layout/secret-manager/overview' - path: '/secret-manager/overview' - fullPath: '/organization/secret-manager/overview' - preLoaderRoute: typeof organizationSecretManagerOverviewPageRouteImport - parentRoute: typeof organizationLayoutImport - } - '/_authenticate/_inject-org-details/organization/_layout/ssh/overview': { - id: '/_authenticate/_inject-org-details/organization/_layout/ssh/overview' - path: '/ssh/overview' - fullPath: '/organization/ssh/overview' - preLoaderRoute: typeof organizationSshOverviewPageRouteImport - parentRoute: typeof organizationLayoutImport - } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/allowlist': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/allowlist' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/allowlist': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/allowlist' path: '/allowlist' fullPath: '/secret-manager/$projectId/allowlist' preLoaderRoute: typeof secretManagerIPAllowlistPageRouteImport parentRoute: typeof secretManagerLayoutImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/approval': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/approval' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/approval': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/approval' path: '/approval' fullPath: '/secret-manager/$projectId/approval' preLoaderRoute: typeof secretManagerSecretApprovalsPageRouteImport parentRoute: typeof secretManagerLayoutImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/overview': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/overview' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/overview': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/overview' path: '/overview' fullPath: '/secret-manager/$projectId/overview' preLoaderRoute: typeof secretManagerOverviewPageRouteImport parentRoute: typeof secretManagerLayoutImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/secret-rotation': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/secret-rotation' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/secret-rotation': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/secret-rotation' path: '/secret-rotation' fullPath: '/secret-manager/$projectId/secret-rotation' preLoaderRoute: typeof secretManagerSecretRotationPageRouteImport parentRoute: typeof secretManagerLayoutImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/settings': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/settings' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/settings': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/settings' path: '/settings' fullPath: '/secret-manager/$projectId/settings' preLoaderRoute: typeof secretManagerSettingsPageRouteImport parentRoute: typeof secretManagerLayoutImport } - '/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/overview': { - id: '/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/overview' + '/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/overview': { + id: '/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/overview' path: '/overview' fullPath: '/ssh/$projectId/overview' preLoaderRoute: typeof sshOverviewPageRouteImport parentRoute: typeof sshLayoutImport } - '/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/settings': { - id: '/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/settings' + '/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/settings': { + id: '/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/settings' path: '/settings' fullPath: '/ssh/$projectId/settings' preLoaderRoute: typeof sshSettingsPageRouteImport parentRoute: typeof sshLayoutImport } - '/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/access-management': { - id: '/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/access-management' + '/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/access-management': { + id: '/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/access-management' path: '/access-management' fullPath: '/cert-manager/$projectId/access-management' preLoaderRoute: typeof projectAccessControlPageRouteCertManagerImport parentRoute: typeof certManagerLayoutImport } - '/_authenticate/_inject-org-details/integrations/azure-app-configuration/oauth2/callback': { - id: '/_authenticate/_inject-org-details/integrations/azure-app-configuration/oauth2/callback' + '/_authenticate/_inject-org-details/_org-layout/integrations/azure-app-configuration/oauth2/callback': { + id: '/_authenticate/_inject-org-details/_org-layout/integrations/azure-app-configuration/oauth2/callback' path: '/azure-app-configuration/oauth2/callback' fullPath: '/integrations/azure-app-configuration/oauth2/callback' preLoaderRoute: typeof secretManagerIntegrationsRouteAzureAppConfigurationsOauthRedirectImport - parentRoute: typeof AuthenticateInjectOrgDetailsIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/integrations/azure-key-vault/oauth2/callback': { - id: '/_authenticate/_inject-org-details/integrations/azure-key-vault/oauth2/callback' + '/_authenticate/_inject-org-details/_org-layout/integrations/azure-key-vault/oauth2/callback': { + id: '/_authenticate/_inject-org-details/_org-layout/integrations/azure-key-vault/oauth2/callback' path: '/azure-key-vault/oauth2/callback' fullPath: '/integrations/azure-key-vault/oauth2/callback' preLoaderRoute: typeof secretManagerIntegrationsRouteAzureKeyVaultOauthRedirectImport - parentRoute: typeof AuthenticateInjectOrgDetailsIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/integrations/bitbucket/oauth2/callback': { - id: '/_authenticate/_inject-org-details/integrations/bitbucket/oauth2/callback' + '/_authenticate/_inject-org-details/_org-layout/integrations/bitbucket/oauth2/callback': { + id: '/_authenticate/_inject-org-details/_org-layout/integrations/bitbucket/oauth2/callback' path: '/bitbucket/oauth2/callback' fullPath: '/integrations/bitbucket/oauth2/callback' preLoaderRoute: typeof secretManagerIntegrationsRouteBitbucketOauthRedirectImport - parentRoute: typeof AuthenticateInjectOrgDetailsIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/integrations/gcp-secret-manager/oauth2/callback': { - id: '/_authenticate/_inject-org-details/integrations/gcp-secret-manager/oauth2/callback' + '/_authenticate/_inject-org-details/_org-layout/integrations/gcp-secret-manager/oauth2/callback': { + id: '/_authenticate/_inject-org-details/_org-layout/integrations/gcp-secret-manager/oauth2/callback' path: '/gcp-secret-manager/oauth2/callback' fullPath: '/integrations/gcp-secret-manager/oauth2/callback' preLoaderRoute: typeof secretManagerIntegrationsRouteGcpOauthRedirectImport - parentRoute: typeof AuthenticateInjectOrgDetailsIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/integrations/github/oauth2/callback': { - id: '/_authenticate/_inject-org-details/integrations/github/oauth2/callback' + '/_authenticate/_inject-org-details/_org-layout/integrations/github/oauth2/callback': { + id: '/_authenticate/_inject-org-details/_org-layout/integrations/github/oauth2/callback' path: '/github/oauth2/callback' fullPath: '/integrations/github/oauth2/callback' preLoaderRoute: typeof secretManagerIntegrationsRouteGithubOauthRedirectImport - parentRoute: typeof AuthenticateInjectOrgDetailsIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/integrations/gitlab/oauth2/callback': { - id: '/_authenticate/_inject-org-details/integrations/gitlab/oauth2/callback' + '/_authenticate/_inject-org-details/_org-layout/integrations/gitlab/oauth2/callback': { + id: '/_authenticate/_inject-org-details/_org-layout/integrations/gitlab/oauth2/callback' path: '/gitlab/oauth2/callback' fullPath: '/integrations/gitlab/oauth2/callback' preLoaderRoute: typeof secretManagerIntegrationsRouteGitlabOauthRedirectImport - parentRoute: typeof AuthenticateInjectOrgDetailsIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/integrations/heroku/oauth2/callback': { - id: '/_authenticate/_inject-org-details/integrations/heroku/oauth2/callback' + '/_authenticate/_inject-org-details/_org-layout/integrations/heroku/oauth2/callback': { + id: '/_authenticate/_inject-org-details/_org-layout/integrations/heroku/oauth2/callback' path: '/heroku/oauth2/callback' fullPath: '/integrations/heroku/oauth2/callback' preLoaderRoute: typeof secretManagerIntegrationsRouteHerokuOauthRedirectImport - parentRoute: typeof AuthenticateInjectOrgDetailsIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/integrations/netlify/oauth2/callback': { - id: '/_authenticate/_inject-org-details/integrations/netlify/oauth2/callback' + '/_authenticate/_inject-org-details/_org-layout/integrations/netlify/oauth2/callback': { + id: '/_authenticate/_inject-org-details/_org-layout/integrations/netlify/oauth2/callback' path: '/netlify/oauth2/callback' fullPath: '/integrations/netlify/oauth2/callback' preLoaderRoute: typeof secretManagerIntegrationsRouteNetlifyOauthRedirectImport - parentRoute: typeof AuthenticateInjectOrgDetailsIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/integrations/vercel/oauth2/callback': { - id: '/_authenticate/_inject-org-details/integrations/vercel/oauth2/callback' + '/_authenticate/_inject-org-details/_org-layout/integrations/vercel/oauth2/callback': { + id: '/_authenticate/_inject-org-details/_org-layout/integrations/vercel/oauth2/callback' path: '/vercel/oauth2/callback' fullPath: '/integrations/vercel/oauth2/callback' preLoaderRoute: typeof secretManagerIntegrationsRouteVercelOauthRedirectImport - parentRoute: typeof AuthenticateInjectOrgDetailsIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/kms/$projectId/_kms-layout/access-management': { - id: '/_authenticate/_inject-org-details/kms/$projectId/_kms-layout/access-management' + '/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout/access-management': { + id: '/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout/access-management' path: '/access-management' fullPath: '/kms/$projectId/access-management' preLoaderRoute: typeof projectAccessControlPageRouteKmsImport parentRoute: typeof kmsLayoutImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/access-management': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/access-management' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/access-management': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/access-management' path: '/access-management' fullPath: '/secret-manager/$projectId/access-management' preLoaderRoute: typeof projectAccessControlPageRouteSecretManagerImport parentRoute: typeof secretManagerLayoutImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations' path: '/integrations' fullPath: '/secret-manager/$projectId/integrations' - preLoaderRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + preLoaderRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport parentRoute: typeof secretManagerLayoutImport } - '/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/access-management': { - id: '/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/access-management' + '/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/access-management': { + id: '/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/access-management' path: '/access-management' fullPath: '/ssh/$projectId/access-management' preLoaderRoute: typeof projectAccessControlPageRouteSshImport parentRoute: typeof sshLayoutImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/' path: '/' fullPath: '/secret-manager/$projectId/integrations/' preLoaderRoute: typeof secretManagerIntegrationsListPageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/ca/$caId': { - id: '/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/ca/$caId' + '/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/ca/$caId': { + id: '/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/ca/$caId' path: '/ca/$caId' fullPath: '/cert-manager/$projectId/ca/$caId' preLoaderRoute: typeof certManagerCertAuthDetailsByIDPageRouteImport parentRoute: typeof certManagerLayoutImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/$integrationId': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/$integrationId' + '/_authenticate/_inject-org-details/_org-layout/organization/app-connections/github/oauth/callback': { + id: '/_authenticate/_inject-org-details/_org-layout/organization/app-connections/github/oauth/callback' + path: '/app-connections/github/oauth/callback' + fullPath: '/organization/app-connections/github/oauth/callback' + preLoaderRoute: typeof organizationAppConnectionsGithubOauthCallbackPageRouteImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationImport + } + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/$integrationId': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/$integrationId' path: '/$integrationId' fullPath: '/secret-manager/$projectId/integrations/$integrationId' preLoaderRoute: typeof secretManagerIntegrationsDetailsByIDPageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/select-integration-auth': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/select-integration-auth' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/select-integration-auth': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/select-integration-auth' path: '/select-integration-auth' fullPath: '/secret-manager/$projectId/integrations/select-integration-auth' preLoaderRoute: typeof secretManagerIntegrationsSelectIntegrationAuthPageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/secrets/$envSlug': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/secrets/$envSlug' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/secrets/$envSlug': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/secrets/$envSlug' path: '/secrets/$envSlug' fullPath: '/secret-manager/$projectId/secrets/$envSlug' preLoaderRoute: typeof secretManagerSecretDashboardPageRouteImport parentRoute: typeof secretManagerLayoutImport } - '/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/ca/$caId': { - id: '/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/ca/$caId' + '/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/ca/$caId': { + id: '/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/ca/$caId' path: '/ca/$caId' fullPath: '/ssh/$projectId/ca/$caId' preLoaderRoute: typeof sshSshCaByIDPageRouteImport parentRoute: typeof sshLayoutImport } - '/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/identities/$identityId': { - id: '/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/identities/$identityId' + '/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/identities/$identityId': { + id: '/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/identities/$identityId' path: '/identities/$identityId' fullPath: '/cert-manager/$projectId/identities/$identityId' preLoaderRoute: typeof projectIdentityDetailsByIDPageRouteCertManagerImport parentRoute: typeof certManagerLayoutImport } - '/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/members/$membershipId': { - id: '/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/members/$membershipId' + '/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/members/$membershipId': { + id: '/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/members/$membershipId' path: '/members/$membershipId' fullPath: '/cert-manager/$projectId/members/$membershipId' preLoaderRoute: typeof projectMemberDetailsByIDPageRouteCertManagerImport parentRoute: typeof certManagerLayoutImport } - '/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/pki-collections/$collectionId': { - id: '/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/pki-collections/$collectionId' + '/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/pki-collections/$collectionId': { + id: '/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/pki-collections/$collectionId' path: '/pki-collections/$collectionId' fullPath: '/cert-manager/$projectId/pki-collections/$collectionId' preLoaderRoute: typeof certManagerPkiCollectionDetailsByIDPageRoutesImport parentRoute: typeof certManagerLayoutImport } - '/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/roles/$roleSlug': { - id: '/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/roles/$roleSlug' + '/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/roles/$roleSlug': { + id: '/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/roles/$roleSlug' path: '/roles/$roleSlug' fullPath: '/cert-manager/$projectId/roles/$roleSlug' preLoaderRoute: typeof projectRoleDetailsBySlugPageRouteCertManagerImport parentRoute: typeof certManagerLayoutImport } - '/_authenticate/_inject-org-details/kms/$projectId/_kms-layout/identities/$identityId': { - id: '/_authenticate/_inject-org-details/kms/$projectId/_kms-layout/identities/$identityId' + '/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout/identities/$identityId': { + id: '/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout/identities/$identityId' path: '/identities/$identityId' fullPath: '/kms/$projectId/identities/$identityId' preLoaderRoute: typeof projectIdentityDetailsByIDPageRouteKmsImport parentRoute: typeof kmsLayoutImport } - '/_authenticate/_inject-org-details/kms/$projectId/_kms-layout/members/$membershipId': { - id: '/_authenticate/_inject-org-details/kms/$projectId/_kms-layout/members/$membershipId' + '/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout/members/$membershipId': { + id: '/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout/members/$membershipId' path: '/members/$membershipId' fullPath: '/kms/$projectId/members/$membershipId' preLoaderRoute: typeof projectMemberDetailsByIDPageRouteKmsImport parentRoute: typeof kmsLayoutImport } - '/_authenticate/_inject-org-details/kms/$projectId/_kms-layout/roles/$roleSlug': { - id: '/_authenticate/_inject-org-details/kms/$projectId/_kms-layout/roles/$roleSlug' + '/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout/roles/$roleSlug': { + id: '/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout/roles/$roleSlug' path: '/roles/$roleSlug' fullPath: '/kms/$projectId/roles/$roleSlug' preLoaderRoute: typeof projectRoleDetailsBySlugPageRouteKmsImport parentRoute: typeof kmsLayoutImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/identities/$identityId': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/identities/$identityId' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/identities/$identityId': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/identities/$identityId' path: '/identities/$identityId' fullPath: '/secret-manager/$projectId/identities/$identityId' preLoaderRoute: typeof projectIdentityDetailsByIDPageRouteSecretManagerImport parentRoute: typeof secretManagerLayoutImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/members/$membershipId': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/members/$membershipId' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/members/$membershipId': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/members/$membershipId' path: '/members/$membershipId' fullPath: '/secret-manager/$projectId/members/$membershipId' preLoaderRoute: typeof projectMemberDetailsByIDPageRouteSecretManagerImport parentRoute: typeof secretManagerLayoutImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/roles/$roleSlug': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/roles/$roleSlug' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/roles/$roleSlug': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/roles/$roleSlug' path: '/roles/$roleSlug' fullPath: '/secret-manager/$projectId/roles/$roleSlug' preLoaderRoute: typeof projectRoleDetailsBySlugPageRouteSecretManagerImport parentRoute: typeof secretManagerLayoutImport } - '/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/identities/$identityId': { - id: '/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/identities/$identityId' + '/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/identities/$identityId': { + id: '/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/identities/$identityId' path: '/identities/$identityId' fullPath: '/ssh/$projectId/identities/$identityId' preLoaderRoute: typeof projectIdentityDetailsByIDPageRouteSshImport parentRoute: typeof sshLayoutImport } - '/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/members/$membershipId': { - id: '/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/members/$membershipId' + '/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/members/$membershipId': { + id: '/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/members/$membershipId' path: '/members/$membershipId' fullPath: '/ssh/$projectId/members/$membershipId' preLoaderRoute: typeof projectMemberDetailsByIDPageRouteSshImport parentRoute: typeof sshLayoutImport } - '/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/roles/$roleSlug': { - id: '/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/roles/$roleSlug' + '/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/roles/$roleSlug': { + id: '/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/roles/$roleSlug' path: '/roles/$roleSlug' fullPath: '/ssh/$projectId/roles/$roleSlug' preLoaderRoute: typeof projectRoleDetailsBySlugPageRouteSshImport parentRoute: typeof sshLayoutImport } - '/_authenticate/_inject-org-details/organization/_layout/app-connections/github/oauth/callback': { - id: '/_authenticate/_inject-org-details/organization/_layout/app-connections/github/oauth/callback' - path: '/app-connections/github/oauth/callback' - fullPath: '/organization/app-connections/github/oauth/callback' - preLoaderRoute: typeof organizationAppConnectionsGithubOauthCallbackPageRouteImport - parentRoute: typeof organizationLayoutImport - } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/aws-parameter-store/authorize': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/aws-parameter-store/authorize' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/aws-parameter-store/authorize': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/aws-parameter-store/authorize' path: '/aws-parameter-store/authorize' fullPath: '/secret-manager/$projectId/integrations/aws-parameter-store/authorize' preLoaderRoute: typeof secretManagerIntegrationsAwsParameterStoreAuthorizePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/aws-parameter-store/create': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/aws-parameter-store/create' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/aws-parameter-store/create': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/aws-parameter-store/create' path: '/aws-parameter-store/create' fullPath: '/secret-manager/$projectId/integrations/aws-parameter-store/create' preLoaderRoute: typeof secretManagerIntegrationsAwsParameterStoreConfigurePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/aws-secret-manager/authorize': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/aws-secret-manager/authorize' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/aws-secret-manager/authorize': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/aws-secret-manager/authorize' path: '/aws-secret-manager/authorize' fullPath: '/secret-manager/$projectId/integrations/aws-secret-manager/authorize' preLoaderRoute: typeof secretManagerIntegrationsAwsSecretManagerAuthorizePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/aws-secret-manager/create': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/aws-secret-manager/create' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/aws-secret-manager/create': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/aws-secret-manager/create' path: '/aws-secret-manager/create' fullPath: '/secret-manager/$projectId/integrations/aws-secret-manager/create' preLoaderRoute: typeof secretManagerIntegrationsAwsSecretManagerConfigurePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-app-configuration/create': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-app-configuration/create' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-app-configuration/create': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-app-configuration/create' path: '/azure-app-configuration/create' fullPath: '/secret-manager/$projectId/integrations/azure-app-configuration/create' preLoaderRoute: typeof secretManagerIntegrationsAzureAppConfigurationConfigurePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-devops/authorize': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-devops/authorize' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-devops/authorize': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-devops/authorize' path: '/azure-devops/authorize' fullPath: '/secret-manager/$projectId/integrations/azure-devops/authorize' preLoaderRoute: typeof secretManagerIntegrationsAzureDevopsAuthorizePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-devops/create': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-devops/create' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-devops/create': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-devops/create' path: '/azure-devops/create' fullPath: '/secret-manager/$projectId/integrations/azure-devops/create' preLoaderRoute: typeof secretManagerIntegrationsAzureDevopsConfigurePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/authorize': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/authorize' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/authorize': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/authorize' path: '/azure-key-vault/authorize' fullPath: '/secret-manager/$projectId/integrations/azure-key-vault/authorize' preLoaderRoute: typeof secretManagerIntegrationsAzureKeyVaultAuthorizePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/create': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/create' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/create': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/create' path: '/azure-key-vault/create' fullPath: '/secret-manager/$projectId/integrations/azure-key-vault/create' preLoaderRoute: typeof secretManagerIntegrationsAzureKeyVaultConfigurePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/bitbucket/create': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/bitbucket/create' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/bitbucket/create': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/bitbucket/create' path: '/bitbucket/create' fullPath: '/secret-manager/$projectId/integrations/bitbucket/create' preLoaderRoute: typeof secretManagerIntegrationsBitbucketConfigurePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/checkly/authorize': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/checkly/authorize' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/checkly/authorize': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/checkly/authorize' path: '/checkly/authorize' fullPath: '/secret-manager/$projectId/integrations/checkly/authorize' preLoaderRoute: typeof secretManagerIntegrationsChecklyAuthorizePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/checkly/create': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/checkly/create' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/checkly/create': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/checkly/create' path: '/checkly/create' fullPath: '/secret-manager/$projectId/integrations/checkly/create' preLoaderRoute: typeof secretManagerIntegrationsChecklyConfigurePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/circleci/authorize': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/circleci/authorize' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/circleci/authorize': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/circleci/authorize' path: '/circleci/authorize' fullPath: '/secret-manager/$projectId/integrations/circleci/authorize' preLoaderRoute: typeof secretManagerIntegrationsCircleCIAuthorizePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/circleci/create': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/circleci/create' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/circleci/create': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/circleci/create' path: '/circleci/create' fullPath: '/secret-manager/$projectId/integrations/circleci/create' preLoaderRoute: typeof secretManagerIntegrationsCircleCIConfigurePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloud-66/authorize': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloud-66/authorize' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/cloud-66/authorize': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/cloud-66/authorize' path: '/cloud-66/authorize' fullPath: '/secret-manager/$projectId/integrations/cloud-66/authorize' preLoaderRoute: typeof secretManagerIntegrationsCloud66AuthorizePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloud-66/create': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloud-66/create' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/cloud-66/create': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/cloud-66/create' path: '/cloud-66/create' fullPath: '/secret-manager/$projectId/integrations/cloud-66/create' preLoaderRoute: typeof secretManagerIntegrationsCloud66ConfigurePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-pages/authorize': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-pages/authorize' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-pages/authorize': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-pages/authorize' path: '/cloudflare-pages/authorize' fullPath: '/secret-manager/$projectId/integrations/cloudflare-pages/authorize' preLoaderRoute: typeof secretManagerIntegrationsCloudflarePagesAuthorizePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-pages/create': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-pages/create' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-pages/create': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-pages/create' path: '/cloudflare-pages/create' fullPath: '/secret-manager/$projectId/integrations/cloudflare-pages/create' preLoaderRoute: typeof secretManagerIntegrationsCloudflarePagesConfigurePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-workers/authorize': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-workers/authorize' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-workers/authorize': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-workers/authorize' path: '/cloudflare-workers/authorize' fullPath: '/secret-manager/$projectId/integrations/cloudflare-workers/authorize' preLoaderRoute: typeof secretManagerIntegrationsCloudflareWorkersAuthorizePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-workers/create': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-workers/create' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-workers/create': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-workers/create' path: '/cloudflare-workers/create' fullPath: '/secret-manager/$projectId/integrations/cloudflare-workers/create' preLoaderRoute: typeof secretManagerIntegrationsCloudflareWorkersConfigurePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/codefresh/authorize': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/codefresh/authorize' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/codefresh/authorize': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/codefresh/authorize' path: '/codefresh/authorize' fullPath: '/secret-manager/$projectId/integrations/codefresh/authorize' preLoaderRoute: typeof secretManagerIntegrationsCodefreshAuthorizePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/codefresh/create': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/codefresh/create' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/codefresh/create': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/codefresh/create' path: '/codefresh/create' fullPath: '/secret-manager/$projectId/integrations/codefresh/create' preLoaderRoute: typeof secretManagerIntegrationsCodefreshConfigurePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/databricks/authorize': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/databricks/authorize' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/databricks/authorize': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/databricks/authorize' path: '/databricks/authorize' fullPath: '/secret-manager/$projectId/integrations/databricks/authorize' preLoaderRoute: typeof secretManagerIntegrationsDatabricksAuthorizePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/databricks/create': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/databricks/create' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/databricks/create': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/databricks/create' path: '/databricks/create' fullPath: '/secret-manager/$projectId/integrations/databricks/create' preLoaderRoute: typeof secretManagerIntegrationsDatabricksConfigurePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/digital-ocean-app-platform/authorize': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/digital-ocean-app-platform/authorize' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/digital-ocean-app-platform/authorize': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/digital-ocean-app-platform/authorize' path: '/digital-ocean-app-platform/authorize' fullPath: '/secret-manager/$projectId/integrations/digital-ocean-app-platform/authorize' preLoaderRoute: typeof secretManagerIntegrationsDigitalOceanAppPlatformAuthorizePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/digital-ocean-app-platform/create': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/digital-ocean-app-platform/create' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/digital-ocean-app-platform/create': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/digital-ocean-app-platform/create' path: '/digital-ocean-app-platform/create' fullPath: '/secret-manager/$projectId/integrations/digital-ocean-app-platform/create' preLoaderRoute: typeof secretManagerIntegrationsDigitalOceanAppPlatformConfigurePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/flyio/authorize': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/flyio/authorize' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/flyio/authorize': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/flyio/authorize' path: '/flyio/authorize' fullPath: '/secret-manager/$projectId/integrations/flyio/authorize' preLoaderRoute: typeof secretManagerIntegrationsFlyioAuthorizePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/flyio/create': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/flyio/create' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/flyio/create': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/flyio/create' path: '/flyio/create' fullPath: '/secret-manager/$projectId/integrations/flyio/create' preLoaderRoute: typeof secretManagerIntegrationsFlyioConfigurePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/authorize': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/authorize' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/authorize': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/authorize' path: '/gcp-secret-manager/authorize' fullPath: '/secret-manager/$projectId/integrations/gcp-secret-manager/authorize' preLoaderRoute: typeof secretManagerIntegrationsGcpSecretManagerAuthorizePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/create': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/create' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/create': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/create' path: '/gcp-secret-manager/create' fullPath: '/secret-manager/$projectId/integrations/gcp-secret-manager/create' preLoaderRoute: typeof secretManagerIntegrationsGcpSecretManagerConfigurePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/github/auth-mode-selection': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/github/auth-mode-selection' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/github/auth-mode-selection': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/github/auth-mode-selection' path: '/github/auth-mode-selection' fullPath: '/secret-manager/$projectId/integrations/github/auth-mode-selection' preLoaderRoute: typeof secretManagerIntegrationsGithubAuthorizePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/github/create': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/github/create' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/github/create': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/github/create' path: '/github/create' fullPath: '/secret-manager/$projectId/integrations/github/create' preLoaderRoute: typeof secretManagerIntegrationsGithubConfigurePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/authorize': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/authorize' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/authorize': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/authorize' path: '/gitlab/authorize' fullPath: '/secret-manager/$projectId/integrations/gitlab/authorize' preLoaderRoute: typeof secretManagerIntegrationsGitlabAuthorizePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/create': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/create' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/create': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/create' path: '/gitlab/create' fullPath: '/secret-manager/$projectId/integrations/gitlab/create' preLoaderRoute: typeof secretManagerIntegrationsGitlabConfigurePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/hashicorp-vault/authorize': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/hashicorp-vault/authorize' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/hashicorp-vault/authorize': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/hashicorp-vault/authorize' path: '/hashicorp-vault/authorize' fullPath: '/secret-manager/$projectId/integrations/hashicorp-vault/authorize' preLoaderRoute: typeof secretManagerIntegrationsHashicorpVaultAuthorizePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/hashicorp-vault/create': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/hashicorp-vault/create' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/hashicorp-vault/create': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/hashicorp-vault/create' path: '/hashicorp-vault/create' fullPath: '/secret-manager/$projectId/integrations/hashicorp-vault/create' preLoaderRoute: typeof secretManagerIntegrationsHashicorpVaultConfigurePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/hasura-cloud/authorize': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/hasura-cloud/authorize' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/hasura-cloud/authorize': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/hasura-cloud/authorize' path: '/hasura-cloud/authorize' fullPath: '/secret-manager/$projectId/integrations/hasura-cloud/authorize' preLoaderRoute: typeof secretManagerIntegrationsHasuraCloudAuthorizePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/hasura-cloud/create': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/hasura-cloud/create' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/hasura-cloud/create': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/hasura-cloud/create' path: '/hasura-cloud/create' fullPath: '/secret-manager/$projectId/integrations/hasura-cloud/create' preLoaderRoute: typeof secretManagerIntegrationsHasuraCloudConfigurePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/heroku/create': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/heroku/create' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/heroku/create': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/heroku/create' path: '/heroku/create' fullPath: '/secret-manager/$projectId/integrations/heroku/create' preLoaderRoute: typeof secretManagerIntegrationsHerokuConfigurePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/laravel-forge/authorize': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/laravel-forge/authorize' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/laravel-forge/authorize': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/laravel-forge/authorize' path: '/laravel-forge/authorize' fullPath: '/secret-manager/$projectId/integrations/laravel-forge/authorize' preLoaderRoute: typeof secretManagerIntegrationsLaravelForgeAuthorizePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/laravel-forge/create': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/laravel-forge/create' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/laravel-forge/create': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/laravel-forge/create' path: '/laravel-forge/create' fullPath: '/secret-manager/$projectId/integrations/laravel-forge/create' preLoaderRoute: typeof secretManagerIntegrationsLaravelForgeConfigurePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/netlify/create': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/netlify/create' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/netlify/create': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/netlify/create' path: '/netlify/create' fullPath: '/secret-manager/$projectId/integrations/netlify/create' preLoaderRoute: typeof secretManagerIntegrationsNetlifyConfigurePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/northflank/authorize': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/northflank/authorize' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/northflank/authorize': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/northflank/authorize' path: '/northflank/authorize' fullPath: '/secret-manager/$projectId/integrations/northflank/authorize' preLoaderRoute: typeof secretManagerIntegrationsNorthflankAuthorizePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/northflank/create': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/northflank/create' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/northflank/create': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/northflank/create' path: '/northflank/create' fullPath: '/secret-manager/$projectId/integrations/northflank/create' preLoaderRoute: typeof secretManagerIntegrationsNorthflankConfigurePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/octopus-deploy/authorize': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/octopus-deploy/authorize' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/octopus-deploy/authorize': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/octopus-deploy/authorize' path: '/octopus-deploy/authorize' fullPath: '/secret-manager/$projectId/integrations/octopus-deploy/authorize' preLoaderRoute: typeof secretManagerIntegrationsOctopusDeployAuthorizePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/octopus-deploy/create': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/octopus-deploy/create' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/octopus-deploy/create': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/octopus-deploy/create' path: '/octopus-deploy/create' fullPath: '/secret-manager/$projectId/integrations/octopus-deploy/create' preLoaderRoute: typeof secretManagerIntegrationsOctopusDeployConfigurePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/qovery/authorize': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/qovery/authorize' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/qovery/authorize': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/qovery/authorize' path: '/qovery/authorize' fullPath: '/secret-manager/$projectId/integrations/qovery/authorize' preLoaderRoute: typeof secretManagerIntegrationsQoveryAuthorizePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/qovery/create': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/qovery/create' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/qovery/create': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/qovery/create' path: '/qovery/create' fullPath: '/secret-manager/$projectId/integrations/qovery/create' preLoaderRoute: typeof secretManagerIntegrationsQoveryConfigurePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/railway/authorize': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/railway/authorize' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/railway/authorize': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/railway/authorize' path: '/railway/authorize' fullPath: '/secret-manager/$projectId/integrations/railway/authorize' preLoaderRoute: typeof secretManagerIntegrationsRailwayAuthorizePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/railway/create': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/railway/create' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/railway/create': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/railway/create' path: '/railway/create' fullPath: '/secret-manager/$projectId/integrations/railway/create' preLoaderRoute: typeof secretManagerIntegrationsRailwayConfigurePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/render/authorize': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/render/authorize' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/render/authorize': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/render/authorize' path: '/render/authorize' fullPath: '/secret-manager/$projectId/integrations/render/authorize' preLoaderRoute: typeof secretManagerIntegrationsRenderAuthorizePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/render/create': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/render/create' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/render/create': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/render/create' path: '/render/create' fullPath: '/secret-manager/$projectId/integrations/render/create' preLoaderRoute: typeof secretManagerIntegrationsRenderConfigurePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/rundeck/authorize': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/rundeck/authorize' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/rundeck/authorize': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/rundeck/authorize' path: '/rundeck/authorize' fullPath: '/secret-manager/$projectId/integrations/rundeck/authorize' preLoaderRoute: typeof secretManagerIntegrationsRundeckAuthorizePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/rundeck/create': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/rundeck/create' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/rundeck/create': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/rundeck/create' path: '/rundeck/create' fullPath: '/secret-manager/$projectId/integrations/rundeck/create' preLoaderRoute: typeof secretManagerIntegrationsRundeckConfigurePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/supabase/authorize': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/supabase/authorize' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/supabase/authorize': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/supabase/authorize' path: '/supabase/authorize' fullPath: '/secret-manager/$projectId/integrations/supabase/authorize' preLoaderRoute: typeof secretManagerIntegrationsSupabaseAuthorizePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/supabase/create': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/supabase/create' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/supabase/create': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/supabase/create' path: '/supabase/create' fullPath: '/secret-manager/$projectId/integrations/supabase/create' preLoaderRoute: typeof secretManagerIntegrationsSupabaseConfigurePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/teamcity/authorize': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/teamcity/authorize' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/teamcity/authorize': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/teamcity/authorize' path: '/teamcity/authorize' fullPath: '/secret-manager/$projectId/integrations/teamcity/authorize' preLoaderRoute: typeof secretManagerIntegrationsTeamcityAuthorizePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/teamcity/create': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/teamcity/create' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/teamcity/create': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/teamcity/create' path: '/teamcity/create' fullPath: '/secret-manager/$projectId/integrations/teamcity/create' preLoaderRoute: typeof secretManagerIntegrationsTeamcityConfigurePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/terraform-cloud/authorize': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/terraform-cloud/authorize' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/terraform-cloud/authorize': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/terraform-cloud/authorize' path: '/terraform-cloud/authorize' fullPath: '/secret-manager/$projectId/integrations/terraform-cloud/authorize' preLoaderRoute: typeof secretManagerIntegrationsTerraformCloudAuthorizePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/terraform-cloud/create': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/terraform-cloud/create' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/terraform-cloud/create': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/terraform-cloud/create' path: '/terraform-cloud/create' fullPath: '/secret-manager/$projectId/integrations/terraform-cloud/create' preLoaderRoute: typeof secretManagerIntegrationsTerraformCloudConfigurePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/travisci/authorize': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/travisci/authorize' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/travisci/authorize': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/travisci/authorize' path: '/travisci/authorize' fullPath: '/secret-manager/$projectId/integrations/travisci/authorize' preLoaderRoute: typeof secretManagerIntegrationsTravisCIAuthorizePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/travisci/create': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/travisci/create' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/travisci/create': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/travisci/create' path: '/travisci/create' fullPath: '/secret-manager/$projectId/integrations/travisci/create' preLoaderRoute: typeof secretManagerIntegrationsTravisCIConfigurePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/vercel/create': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/vercel/create' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/vercel/create': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/vercel/create' path: '/vercel/create' fullPath: '/secret-manager/$projectId/integrations/vercel/create' preLoaderRoute: typeof secretManagerIntegrationsVercelConfigurePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/windmill/authorize': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/windmill/authorize' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/windmill/authorize': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/windmill/authorize' path: '/windmill/authorize' fullPath: '/secret-manager/$projectId/integrations/windmill/authorize' preLoaderRoute: typeof secretManagerIntegrationsWindmillAuthorizePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/windmill/create': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/windmill/create' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/windmill/create': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/windmill/create' path: '/windmill/create' fullPath: '/secret-manager/$projectId/integrations/windmill/create' preLoaderRoute: typeof secretManagerIntegrationsWindmillConfigurePageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-app-configuration/oauth2/callback': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-app-configuration/oauth2/callback' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-app-configuration/oauth2/callback': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-app-configuration/oauth2/callback' path: '/azure-app-configuration/oauth2/callback' fullPath: '/secret-manager/$projectId/integrations/azure-app-configuration/oauth2/callback' preLoaderRoute: typeof secretManagerIntegrationsAzureAppConfigurationOauthCallbackPageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/oauth2/callback': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/oauth2/callback' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/oauth2/callback': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/oauth2/callback' path: '/azure-key-vault/oauth2/callback' fullPath: '/secret-manager/$projectId/integrations/azure-key-vault/oauth2/callback' preLoaderRoute: typeof secretManagerIntegrationsAzureKeyVaultOauthCallbackPageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/bitbucket/oauth2/callback': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/bitbucket/oauth2/callback' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/bitbucket/oauth2/callback': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/bitbucket/oauth2/callback' path: '/bitbucket/oauth2/callback' fullPath: '/secret-manager/$projectId/integrations/bitbucket/oauth2/callback' preLoaderRoute: typeof secretManagerIntegrationsBitbucketOauthCallbackPageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/oauth2/callback': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/oauth2/callback' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/oauth2/callback': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/oauth2/callback' path: '/gcp-secret-manager/oauth2/callback' fullPath: '/secret-manager/$projectId/integrations/gcp-secret-manager/oauth2/callback' preLoaderRoute: typeof secretManagerIntegrationsGcpSecretManagerOauthCallbackPageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/github/oauth2/callback': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/github/oauth2/callback' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/github/oauth2/callback': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/github/oauth2/callback' path: '/github/oauth2/callback' fullPath: '/secret-manager/$projectId/integrations/github/oauth2/callback' preLoaderRoute: typeof secretManagerIntegrationsGithubOauthCallbackPageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/oauth2/callback': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/oauth2/callback' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/oauth2/callback': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/oauth2/callback' path: '/gitlab/oauth2/callback' fullPath: '/secret-manager/$projectId/integrations/gitlab/oauth2/callback' preLoaderRoute: typeof secretManagerIntegrationsGitlabOauthCallbackPageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/heroku/oauth2/callback': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/heroku/oauth2/callback' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/heroku/oauth2/callback': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/heroku/oauth2/callback' path: '/heroku/oauth2/callback' fullPath: '/secret-manager/$projectId/integrations/heroku/oauth2/callback' preLoaderRoute: typeof secretManagerIntegrationsHerokuOauthCallbackPageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/netlify/oauth2/callback': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/netlify/oauth2/callback' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/netlify/oauth2/callback': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/netlify/oauth2/callback' path: '/netlify/oauth2/callback' fullPath: '/secret-manager/$projectId/integrations/netlify/oauth2/callback' preLoaderRoute: typeof secretManagerIntegrationsNetlifyOauthCallbackPageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/vercel/oauth2/callback': { - id: '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/vercel/oauth2/callback' + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/vercel/oauth2/callback': { + id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/vercel/oauth2/callback' path: '/vercel/oauth2/callback' fullPath: '/secret-manager/$projectId/integrations/vercel/oauth2/callback' preLoaderRoute: typeof secretManagerIntegrationsVercelOauthCallbackPageRouteImport - parentRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsImport } } } // Create and export the route tree -interface adminLayoutRouteChildren { - adminOverviewPageRouteRoute: typeof adminOverviewPageRouteRoute -} - -const adminLayoutRouteChildren: adminLayoutRouteChildren = { - adminOverviewPageRouteRoute: adminOverviewPageRouteRoute, -} - -const adminLayoutRouteWithChildren = adminLayoutRoute._addFileChildren( - adminLayoutRouteChildren, -) - -interface AuthenticateInjectOrgDetailsAdminRouteChildren { - adminLayoutRoute: typeof adminLayoutRouteWithChildren -} - -const AuthenticateInjectOrgDetailsAdminRouteChildren: AuthenticateInjectOrgDetailsAdminRouteChildren = - { - adminLayoutRoute: adminLayoutRouteWithChildren, - } - -const AuthenticateInjectOrgDetailsAdminRouteWithChildren = - AuthenticateInjectOrgDetailsAdminRoute._addFileChildren( - AuthenticateInjectOrgDetailsAdminRouteChildren, - ) - -interface AuthenticateInjectOrgDetailsIntegrationsRouteChildren { +interface AuthenticateInjectOrgDetailsOrgLayoutIntegrationsRouteChildren { secretManagerIntegrationsRouteAzureAppConfigurationsOauthRedirectRoute: typeof secretManagerIntegrationsRouteAzureAppConfigurationsOauthRedirectRoute secretManagerIntegrationsRouteAzureKeyVaultOauthRedirectRoute: typeof secretManagerIntegrationsRouteAzureKeyVaultOauthRedirectRoute secretManagerIntegrationsRouteBitbucketOauthRedirectRoute: typeof secretManagerIntegrationsRouteBitbucketOauthRedirectRoute @@ -2772,7 +2775,7 @@ interface AuthenticateInjectOrgDetailsIntegrationsRouteChildren { secretManagerIntegrationsRouteVercelOauthRedirectRoute: typeof secretManagerIntegrationsRouteVercelOauthRedirectRoute } -const AuthenticateInjectOrgDetailsIntegrationsRouteChildren: AuthenticateInjectOrgDetailsIntegrationsRouteChildren = +const AuthenticateInjectOrgDetailsOrgLayoutIntegrationsRouteChildren: AuthenticateInjectOrgDetailsOrgLayoutIntegrationsRouteChildren = { secretManagerIntegrationsRouteAzureAppConfigurationsOauthRedirectRoute: secretManagerIntegrationsRouteAzureAppConfigurationsOauthRedirectRoute, @@ -2794,12 +2797,12 @@ const AuthenticateInjectOrgDetailsIntegrationsRouteChildren: AuthenticateInjectO secretManagerIntegrationsRouteVercelOauthRedirectRoute, } -const AuthenticateInjectOrgDetailsIntegrationsRouteWithChildren = - AuthenticateInjectOrgDetailsIntegrationsRoute._addFileChildren( - AuthenticateInjectOrgDetailsIntegrationsRouteChildren, +const AuthenticateInjectOrgDetailsOrgLayoutIntegrationsRouteWithChildren = + AuthenticateInjectOrgDetailsOrgLayoutIntegrationsRoute._addFileChildren( + AuthenticateInjectOrgDetailsOrgLayoutIntegrationsRouteChildren, ) -interface organizationLayoutRouteChildren { +interface AuthenticateInjectOrgDetailsOrgLayoutOrganizationRouteChildren { organizationAccessManagementPageRouteRoute: typeof organizationAccessManagementPageRouteRoute organizationAdminPageRouteRoute: typeof organizationAdminPageRouteRoute organizationAuditLogsPageRouteRoute: typeof organizationAuditLogsPageRouteRoute @@ -2819,50 +2822,41 @@ interface organizationLayoutRouteChildren { organizationAppConnectionsGithubOauthCallbackPageRouteRoute: typeof organizationAppConnectionsGithubOauthCallbackPageRouteRoute } -const organizationLayoutRouteChildren: organizationLayoutRouteChildren = { - organizationAccessManagementPageRouteRoute: - organizationAccessManagementPageRouteRoute, - organizationAdminPageRouteRoute: organizationAdminPageRouteRoute, - organizationAuditLogsPageRouteRoute: organizationAuditLogsPageRouteRoute, - organizationBillingPageRouteRoute: organizationBillingPageRouteRoute, - organizationNoOrgPageRouteRoute: organizationNoOrgPageRouteRoute, - organizationSecretScanningPageRouteRoute: - organizationSecretScanningPageRouteRoute, - organizationSecretSharingPageRouteRoute: - organizationSecretSharingPageRouteRoute, - organizationSettingsPageRouteRoute: organizationSettingsPageRouteRoute, - organizationCertManagerOverviewPageRouteRoute: - organizationCertManagerOverviewPageRouteRoute, - organizationGroupDetailsByIDPageRouteRoute: - organizationGroupDetailsByIDPageRouteRoute, - organizationIdentityDetailsByIDPageRouteRoute: - organizationIdentityDetailsByIDPageRouteRoute, - organizationKmsOverviewPageRouteRoute: organizationKmsOverviewPageRouteRoute, - organizationUserDetailsByIDPageRouteRoute: - organizationUserDetailsByIDPageRouteRoute, - organizationRoleByIDPageRouteRoute: organizationRoleByIDPageRouteRoute, - organizationSecretManagerOverviewPageRouteRoute: - organizationSecretManagerOverviewPageRouteRoute, - organizationSshOverviewPageRouteRoute: organizationSshOverviewPageRouteRoute, - organizationAppConnectionsGithubOauthCallbackPageRouteRoute: - organizationAppConnectionsGithubOauthCallbackPageRouteRoute, -} - -const organizationLayoutRouteWithChildren = - organizationLayoutRoute._addFileChildren(organizationLayoutRouteChildren) - -interface AuthenticateInjectOrgDetailsOrganizationRouteChildren { - organizationLayoutRoute: typeof organizationLayoutRouteWithChildren -} - -const AuthenticateInjectOrgDetailsOrganizationRouteChildren: AuthenticateInjectOrgDetailsOrganizationRouteChildren = +const AuthenticateInjectOrgDetailsOrgLayoutOrganizationRouteChildren: AuthenticateInjectOrgDetailsOrgLayoutOrganizationRouteChildren = { - organizationLayoutRoute: organizationLayoutRouteWithChildren, + organizationAccessManagementPageRouteRoute: + organizationAccessManagementPageRouteRoute, + organizationAdminPageRouteRoute: organizationAdminPageRouteRoute, + organizationAuditLogsPageRouteRoute: organizationAuditLogsPageRouteRoute, + organizationBillingPageRouteRoute: organizationBillingPageRouteRoute, + organizationNoOrgPageRouteRoute: organizationNoOrgPageRouteRoute, + organizationSecretScanningPageRouteRoute: + organizationSecretScanningPageRouteRoute, + organizationSecretSharingPageRouteRoute: + organizationSecretSharingPageRouteRoute, + organizationSettingsPageRouteRoute: organizationSettingsPageRouteRoute, + organizationCertManagerOverviewPageRouteRoute: + organizationCertManagerOverviewPageRouteRoute, + organizationGroupDetailsByIDPageRouteRoute: + organizationGroupDetailsByIDPageRouteRoute, + organizationIdentityDetailsByIDPageRouteRoute: + organizationIdentityDetailsByIDPageRouteRoute, + organizationKmsOverviewPageRouteRoute: + organizationKmsOverviewPageRouteRoute, + organizationUserDetailsByIDPageRouteRoute: + organizationUserDetailsByIDPageRouteRoute, + organizationRoleByIDPageRouteRoute: organizationRoleByIDPageRouteRoute, + organizationSecretManagerOverviewPageRouteRoute: + organizationSecretManagerOverviewPageRouteRoute, + organizationSshOverviewPageRouteRoute: + organizationSshOverviewPageRouteRoute, + organizationAppConnectionsGithubOauthCallbackPageRouteRoute: + organizationAppConnectionsGithubOauthCallbackPageRouteRoute, } -const AuthenticateInjectOrgDetailsOrganizationRouteWithChildren = - AuthenticateInjectOrgDetailsOrganizationRoute._addFileChildren( - AuthenticateInjectOrgDetailsOrganizationRouteChildren, +const AuthenticateInjectOrgDetailsOrgLayoutOrganizationRouteWithChildren = + AuthenticateInjectOrgDetailsOrgLayoutOrganizationRoute._addFileChildren( + AuthenticateInjectOrgDetailsOrgLayoutOrganizationRouteChildren, ) interface certManagerLayoutRouteChildren { @@ -2896,18 +2890,18 @@ const certManagerLayoutRouteChildren: certManagerLayoutRouteChildren = { const certManagerLayoutRouteWithChildren = certManagerLayoutRoute._addFileChildren(certManagerLayoutRouteChildren) -interface AuthenticateInjectOrgDetailsCertManagerProjectIdRouteChildren { +interface AuthenticateInjectOrgDetailsOrgLayoutCertManagerProjectIdRouteChildren { certManagerLayoutRoute: typeof certManagerLayoutRouteWithChildren } -const AuthenticateInjectOrgDetailsCertManagerProjectIdRouteChildren: AuthenticateInjectOrgDetailsCertManagerProjectIdRouteChildren = +const AuthenticateInjectOrgDetailsOrgLayoutCertManagerProjectIdRouteChildren: AuthenticateInjectOrgDetailsOrgLayoutCertManagerProjectIdRouteChildren = { certManagerLayoutRoute: certManagerLayoutRouteWithChildren, } -const AuthenticateInjectOrgDetailsCertManagerProjectIdRouteWithChildren = - AuthenticateInjectOrgDetailsCertManagerProjectIdRoute._addFileChildren( - AuthenticateInjectOrgDetailsCertManagerProjectIdRouteChildren, +const AuthenticateInjectOrgDetailsOrgLayoutCertManagerProjectIdRouteWithChildren = + AuthenticateInjectOrgDetailsOrgLayoutCertManagerProjectIdRoute._addFileChildren( + AuthenticateInjectOrgDetailsOrgLayoutCertManagerProjectIdRouteChildren, ) interface kmsLayoutRouteChildren { @@ -2935,21 +2929,21 @@ const kmsLayoutRouteWithChildren = kmsLayoutRoute._addFileChildren( kmsLayoutRouteChildren, ) -interface AuthenticateInjectOrgDetailsKmsProjectIdRouteChildren { +interface AuthenticateInjectOrgDetailsOrgLayoutKmsProjectIdRouteChildren { kmsLayoutRoute: typeof kmsLayoutRouteWithChildren } -const AuthenticateInjectOrgDetailsKmsProjectIdRouteChildren: AuthenticateInjectOrgDetailsKmsProjectIdRouteChildren = +const AuthenticateInjectOrgDetailsOrgLayoutKmsProjectIdRouteChildren: AuthenticateInjectOrgDetailsOrgLayoutKmsProjectIdRouteChildren = { kmsLayoutRoute: kmsLayoutRouteWithChildren, } -const AuthenticateInjectOrgDetailsKmsProjectIdRouteWithChildren = - AuthenticateInjectOrgDetailsKmsProjectIdRoute._addFileChildren( - AuthenticateInjectOrgDetailsKmsProjectIdRouteChildren, +const AuthenticateInjectOrgDetailsOrgLayoutKmsProjectIdRouteWithChildren = + AuthenticateInjectOrgDetailsOrgLayoutKmsProjectIdRoute._addFileChildren( + AuthenticateInjectOrgDetailsOrgLayoutKmsProjectIdRouteChildren, ) -interface AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRouteChildren { +interface AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRouteChildren { secretManagerIntegrationsListPageRouteRoute: typeof secretManagerIntegrationsListPageRouteRoute secretManagerIntegrationsDetailsByIDPageRouteRoute: typeof secretManagerIntegrationsDetailsByIDPageRouteRoute secretManagerIntegrationsSelectIntegrationAuthPageRouteRoute: typeof secretManagerIntegrationsSelectIntegrationAuthPageRouteRoute @@ -3029,7 +3023,7 @@ interface AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutI secretManagerIntegrationsVercelOauthCallbackPageRouteRoute: typeof secretManagerIntegrationsVercelOauthCallbackPageRouteRoute } -const AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRouteChildren: AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRouteChildren = +const AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRouteChildren: AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRouteChildren = { secretManagerIntegrationsListPageRouteRoute: secretManagerIntegrationsListPageRouteRoute, @@ -3187,9 +3181,9 @@ const AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutInteg secretManagerIntegrationsVercelOauthCallbackPageRouteRoute, } -const AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRouteWithChildren = - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute._addFileChildren( - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRouteChildren, +const AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRouteWithChildren = + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute._addFileChildren( + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRouteChildren, ) interface secretManagerLayoutRouteChildren { @@ -3199,7 +3193,7 @@ interface secretManagerLayoutRouteChildren { secretManagerSecretRotationPageRouteRoute: typeof secretManagerSecretRotationPageRouteRoute secretManagerSettingsPageRouteRoute: typeof secretManagerSettingsPageRouteRoute projectAccessControlPageRouteSecretManagerRoute: typeof projectAccessControlPageRouteSecretManagerRoute - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRouteWithChildren + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRouteWithChildren secretManagerSecretDashboardPageRouteRoute: typeof secretManagerSecretDashboardPageRouteRoute projectIdentityDetailsByIDPageRouteSecretManagerRoute: typeof projectIdentityDetailsByIDPageRouteSecretManagerRoute projectMemberDetailsByIDPageRouteSecretManagerRoute: typeof projectMemberDetailsByIDPageRouteSecretManagerRoute @@ -3217,8 +3211,8 @@ const secretManagerLayoutRouteChildren: secretManagerLayoutRouteChildren = { secretManagerSettingsPageRouteRoute: secretManagerSettingsPageRouteRoute, projectAccessControlPageRouteSecretManagerRoute: projectAccessControlPageRouteSecretManagerRoute, - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute: - AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRouteWithChildren, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRoute: + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRouteWithChildren, secretManagerSecretDashboardPageRouteRoute: secretManagerSecretDashboardPageRouteRoute, projectIdentityDetailsByIDPageRouteSecretManagerRoute: @@ -3232,18 +3226,18 @@ const secretManagerLayoutRouteChildren: secretManagerLayoutRouteChildren = { const secretManagerLayoutRouteWithChildren = secretManagerLayoutRoute._addFileChildren(secretManagerLayoutRouteChildren) -interface AuthenticateInjectOrgDetailsSecretManagerProjectIdRouteChildren { +interface AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdRouteChildren { secretManagerLayoutRoute: typeof secretManagerLayoutRouteWithChildren } -const AuthenticateInjectOrgDetailsSecretManagerProjectIdRouteChildren: AuthenticateInjectOrgDetailsSecretManagerProjectIdRouteChildren = +const AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdRouteChildren: AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdRouteChildren = { secretManagerLayoutRoute: secretManagerLayoutRouteWithChildren, } -const AuthenticateInjectOrgDetailsSecretManagerProjectIdRouteWithChildren = - AuthenticateInjectOrgDetailsSecretManagerProjectIdRoute._addFileChildren( - AuthenticateInjectOrgDetailsSecretManagerProjectIdRouteChildren, +const AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdRouteWithChildren = + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdRoute._addFileChildren( + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdRouteChildren, ) interface sshLayoutRouteChildren { @@ -3273,46 +3267,83 @@ const sshLayoutRouteWithChildren = sshLayoutRoute._addFileChildren( sshLayoutRouteChildren, ) -interface AuthenticateInjectOrgDetailsSshProjectIdRouteChildren { +interface AuthenticateInjectOrgDetailsOrgLayoutSshProjectIdRouteChildren { sshLayoutRoute: typeof sshLayoutRouteWithChildren } -const AuthenticateInjectOrgDetailsSshProjectIdRouteChildren: AuthenticateInjectOrgDetailsSshProjectIdRouteChildren = +const AuthenticateInjectOrgDetailsOrgLayoutSshProjectIdRouteChildren: AuthenticateInjectOrgDetailsOrgLayoutSshProjectIdRouteChildren = { sshLayoutRoute: sshLayoutRouteWithChildren, } -const AuthenticateInjectOrgDetailsSshProjectIdRouteWithChildren = - AuthenticateInjectOrgDetailsSshProjectIdRoute._addFileChildren( - AuthenticateInjectOrgDetailsSshProjectIdRouteChildren, +const AuthenticateInjectOrgDetailsOrgLayoutSshProjectIdRouteWithChildren = + AuthenticateInjectOrgDetailsOrgLayoutSshProjectIdRoute._addFileChildren( + AuthenticateInjectOrgDetailsOrgLayoutSshProjectIdRouteChildren, + ) + +interface organizationLayoutRouteChildren { + AuthenticateInjectOrgDetailsOrgLayoutIntegrationsRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutIntegrationsRouteWithChildren + AuthenticateInjectOrgDetailsOrgLayoutOrganizationRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationRouteWithChildren + AuthenticateInjectOrgDetailsOrgLayoutCertManagerProjectIdRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutCertManagerProjectIdRouteWithChildren + AuthenticateInjectOrgDetailsOrgLayoutKmsProjectIdRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutKmsProjectIdRouteWithChildren + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdRouteWithChildren + AuthenticateInjectOrgDetailsOrgLayoutSshProjectIdRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSshProjectIdRouteWithChildren +} + +const organizationLayoutRouteChildren: organizationLayoutRouteChildren = { + AuthenticateInjectOrgDetailsOrgLayoutIntegrationsRoute: + AuthenticateInjectOrgDetailsOrgLayoutIntegrationsRouteWithChildren, + AuthenticateInjectOrgDetailsOrgLayoutOrganizationRoute: + AuthenticateInjectOrgDetailsOrgLayoutOrganizationRouteWithChildren, + AuthenticateInjectOrgDetailsOrgLayoutCertManagerProjectIdRoute: + AuthenticateInjectOrgDetailsOrgLayoutCertManagerProjectIdRouteWithChildren, + AuthenticateInjectOrgDetailsOrgLayoutKmsProjectIdRoute: + AuthenticateInjectOrgDetailsOrgLayoutKmsProjectIdRouteWithChildren, + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdRoute: + AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdRouteWithChildren, + AuthenticateInjectOrgDetailsOrgLayoutSshProjectIdRoute: + AuthenticateInjectOrgDetailsOrgLayoutSshProjectIdRouteWithChildren, +} + +const organizationLayoutRouteWithChildren = + organizationLayoutRoute._addFileChildren(organizationLayoutRouteChildren) + +interface adminLayoutRouteChildren { + adminOverviewPageRouteRoute: typeof adminOverviewPageRouteRoute +} + +const adminLayoutRouteChildren: adminLayoutRouteChildren = { + adminOverviewPageRouteRoute: adminOverviewPageRouteRoute, +} + +const adminLayoutRouteWithChildren = adminLayoutRoute._addFileChildren( + adminLayoutRouteChildren, +) + +interface AuthenticateInjectOrgDetailsAdminRouteChildren { + adminLayoutRoute: typeof adminLayoutRouteWithChildren +} + +const AuthenticateInjectOrgDetailsAdminRouteChildren: AuthenticateInjectOrgDetailsAdminRouteChildren = + { + adminLayoutRoute: adminLayoutRouteWithChildren, + } + +const AuthenticateInjectOrgDetailsAdminRouteWithChildren = + AuthenticateInjectOrgDetailsAdminRoute._addFileChildren( + AuthenticateInjectOrgDetailsAdminRouteChildren, ) interface middlewaresInjectOrgDetailsRouteChildren { + organizationLayoutRoute: typeof organizationLayoutRouteWithChildren AuthenticateInjectOrgDetailsAdminRoute: typeof AuthenticateInjectOrgDetailsAdminRouteWithChildren - AuthenticateInjectOrgDetailsIntegrationsRoute: typeof AuthenticateInjectOrgDetailsIntegrationsRouteWithChildren - AuthenticateInjectOrgDetailsOrganizationRoute: typeof AuthenticateInjectOrgDetailsOrganizationRouteWithChildren - AuthenticateInjectOrgDetailsCertManagerProjectIdRoute: typeof AuthenticateInjectOrgDetailsCertManagerProjectIdRouteWithChildren - AuthenticateInjectOrgDetailsKmsProjectIdRoute: typeof AuthenticateInjectOrgDetailsKmsProjectIdRouteWithChildren - AuthenticateInjectOrgDetailsSecretManagerProjectIdRoute: typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdRouteWithChildren - AuthenticateInjectOrgDetailsSshProjectIdRoute: typeof AuthenticateInjectOrgDetailsSshProjectIdRouteWithChildren } const middlewaresInjectOrgDetailsRouteChildren: middlewaresInjectOrgDetailsRouteChildren = { + organizationLayoutRoute: organizationLayoutRouteWithChildren, AuthenticateInjectOrgDetailsAdminRoute: AuthenticateInjectOrgDetailsAdminRouteWithChildren, - AuthenticateInjectOrgDetailsIntegrationsRoute: - AuthenticateInjectOrgDetailsIntegrationsRouteWithChildren, - AuthenticateInjectOrgDetailsOrganizationRoute: - AuthenticateInjectOrgDetailsOrganizationRouteWithChildren, - AuthenticateInjectOrgDetailsCertManagerProjectIdRoute: - AuthenticateInjectOrgDetailsCertManagerProjectIdRouteWithChildren, - AuthenticateInjectOrgDetailsKmsProjectIdRoute: - AuthenticateInjectOrgDetailsKmsProjectIdRouteWithChildren, - AuthenticateInjectOrgDetailsSecretManagerProjectIdRoute: - AuthenticateInjectOrgDetailsSecretManagerProjectIdRouteWithChildren, - AuthenticateInjectOrgDetailsSshProjectIdRoute: - AuthenticateInjectOrgDetailsSshProjectIdRouteWithChildren, } const middlewaresInjectOrgDetailsRouteWithChildren = @@ -3436,7 +3467,7 @@ export interface FileRoutesByFullPath { '/': typeof indexRoute '/cli-redirect': typeof authCliRedirectPageRouteRoute '/share-secret': typeof publicShareSecretPageRouteRoute - '': typeof middlewaresInjectOrgDetailsRouteWithChildren + '': typeof organizationLayoutRouteWithChildren '/email-not-verified': typeof authEmailNotVerifiedPageRouteRoute '/password-reset': typeof authPasswordResetPageRouteRoute '/requestnewinvite': typeof authRequestNewInvitePageRouteRoute @@ -3454,15 +3485,11 @@ export interface FileRoutesByFullPath { '/signup/sso': typeof authSignUpSsoPageRouteRoute '/shared/secret/$secretId': typeof publicViewSharedSecretByIDPageRouteRoute '/admin': typeof adminLayoutRouteWithChildren - '/integrations': typeof AuthenticateInjectOrgDetailsIntegrationsRouteWithChildren - '/organization': typeof organizationLayoutRouteWithChildren '/personal-settings/': typeof userPersonalSettingsPageRouteRoute '/login/provider/error': typeof authProviderErrorPageRouteRoute '/login/provider/success': typeof authProviderSuccessPageRouteRoute - '/cert-manager/$projectId': typeof certManagerLayoutRouteWithChildren - '/kms/$projectId': typeof kmsLayoutRouteWithChildren - '/secret-manager/$projectId': typeof secretManagerLayoutRouteWithChildren - '/ssh/$projectId': typeof sshLayoutRouteWithChildren + '/integrations': typeof AuthenticateInjectOrgDetailsOrgLayoutIntegrationsRouteWithChildren + '/organization': typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationRouteWithChildren '/admin/': typeof adminOverviewPageRouteRoute '/organization/access-management': typeof organizationAccessManagementPageRouteRoute '/organization/admin': typeof organizationAdminPageRouteRoute @@ -3472,10 +3499,10 @@ export interface FileRoutesByFullPath { '/organization/secret-scanning': typeof organizationSecretScanningPageRouteRoute '/organization/secret-sharing': typeof organizationSecretSharingPageRouteRoute '/organization/settings': typeof organizationSettingsPageRouteRoute - '/cert-manager/$projectId/overview': typeof certManagerCertificatesPageRouteRoute - '/cert-manager/$projectId/settings': typeof certManagerSettingsPageRouteRoute - '/kms/$projectId/overview': typeof kmsOverviewPageRouteRoute - '/kms/$projectId/settings': typeof kmsSettingsPageRouteRoute + '/cert-manager/$projectId': typeof certManagerLayoutRouteWithChildren + '/kms/$projectId': typeof kmsLayoutRouteWithChildren + '/secret-manager/$projectId': typeof secretManagerLayoutRouteWithChildren + '/ssh/$projectId': typeof sshLayoutRouteWithChildren '/organization/cert-manager/overview': typeof organizationCertManagerOverviewPageRouteRoute '/organization/groups/$groupId': typeof organizationGroupDetailsByIDPageRouteRoute '/organization/identities/$identityId': typeof organizationIdentityDetailsByIDPageRouteRoute @@ -3484,6 +3511,10 @@ export interface FileRoutesByFullPath { '/organization/roles/$roleId': typeof organizationRoleByIDPageRouteRoute '/organization/secret-manager/overview': typeof organizationSecretManagerOverviewPageRouteRoute '/organization/ssh/overview': typeof organizationSshOverviewPageRouteRoute + '/cert-manager/$projectId/overview': typeof certManagerCertificatesPageRouteRoute + '/cert-manager/$projectId/settings': typeof certManagerSettingsPageRouteRoute + '/kms/$projectId/overview': typeof kmsOverviewPageRouteRoute + '/kms/$projectId/settings': typeof kmsSettingsPageRouteRoute '/secret-manager/$projectId/allowlist': typeof secretManagerIPAllowlistPageRouteRoute '/secret-manager/$projectId/approval': typeof secretManagerSecretApprovalsPageRouteRoute '/secret-manager/$projectId/overview': typeof secretManagerOverviewPageRouteRoute @@ -3503,10 +3534,11 @@ export interface FileRoutesByFullPath { '/integrations/vercel/oauth2/callback': typeof secretManagerIntegrationsRouteVercelOauthRedirectRoute '/kms/$projectId/access-management': typeof projectAccessControlPageRouteKmsRoute '/secret-manager/$projectId/access-management': typeof projectAccessControlPageRouteSecretManagerRoute - '/secret-manager/$projectId/integrations': typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRouteWithChildren + '/secret-manager/$projectId/integrations': typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRouteWithChildren '/ssh/$projectId/access-management': typeof projectAccessControlPageRouteSshRoute '/secret-manager/$projectId/integrations/': typeof secretManagerIntegrationsListPageRouteRoute '/cert-manager/$projectId/ca/$caId': typeof certManagerCertAuthDetailsByIDPageRouteRoute + '/organization/app-connections/github/oauth/callback': typeof organizationAppConnectionsGithubOauthCallbackPageRouteRoute '/secret-manager/$projectId/integrations/$integrationId': typeof secretManagerIntegrationsDetailsByIDPageRouteRoute '/secret-manager/$projectId/integrations/select-integration-auth': typeof secretManagerIntegrationsSelectIntegrationAuthPageRouteRoute '/secret-manager/$projectId/secrets/$envSlug': typeof secretManagerSecretDashboardPageRouteRoute @@ -3524,7 +3556,6 @@ export interface FileRoutesByFullPath { '/ssh/$projectId/identities/$identityId': typeof projectIdentityDetailsByIDPageRouteSshRoute '/ssh/$projectId/members/$membershipId': typeof projectMemberDetailsByIDPageRouteSshRoute '/ssh/$projectId/roles/$roleSlug': typeof projectRoleDetailsBySlugPageRouteSshRoute - '/organization/app-connections/github/oauth/callback': typeof organizationAppConnectionsGithubOauthCallbackPageRouteRoute '/secret-manager/$projectId/integrations/aws-parameter-store/authorize': typeof secretManagerIntegrationsAwsParameterStoreAuthorizePageRouteRoute '/secret-manager/$projectId/integrations/aws-parameter-store/create': typeof secretManagerIntegrationsAwsParameterStoreConfigurePageRouteRoute '/secret-manager/$projectId/integrations/aws-secret-manager/authorize': typeof secretManagerIntegrationsAwsSecretManagerAuthorizePageRouteRoute @@ -3605,7 +3636,7 @@ export interface FileRoutesByTo { '/': typeof indexRoute '/cli-redirect': typeof authCliRedirectPageRouteRoute '/share-secret': typeof publicShareSecretPageRouteRoute - '': typeof middlewaresInjectOrgDetailsRouteWithChildren + '': typeof organizationLayoutRouteWithChildren '/email-not-verified': typeof authEmailNotVerifiedPageRouteRoute '/password-reset': typeof authPasswordResetPageRouteRoute '/requestnewinvite': typeof authRequestNewInvitePageRouteRoute @@ -3621,14 +3652,10 @@ export interface FileRoutesByTo { '/signup/sso': typeof authSignUpSsoPageRouteRoute '/shared/secret/$secretId': typeof publicViewSharedSecretByIDPageRouteRoute '/admin': typeof adminOverviewPageRouteRoute - '/integrations': typeof AuthenticateInjectOrgDetailsIntegrationsRouteWithChildren - '/organization': typeof organizationLayoutRouteWithChildren '/login/provider/error': typeof authProviderErrorPageRouteRoute '/login/provider/success': typeof authProviderSuccessPageRouteRoute - '/cert-manager/$projectId': typeof certManagerLayoutRouteWithChildren - '/kms/$projectId': typeof kmsLayoutRouteWithChildren - '/secret-manager/$projectId': typeof secretManagerLayoutRouteWithChildren - '/ssh/$projectId': typeof sshLayoutRouteWithChildren + '/integrations': typeof AuthenticateInjectOrgDetailsOrgLayoutIntegrationsRouteWithChildren + '/organization': typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationRouteWithChildren '/organization/access-management': typeof organizationAccessManagementPageRouteRoute '/organization/admin': typeof organizationAdminPageRouteRoute '/organization/audit-logs': typeof organizationAuditLogsPageRouteRoute @@ -3637,10 +3664,10 @@ export interface FileRoutesByTo { '/organization/secret-scanning': typeof organizationSecretScanningPageRouteRoute '/organization/secret-sharing': typeof organizationSecretSharingPageRouteRoute '/organization/settings': typeof organizationSettingsPageRouteRoute - '/cert-manager/$projectId/overview': typeof certManagerCertificatesPageRouteRoute - '/cert-manager/$projectId/settings': typeof certManagerSettingsPageRouteRoute - '/kms/$projectId/overview': typeof kmsOverviewPageRouteRoute - '/kms/$projectId/settings': typeof kmsSettingsPageRouteRoute + '/cert-manager/$projectId': typeof certManagerLayoutRouteWithChildren + '/kms/$projectId': typeof kmsLayoutRouteWithChildren + '/secret-manager/$projectId': typeof secretManagerLayoutRouteWithChildren + '/ssh/$projectId': typeof sshLayoutRouteWithChildren '/organization/cert-manager/overview': typeof organizationCertManagerOverviewPageRouteRoute '/organization/groups/$groupId': typeof organizationGroupDetailsByIDPageRouteRoute '/organization/identities/$identityId': typeof organizationIdentityDetailsByIDPageRouteRoute @@ -3649,6 +3676,10 @@ export interface FileRoutesByTo { '/organization/roles/$roleId': typeof organizationRoleByIDPageRouteRoute '/organization/secret-manager/overview': typeof organizationSecretManagerOverviewPageRouteRoute '/organization/ssh/overview': typeof organizationSshOverviewPageRouteRoute + '/cert-manager/$projectId/overview': typeof certManagerCertificatesPageRouteRoute + '/cert-manager/$projectId/settings': typeof certManagerSettingsPageRouteRoute + '/kms/$projectId/overview': typeof kmsOverviewPageRouteRoute + '/kms/$projectId/settings': typeof kmsSettingsPageRouteRoute '/secret-manager/$projectId/allowlist': typeof secretManagerIPAllowlistPageRouteRoute '/secret-manager/$projectId/approval': typeof secretManagerSecretApprovalsPageRouteRoute '/secret-manager/$projectId/overview': typeof secretManagerOverviewPageRouteRoute @@ -3671,6 +3702,7 @@ export interface FileRoutesByTo { '/ssh/$projectId/access-management': typeof projectAccessControlPageRouteSshRoute '/secret-manager/$projectId/integrations': typeof secretManagerIntegrationsListPageRouteRoute '/cert-manager/$projectId/ca/$caId': typeof certManagerCertAuthDetailsByIDPageRouteRoute + '/organization/app-connections/github/oauth/callback': typeof organizationAppConnectionsGithubOauthCallbackPageRouteRoute '/secret-manager/$projectId/integrations/$integrationId': typeof secretManagerIntegrationsDetailsByIDPageRouteRoute '/secret-manager/$projectId/integrations/select-integration-auth': typeof secretManagerIntegrationsSelectIntegrationAuthPageRouteRoute '/secret-manager/$projectId/secrets/$envSlug': typeof secretManagerSecretDashboardPageRouteRoute @@ -3688,7 +3720,6 @@ export interface FileRoutesByTo { '/ssh/$projectId/identities/$identityId': typeof projectIdentityDetailsByIDPageRouteSshRoute '/ssh/$projectId/members/$membershipId': typeof projectMemberDetailsByIDPageRouteSshRoute '/ssh/$projectId/roles/$roleSlug': typeof projectRoleDetailsBySlugPageRouteSshRoute - '/organization/app-connections/github/oauth/callback': typeof organizationAppConnectionsGithubOauthCallbackPageRouteRoute '/secret-manager/$projectId/integrations/aws-parameter-store/authorize': typeof secretManagerIntegrationsAwsParameterStoreAuthorizePageRouteRoute '/secret-manager/$projectId/integrations/aws-parameter-store/create': typeof secretManagerIntegrationsAwsParameterStoreConfigurePageRouteRoute '/secret-manager/$projectId/integrations/aws-secret-manager/authorize': typeof secretManagerIntegrationsAwsSecretManagerAuthorizePageRouteRoute @@ -3789,159 +3820,159 @@ export interface FileRoutesById { '/_restrict-login-signup/login/sso': typeof authLoginSsoPageRouteRoute '/_restrict-login-signup/signup/sso': typeof authSignUpSsoPageRouteRoute '/shared/secret/$secretId': typeof publicViewSharedSecretByIDPageRouteRoute + '/_authenticate/_inject-org-details/_org-layout': typeof organizationLayoutRouteWithChildren '/_authenticate/_inject-org-details/admin': typeof AuthenticateInjectOrgDetailsAdminRouteWithChildren - '/_authenticate/_inject-org-details/integrations': typeof AuthenticateInjectOrgDetailsIntegrationsRouteWithChildren - '/_authenticate/_inject-org-details/organization': typeof AuthenticateInjectOrgDetailsOrganizationRouteWithChildren '/_authenticate/personal-settings/_layout': typeof userLayoutRouteWithChildren '/_authenticate/personal-settings/_layout/': typeof userPersonalSettingsPageRouteRoute '/_restrict-login-signup/login/provider/error': typeof authProviderErrorPageRouteRoute '/_restrict-login-signup/login/provider/success': typeof authProviderSuccessPageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/integrations': typeof AuthenticateInjectOrgDetailsOrgLayoutIntegrationsRouteWithChildren + '/_authenticate/_inject-org-details/_org-layout/organization': typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationRouteWithChildren '/_authenticate/_inject-org-details/admin/_admin-layout': typeof adminLayoutRouteWithChildren - '/_authenticate/_inject-org-details/cert-manager/$projectId': typeof AuthenticateInjectOrgDetailsCertManagerProjectIdRouteWithChildren - '/_authenticate/_inject-org-details/kms/$projectId': typeof AuthenticateInjectOrgDetailsKmsProjectIdRouteWithChildren - '/_authenticate/_inject-org-details/organization/_layout': typeof organizationLayoutRouteWithChildren - '/_authenticate/_inject-org-details/secret-manager/$projectId': typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdRouteWithChildren - '/_authenticate/_inject-org-details/ssh/$projectId': typeof AuthenticateInjectOrgDetailsSshProjectIdRouteWithChildren '/_authenticate/_inject-org-details/admin/_admin-layout/': typeof adminOverviewPageRouteRoute - '/_authenticate/_inject-org-details/organization/_layout/access-management': typeof organizationAccessManagementPageRouteRoute - '/_authenticate/_inject-org-details/organization/_layout/admin': typeof organizationAdminPageRouteRoute - '/_authenticate/_inject-org-details/organization/_layout/audit-logs': typeof organizationAuditLogsPageRouteRoute - '/_authenticate/_inject-org-details/organization/_layout/billing': typeof organizationBillingPageRouteRoute - '/_authenticate/_inject-org-details/organization/_layout/none': typeof organizationNoOrgPageRouteRoute - '/_authenticate/_inject-org-details/organization/_layout/secret-scanning': typeof organizationSecretScanningPageRouteRoute - '/_authenticate/_inject-org-details/organization/_layout/secret-sharing': typeof organizationSecretSharingPageRouteRoute - '/_authenticate/_inject-org-details/organization/_layout/settings': typeof organizationSettingsPageRouteRoute - '/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout': typeof certManagerLayoutRouteWithChildren - '/_authenticate/_inject-org-details/kms/$projectId/_kms-layout': typeof kmsLayoutRouteWithChildren - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout': typeof secretManagerLayoutRouteWithChildren - '/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout': typeof sshLayoutRouteWithChildren - '/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/overview': typeof certManagerCertificatesPageRouteRoute - '/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/settings': typeof certManagerSettingsPageRouteRoute - '/_authenticate/_inject-org-details/kms/$projectId/_kms-layout/overview': typeof kmsOverviewPageRouteRoute - '/_authenticate/_inject-org-details/kms/$projectId/_kms-layout/settings': typeof kmsSettingsPageRouteRoute - '/_authenticate/_inject-org-details/organization/_layout/cert-manager/overview': typeof organizationCertManagerOverviewPageRouteRoute - '/_authenticate/_inject-org-details/organization/_layout/groups/$groupId': typeof organizationGroupDetailsByIDPageRouteRoute - '/_authenticate/_inject-org-details/organization/_layout/identities/$identityId': typeof organizationIdentityDetailsByIDPageRouteRoute - '/_authenticate/_inject-org-details/organization/_layout/kms/overview': typeof organizationKmsOverviewPageRouteRoute - '/_authenticate/_inject-org-details/organization/_layout/members/$membershipId': typeof organizationUserDetailsByIDPageRouteRoute - '/_authenticate/_inject-org-details/organization/_layout/roles/$roleId': typeof organizationRoleByIDPageRouteRoute - '/_authenticate/_inject-org-details/organization/_layout/secret-manager/overview': typeof organizationSecretManagerOverviewPageRouteRoute - '/_authenticate/_inject-org-details/organization/_layout/ssh/overview': typeof organizationSshOverviewPageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/allowlist': typeof secretManagerIPAllowlistPageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/approval': typeof secretManagerSecretApprovalsPageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/overview': typeof secretManagerOverviewPageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/secret-rotation': typeof secretManagerSecretRotationPageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/settings': typeof secretManagerSettingsPageRouteRoute - '/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/overview': typeof sshOverviewPageRouteRoute - '/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/settings': typeof sshSettingsPageRouteRoute - '/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/access-management': typeof projectAccessControlPageRouteCertManagerRoute - '/_authenticate/_inject-org-details/integrations/azure-app-configuration/oauth2/callback': typeof secretManagerIntegrationsRouteAzureAppConfigurationsOauthRedirectRoute - '/_authenticate/_inject-org-details/integrations/azure-key-vault/oauth2/callback': typeof secretManagerIntegrationsRouteAzureKeyVaultOauthRedirectRoute - '/_authenticate/_inject-org-details/integrations/bitbucket/oauth2/callback': typeof secretManagerIntegrationsRouteBitbucketOauthRedirectRoute - '/_authenticate/_inject-org-details/integrations/gcp-secret-manager/oauth2/callback': typeof secretManagerIntegrationsRouteGcpOauthRedirectRoute - '/_authenticate/_inject-org-details/integrations/github/oauth2/callback': typeof secretManagerIntegrationsRouteGithubOauthRedirectRoute - '/_authenticate/_inject-org-details/integrations/gitlab/oauth2/callback': typeof secretManagerIntegrationsRouteGitlabOauthRedirectRoute - '/_authenticate/_inject-org-details/integrations/heroku/oauth2/callback': typeof secretManagerIntegrationsRouteHerokuOauthRedirectRoute - '/_authenticate/_inject-org-details/integrations/netlify/oauth2/callback': typeof secretManagerIntegrationsRouteNetlifyOauthRedirectRoute - '/_authenticate/_inject-org-details/integrations/vercel/oauth2/callback': typeof secretManagerIntegrationsRouteVercelOauthRedirectRoute - '/_authenticate/_inject-org-details/kms/$projectId/_kms-layout/access-management': typeof projectAccessControlPageRouteKmsRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/access-management': typeof projectAccessControlPageRouteSecretManagerRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations': typeof AuthenticateInjectOrgDetailsSecretManagerProjectIdSecretManagerLayoutIntegrationsRouteWithChildren - '/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/access-management': typeof projectAccessControlPageRouteSshRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/': typeof secretManagerIntegrationsListPageRouteRoute - '/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/ca/$caId': typeof certManagerCertAuthDetailsByIDPageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/$integrationId': typeof secretManagerIntegrationsDetailsByIDPageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/select-integration-auth': typeof secretManagerIntegrationsSelectIntegrationAuthPageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/secrets/$envSlug': typeof secretManagerSecretDashboardPageRouteRoute - '/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/ca/$caId': typeof sshSshCaByIDPageRouteRoute - '/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/identities/$identityId': typeof projectIdentityDetailsByIDPageRouteCertManagerRoute - '/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/members/$membershipId': typeof projectMemberDetailsByIDPageRouteCertManagerRoute - '/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/pki-collections/$collectionId': typeof certManagerPkiCollectionDetailsByIDPageRoutesRoute - '/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/roles/$roleSlug': typeof projectRoleDetailsBySlugPageRouteCertManagerRoute - '/_authenticate/_inject-org-details/kms/$projectId/_kms-layout/identities/$identityId': typeof projectIdentityDetailsByIDPageRouteKmsRoute - '/_authenticate/_inject-org-details/kms/$projectId/_kms-layout/members/$membershipId': typeof projectMemberDetailsByIDPageRouteKmsRoute - '/_authenticate/_inject-org-details/kms/$projectId/_kms-layout/roles/$roleSlug': typeof projectRoleDetailsBySlugPageRouteKmsRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/identities/$identityId': typeof projectIdentityDetailsByIDPageRouteSecretManagerRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/members/$membershipId': typeof projectMemberDetailsByIDPageRouteSecretManagerRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/roles/$roleSlug': typeof projectRoleDetailsBySlugPageRouteSecretManagerRoute - '/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/identities/$identityId': typeof projectIdentityDetailsByIDPageRouteSshRoute - '/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/members/$membershipId': typeof projectMemberDetailsByIDPageRouteSshRoute - '/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/roles/$roleSlug': typeof projectRoleDetailsBySlugPageRouteSshRoute - '/_authenticate/_inject-org-details/organization/_layout/app-connections/github/oauth/callback': typeof organizationAppConnectionsGithubOauthCallbackPageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/aws-parameter-store/authorize': typeof secretManagerIntegrationsAwsParameterStoreAuthorizePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/aws-parameter-store/create': typeof secretManagerIntegrationsAwsParameterStoreConfigurePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/aws-secret-manager/authorize': typeof secretManagerIntegrationsAwsSecretManagerAuthorizePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/aws-secret-manager/create': typeof secretManagerIntegrationsAwsSecretManagerConfigurePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-app-configuration/create': typeof secretManagerIntegrationsAzureAppConfigurationConfigurePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-devops/authorize': typeof secretManagerIntegrationsAzureDevopsAuthorizePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-devops/create': typeof secretManagerIntegrationsAzureDevopsConfigurePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/authorize': typeof secretManagerIntegrationsAzureKeyVaultAuthorizePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/create': typeof secretManagerIntegrationsAzureKeyVaultConfigurePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/bitbucket/create': typeof secretManagerIntegrationsBitbucketConfigurePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/checkly/authorize': typeof secretManagerIntegrationsChecklyAuthorizePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/checkly/create': typeof secretManagerIntegrationsChecklyConfigurePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/circleci/authorize': typeof secretManagerIntegrationsCircleCIAuthorizePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/circleci/create': typeof secretManagerIntegrationsCircleCIConfigurePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloud-66/authorize': typeof secretManagerIntegrationsCloud66AuthorizePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloud-66/create': typeof secretManagerIntegrationsCloud66ConfigurePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-pages/authorize': typeof secretManagerIntegrationsCloudflarePagesAuthorizePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-pages/create': typeof secretManagerIntegrationsCloudflarePagesConfigurePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-workers/authorize': typeof secretManagerIntegrationsCloudflareWorkersAuthorizePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-workers/create': typeof secretManagerIntegrationsCloudflareWorkersConfigurePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/codefresh/authorize': typeof secretManagerIntegrationsCodefreshAuthorizePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/codefresh/create': typeof secretManagerIntegrationsCodefreshConfigurePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/databricks/authorize': typeof secretManagerIntegrationsDatabricksAuthorizePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/databricks/create': typeof secretManagerIntegrationsDatabricksConfigurePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/digital-ocean-app-platform/authorize': typeof secretManagerIntegrationsDigitalOceanAppPlatformAuthorizePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/digital-ocean-app-platform/create': typeof secretManagerIntegrationsDigitalOceanAppPlatformConfigurePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/flyio/authorize': typeof secretManagerIntegrationsFlyioAuthorizePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/flyio/create': typeof secretManagerIntegrationsFlyioConfigurePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/authorize': typeof secretManagerIntegrationsGcpSecretManagerAuthorizePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/create': typeof secretManagerIntegrationsGcpSecretManagerConfigurePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/github/auth-mode-selection': typeof secretManagerIntegrationsGithubAuthorizePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/github/create': typeof secretManagerIntegrationsGithubConfigurePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/authorize': typeof secretManagerIntegrationsGitlabAuthorizePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/create': typeof secretManagerIntegrationsGitlabConfigurePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/hashicorp-vault/authorize': typeof secretManagerIntegrationsHashicorpVaultAuthorizePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/hashicorp-vault/create': typeof secretManagerIntegrationsHashicorpVaultConfigurePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/hasura-cloud/authorize': typeof secretManagerIntegrationsHasuraCloudAuthorizePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/hasura-cloud/create': typeof secretManagerIntegrationsHasuraCloudConfigurePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/heroku/create': typeof secretManagerIntegrationsHerokuConfigurePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/laravel-forge/authorize': typeof secretManagerIntegrationsLaravelForgeAuthorizePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/laravel-forge/create': typeof secretManagerIntegrationsLaravelForgeConfigurePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/netlify/create': typeof secretManagerIntegrationsNetlifyConfigurePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/northflank/authorize': typeof secretManagerIntegrationsNorthflankAuthorizePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/northflank/create': typeof secretManagerIntegrationsNorthflankConfigurePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/octopus-deploy/authorize': typeof secretManagerIntegrationsOctopusDeployAuthorizePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/octopus-deploy/create': typeof secretManagerIntegrationsOctopusDeployConfigurePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/qovery/authorize': typeof secretManagerIntegrationsQoveryAuthorizePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/qovery/create': typeof secretManagerIntegrationsQoveryConfigurePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/railway/authorize': typeof secretManagerIntegrationsRailwayAuthorizePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/railway/create': typeof secretManagerIntegrationsRailwayConfigurePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/render/authorize': typeof secretManagerIntegrationsRenderAuthorizePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/render/create': typeof secretManagerIntegrationsRenderConfigurePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/rundeck/authorize': typeof secretManagerIntegrationsRundeckAuthorizePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/rundeck/create': typeof secretManagerIntegrationsRundeckConfigurePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/supabase/authorize': typeof secretManagerIntegrationsSupabaseAuthorizePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/supabase/create': typeof secretManagerIntegrationsSupabaseConfigurePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/teamcity/authorize': typeof secretManagerIntegrationsTeamcityAuthorizePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/teamcity/create': typeof secretManagerIntegrationsTeamcityConfigurePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/terraform-cloud/authorize': typeof secretManagerIntegrationsTerraformCloudAuthorizePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/terraform-cloud/create': typeof secretManagerIntegrationsTerraformCloudConfigurePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/travisci/authorize': typeof secretManagerIntegrationsTravisCIAuthorizePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/travisci/create': typeof secretManagerIntegrationsTravisCIConfigurePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/vercel/create': typeof secretManagerIntegrationsVercelConfigurePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/windmill/authorize': typeof secretManagerIntegrationsWindmillAuthorizePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/windmill/create': typeof secretManagerIntegrationsWindmillConfigurePageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-app-configuration/oauth2/callback': typeof secretManagerIntegrationsAzureAppConfigurationOauthCallbackPageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/oauth2/callback': typeof secretManagerIntegrationsAzureKeyVaultOauthCallbackPageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/bitbucket/oauth2/callback': typeof secretManagerIntegrationsBitbucketOauthCallbackPageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/oauth2/callback': typeof secretManagerIntegrationsGcpSecretManagerOauthCallbackPageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/github/oauth2/callback': typeof secretManagerIntegrationsGithubOauthCallbackPageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/oauth2/callback': typeof secretManagerIntegrationsGitlabOauthCallbackPageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/heroku/oauth2/callback': typeof secretManagerIntegrationsHerokuOauthCallbackPageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/netlify/oauth2/callback': typeof secretManagerIntegrationsNetlifyOauthCallbackPageRouteRoute - '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/vercel/oauth2/callback': typeof secretManagerIntegrationsVercelOauthCallbackPageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/organization/access-management': typeof organizationAccessManagementPageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/organization/admin': typeof organizationAdminPageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/organization/audit-logs': typeof organizationAuditLogsPageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/organization/billing': typeof organizationBillingPageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/organization/none': typeof organizationNoOrgPageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/organization/secret-scanning': typeof organizationSecretScanningPageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing': typeof organizationSecretSharingPageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/organization/settings': typeof organizationSettingsPageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId': typeof AuthenticateInjectOrgDetailsOrgLayoutCertManagerProjectIdRouteWithChildren + '/_authenticate/_inject-org-details/_org-layout/kms/$projectId': typeof AuthenticateInjectOrgDetailsOrgLayoutKmsProjectIdRouteWithChildren + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId': typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdRouteWithChildren + '/_authenticate/_inject-org-details/_org-layout/ssh/$projectId': typeof AuthenticateInjectOrgDetailsOrgLayoutSshProjectIdRouteWithChildren + '/_authenticate/_inject-org-details/_org-layout/organization/cert-manager/overview': typeof organizationCertManagerOverviewPageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/organization/groups/$groupId': typeof organizationGroupDetailsByIDPageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/organization/identities/$identityId': typeof organizationIdentityDetailsByIDPageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/organization/kms/overview': typeof organizationKmsOverviewPageRouteRoute + '/_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-manager/overview': typeof organizationSecretManagerOverviewPageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/organization/ssh/overview': typeof organizationSshOverviewPageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout': typeof certManagerLayoutRouteWithChildren + '/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout': typeof kmsLayoutRouteWithChildren + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout': typeof secretManagerLayoutRouteWithChildren + '/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout': typeof sshLayoutRouteWithChildren + '/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/overview': typeof certManagerCertificatesPageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/settings': typeof certManagerSettingsPageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout/overview': typeof kmsOverviewPageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout/settings': typeof kmsSettingsPageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/allowlist': typeof secretManagerIPAllowlistPageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/approval': typeof secretManagerSecretApprovalsPageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/overview': typeof secretManagerOverviewPageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/secret-rotation': typeof secretManagerSecretRotationPageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/settings': typeof secretManagerSettingsPageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/overview': typeof sshOverviewPageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/settings': typeof sshSettingsPageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/access-management': typeof projectAccessControlPageRouteCertManagerRoute + '/_authenticate/_inject-org-details/_org-layout/integrations/azure-app-configuration/oauth2/callback': typeof secretManagerIntegrationsRouteAzureAppConfigurationsOauthRedirectRoute + '/_authenticate/_inject-org-details/_org-layout/integrations/azure-key-vault/oauth2/callback': typeof secretManagerIntegrationsRouteAzureKeyVaultOauthRedirectRoute + '/_authenticate/_inject-org-details/_org-layout/integrations/bitbucket/oauth2/callback': typeof secretManagerIntegrationsRouteBitbucketOauthRedirectRoute + '/_authenticate/_inject-org-details/_org-layout/integrations/gcp-secret-manager/oauth2/callback': typeof secretManagerIntegrationsRouteGcpOauthRedirectRoute + '/_authenticate/_inject-org-details/_org-layout/integrations/github/oauth2/callback': typeof secretManagerIntegrationsRouteGithubOauthRedirectRoute + '/_authenticate/_inject-org-details/_org-layout/integrations/gitlab/oauth2/callback': typeof secretManagerIntegrationsRouteGitlabOauthRedirectRoute + '/_authenticate/_inject-org-details/_org-layout/integrations/heroku/oauth2/callback': typeof secretManagerIntegrationsRouteHerokuOauthRedirectRoute + '/_authenticate/_inject-org-details/_org-layout/integrations/netlify/oauth2/callback': typeof secretManagerIntegrationsRouteNetlifyOauthRedirectRoute + '/_authenticate/_inject-org-details/_org-layout/integrations/vercel/oauth2/callback': typeof secretManagerIntegrationsRouteVercelOauthRedirectRoute + '/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout/access-management': typeof projectAccessControlPageRouteKmsRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/access-management': typeof projectAccessControlPageRouteSecretManagerRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations': typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdSecretManagerLayoutIntegrationsRouteWithChildren + '/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/access-management': typeof projectAccessControlPageRouteSshRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/': typeof secretManagerIntegrationsListPageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/ca/$caId': typeof certManagerCertAuthDetailsByIDPageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/organization/app-connections/github/oauth/callback': typeof organizationAppConnectionsGithubOauthCallbackPageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/$integrationId': typeof secretManagerIntegrationsDetailsByIDPageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/select-integration-auth': typeof secretManagerIntegrationsSelectIntegrationAuthPageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/secrets/$envSlug': typeof secretManagerSecretDashboardPageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/ca/$caId': typeof sshSshCaByIDPageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/identities/$identityId': typeof projectIdentityDetailsByIDPageRouteCertManagerRoute + '/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/members/$membershipId': typeof projectMemberDetailsByIDPageRouteCertManagerRoute + '/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/pki-collections/$collectionId': typeof certManagerPkiCollectionDetailsByIDPageRoutesRoute + '/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/roles/$roleSlug': typeof projectRoleDetailsBySlugPageRouteCertManagerRoute + '/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout/identities/$identityId': typeof projectIdentityDetailsByIDPageRouteKmsRoute + '/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout/members/$membershipId': typeof projectMemberDetailsByIDPageRouteKmsRoute + '/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout/roles/$roleSlug': typeof projectRoleDetailsBySlugPageRouteKmsRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/identities/$identityId': typeof projectIdentityDetailsByIDPageRouteSecretManagerRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/members/$membershipId': typeof projectMemberDetailsByIDPageRouteSecretManagerRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/roles/$roleSlug': typeof projectRoleDetailsBySlugPageRouteSecretManagerRoute + '/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/identities/$identityId': typeof projectIdentityDetailsByIDPageRouteSshRoute + '/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/members/$membershipId': typeof projectMemberDetailsByIDPageRouteSshRoute + '/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/roles/$roleSlug': typeof projectRoleDetailsBySlugPageRouteSshRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/aws-parameter-store/authorize': typeof secretManagerIntegrationsAwsParameterStoreAuthorizePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/aws-parameter-store/create': typeof secretManagerIntegrationsAwsParameterStoreConfigurePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/aws-secret-manager/authorize': typeof secretManagerIntegrationsAwsSecretManagerAuthorizePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/aws-secret-manager/create': typeof secretManagerIntegrationsAwsSecretManagerConfigurePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-app-configuration/create': typeof secretManagerIntegrationsAzureAppConfigurationConfigurePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-devops/authorize': typeof secretManagerIntegrationsAzureDevopsAuthorizePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-devops/create': typeof secretManagerIntegrationsAzureDevopsConfigurePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/authorize': typeof secretManagerIntegrationsAzureKeyVaultAuthorizePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/create': typeof secretManagerIntegrationsAzureKeyVaultConfigurePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/bitbucket/create': typeof secretManagerIntegrationsBitbucketConfigurePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/checkly/authorize': typeof secretManagerIntegrationsChecklyAuthorizePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/checkly/create': typeof secretManagerIntegrationsChecklyConfigurePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/circleci/authorize': typeof secretManagerIntegrationsCircleCIAuthorizePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/circleci/create': typeof secretManagerIntegrationsCircleCIConfigurePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/cloud-66/authorize': typeof secretManagerIntegrationsCloud66AuthorizePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/cloud-66/create': typeof secretManagerIntegrationsCloud66ConfigurePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-pages/authorize': typeof secretManagerIntegrationsCloudflarePagesAuthorizePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-pages/create': typeof secretManagerIntegrationsCloudflarePagesConfigurePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-workers/authorize': typeof secretManagerIntegrationsCloudflareWorkersAuthorizePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-workers/create': typeof secretManagerIntegrationsCloudflareWorkersConfigurePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/codefresh/authorize': typeof secretManagerIntegrationsCodefreshAuthorizePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/codefresh/create': typeof secretManagerIntegrationsCodefreshConfigurePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/databricks/authorize': typeof secretManagerIntegrationsDatabricksAuthorizePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/databricks/create': typeof secretManagerIntegrationsDatabricksConfigurePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/digital-ocean-app-platform/authorize': typeof secretManagerIntegrationsDigitalOceanAppPlatformAuthorizePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/digital-ocean-app-platform/create': typeof secretManagerIntegrationsDigitalOceanAppPlatformConfigurePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/flyio/authorize': typeof secretManagerIntegrationsFlyioAuthorizePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/flyio/create': typeof secretManagerIntegrationsFlyioConfigurePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/authorize': typeof secretManagerIntegrationsGcpSecretManagerAuthorizePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/create': typeof secretManagerIntegrationsGcpSecretManagerConfigurePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/github/auth-mode-selection': typeof secretManagerIntegrationsGithubAuthorizePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/github/create': typeof secretManagerIntegrationsGithubConfigurePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/authorize': typeof secretManagerIntegrationsGitlabAuthorizePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/create': typeof secretManagerIntegrationsGitlabConfigurePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/hashicorp-vault/authorize': typeof secretManagerIntegrationsHashicorpVaultAuthorizePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/hashicorp-vault/create': typeof secretManagerIntegrationsHashicorpVaultConfigurePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/hasura-cloud/authorize': typeof secretManagerIntegrationsHasuraCloudAuthorizePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/hasura-cloud/create': typeof secretManagerIntegrationsHasuraCloudConfigurePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/heroku/create': typeof secretManagerIntegrationsHerokuConfigurePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/laravel-forge/authorize': typeof secretManagerIntegrationsLaravelForgeAuthorizePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/laravel-forge/create': typeof secretManagerIntegrationsLaravelForgeConfigurePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/netlify/create': typeof secretManagerIntegrationsNetlifyConfigurePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/northflank/authorize': typeof secretManagerIntegrationsNorthflankAuthorizePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/northflank/create': typeof secretManagerIntegrationsNorthflankConfigurePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/octopus-deploy/authorize': typeof secretManagerIntegrationsOctopusDeployAuthorizePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/octopus-deploy/create': typeof secretManagerIntegrationsOctopusDeployConfigurePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/qovery/authorize': typeof secretManagerIntegrationsQoveryAuthorizePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/qovery/create': typeof secretManagerIntegrationsQoveryConfigurePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/railway/authorize': typeof secretManagerIntegrationsRailwayAuthorizePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/railway/create': typeof secretManagerIntegrationsRailwayConfigurePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/render/authorize': typeof secretManagerIntegrationsRenderAuthorizePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/render/create': typeof secretManagerIntegrationsRenderConfigurePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/rundeck/authorize': typeof secretManagerIntegrationsRundeckAuthorizePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/rundeck/create': typeof secretManagerIntegrationsRundeckConfigurePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/supabase/authorize': typeof secretManagerIntegrationsSupabaseAuthorizePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/supabase/create': typeof secretManagerIntegrationsSupabaseConfigurePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/teamcity/authorize': typeof secretManagerIntegrationsTeamcityAuthorizePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/teamcity/create': typeof secretManagerIntegrationsTeamcityConfigurePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/terraform-cloud/authorize': typeof secretManagerIntegrationsTerraformCloudAuthorizePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/terraform-cloud/create': typeof secretManagerIntegrationsTerraformCloudConfigurePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/travisci/authorize': typeof secretManagerIntegrationsTravisCIAuthorizePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/travisci/create': typeof secretManagerIntegrationsTravisCIConfigurePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/vercel/create': typeof secretManagerIntegrationsVercelConfigurePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/windmill/authorize': typeof secretManagerIntegrationsWindmillAuthorizePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/windmill/create': typeof secretManagerIntegrationsWindmillConfigurePageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-app-configuration/oauth2/callback': typeof secretManagerIntegrationsAzureAppConfigurationOauthCallbackPageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/oauth2/callback': typeof secretManagerIntegrationsAzureKeyVaultOauthCallbackPageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/bitbucket/oauth2/callback': typeof secretManagerIntegrationsBitbucketOauthCallbackPageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/oauth2/callback': typeof secretManagerIntegrationsGcpSecretManagerOauthCallbackPageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/github/oauth2/callback': typeof secretManagerIntegrationsGithubOauthCallbackPageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/oauth2/callback': typeof secretManagerIntegrationsGitlabOauthCallbackPageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/heroku/oauth2/callback': typeof secretManagerIntegrationsHerokuOauthCallbackPageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/netlify/oauth2/callback': typeof secretManagerIntegrationsNetlifyOauthCallbackPageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/vercel/oauth2/callback': typeof secretManagerIntegrationsVercelOauthCallbackPageRouteRoute } export interface FileRouteTypes { @@ -3968,15 +3999,11 @@ export interface FileRouteTypes { | '/signup/sso' | '/shared/secret/$secretId' | '/admin' - | '/integrations' - | '/organization' | '/personal-settings/' | '/login/provider/error' | '/login/provider/success' - | '/cert-manager/$projectId' - | '/kms/$projectId' - | '/secret-manager/$projectId' - | '/ssh/$projectId' + | '/integrations' + | '/organization' | '/admin/' | '/organization/access-management' | '/organization/admin' @@ -3986,10 +4013,10 @@ export interface FileRouteTypes { | '/organization/secret-scanning' | '/organization/secret-sharing' | '/organization/settings' - | '/cert-manager/$projectId/overview' - | '/cert-manager/$projectId/settings' - | '/kms/$projectId/overview' - | '/kms/$projectId/settings' + | '/cert-manager/$projectId' + | '/kms/$projectId' + | '/secret-manager/$projectId' + | '/ssh/$projectId' | '/organization/cert-manager/overview' | '/organization/groups/$groupId' | '/organization/identities/$identityId' @@ -3998,6 +4025,10 @@ export interface FileRouteTypes { | '/organization/roles/$roleId' | '/organization/secret-manager/overview' | '/organization/ssh/overview' + | '/cert-manager/$projectId/overview' + | '/cert-manager/$projectId/settings' + | '/kms/$projectId/overview' + | '/kms/$projectId/settings' | '/secret-manager/$projectId/allowlist' | '/secret-manager/$projectId/approval' | '/secret-manager/$projectId/overview' @@ -4021,6 +4052,7 @@ export interface FileRouteTypes { | '/ssh/$projectId/access-management' | '/secret-manager/$projectId/integrations/' | '/cert-manager/$projectId/ca/$caId' + | '/organization/app-connections/github/oauth/callback' | '/secret-manager/$projectId/integrations/$integrationId' | '/secret-manager/$projectId/integrations/select-integration-auth' | '/secret-manager/$projectId/secrets/$envSlug' @@ -4038,7 +4070,6 @@ export interface FileRouteTypes { | '/ssh/$projectId/identities/$identityId' | '/ssh/$projectId/members/$membershipId' | '/ssh/$projectId/roles/$roleSlug' - | '/organization/app-connections/github/oauth/callback' | '/secret-manager/$projectId/integrations/aws-parameter-store/authorize' | '/secret-manager/$projectId/integrations/aws-parameter-store/create' | '/secret-manager/$projectId/integrations/aws-secret-manager/authorize' @@ -4134,14 +4165,10 @@ export interface FileRouteTypes { | '/signup/sso' | '/shared/secret/$secretId' | '/admin' - | '/integrations' - | '/organization' | '/login/provider/error' | '/login/provider/success' - | '/cert-manager/$projectId' - | '/kms/$projectId' - | '/secret-manager/$projectId' - | '/ssh/$projectId' + | '/integrations' + | '/organization' | '/organization/access-management' | '/organization/admin' | '/organization/audit-logs' @@ -4150,10 +4177,10 @@ export interface FileRouteTypes { | '/organization/secret-scanning' | '/organization/secret-sharing' | '/organization/settings' - | '/cert-manager/$projectId/overview' - | '/cert-manager/$projectId/settings' - | '/kms/$projectId/overview' - | '/kms/$projectId/settings' + | '/cert-manager/$projectId' + | '/kms/$projectId' + | '/secret-manager/$projectId' + | '/ssh/$projectId' | '/organization/cert-manager/overview' | '/organization/groups/$groupId' | '/organization/identities/$identityId' @@ -4162,6 +4189,10 @@ export interface FileRouteTypes { | '/organization/roles/$roleId' | '/organization/secret-manager/overview' | '/organization/ssh/overview' + | '/cert-manager/$projectId/overview' + | '/cert-manager/$projectId/settings' + | '/kms/$projectId/overview' + | '/kms/$projectId/settings' | '/secret-manager/$projectId/allowlist' | '/secret-manager/$projectId/approval' | '/secret-manager/$projectId/overview' @@ -4184,6 +4215,7 @@ export interface FileRouteTypes { | '/ssh/$projectId/access-management' | '/secret-manager/$projectId/integrations' | '/cert-manager/$projectId/ca/$caId' + | '/organization/app-connections/github/oauth/callback' | '/secret-manager/$projectId/integrations/$integrationId' | '/secret-manager/$projectId/integrations/select-integration-auth' | '/secret-manager/$projectId/secrets/$envSlug' @@ -4201,7 +4233,6 @@ export interface FileRouteTypes { | '/ssh/$projectId/identities/$identityId' | '/ssh/$projectId/members/$membershipId' | '/ssh/$projectId/roles/$roleSlug' - | '/organization/app-connections/github/oauth/callback' | '/secret-manager/$projectId/integrations/aws-parameter-store/authorize' | '/secret-manager/$projectId/integrations/aws-parameter-store/create' | '/secret-manager/$projectId/integrations/aws-secret-manager/authorize' @@ -4300,159 +4331,159 @@ export interface FileRouteTypes { | '/_restrict-login-signup/login/sso' | '/_restrict-login-signup/signup/sso' | '/shared/secret/$secretId' + | '/_authenticate/_inject-org-details/_org-layout' | '/_authenticate/_inject-org-details/admin' - | '/_authenticate/_inject-org-details/integrations' - | '/_authenticate/_inject-org-details/organization' | '/_authenticate/personal-settings/_layout' | '/_authenticate/personal-settings/_layout/' | '/_restrict-login-signup/login/provider/error' | '/_restrict-login-signup/login/provider/success' + | '/_authenticate/_inject-org-details/_org-layout/integrations' + | '/_authenticate/_inject-org-details/_org-layout/organization' | '/_authenticate/_inject-org-details/admin/_admin-layout' - | '/_authenticate/_inject-org-details/cert-manager/$projectId' - | '/_authenticate/_inject-org-details/kms/$projectId' - | '/_authenticate/_inject-org-details/organization/_layout' - | '/_authenticate/_inject-org-details/secret-manager/$projectId' - | '/_authenticate/_inject-org-details/ssh/$projectId' | '/_authenticate/_inject-org-details/admin/_admin-layout/' - | '/_authenticate/_inject-org-details/organization/_layout/access-management' - | '/_authenticate/_inject-org-details/organization/_layout/admin' - | '/_authenticate/_inject-org-details/organization/_layout/audit-logs' - | '/_authenticate/_inject-org-details/organization/_layout/billing' - | '/_authenticate/_inject-org-details/organization/_layout/none' - | '/_authenticate/_inject-org-details/organization/_layout/secret-scanning' - | '/_authenticate/_inject-org-details/organization/_layout/secret-sharing' - | '/_authenticate/_inject-org-details/organization/_layout/settings' - | '/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout' - | '/_authenticate/_inject-org-details/kms/$projectId/_kms-layout' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout' - | '/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout' - | '/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/overview' - | '/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/settings' - | '/_authenticate/_inject-org-details/kms/$projectId/_kms-layout/overview' - | '/_authenticate/_inject-org-details/kms/$projectId/_kms-layout/settings' - | '/_authenticate/_inject-org-details/organization/_layout/cert-manager/overview' - | '/_authenticate/_inject-org-details/organization/_layout/groups/$groupId' - | '/_authenticate/_inject-org-details/organization/_layout/identities/$identityId' - | '/_authenticate/_inject-org-details/organization/_layout/kms/overview' - | '/_authenticate/_inject-org-details/organization/_layout/members/$membershipId' - | '/_authenticate/_inject-org-details/organization/_layout/roles/$roleId' - | '/_authenticate/_inject-org-details/organization/_layout/secret-manager/overview' - | '/_authenticate/_inject-org-details/organization/_layout/ssh/overview' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/allowlist' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/approval' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/overview' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/secret-rotation' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/settings' - | '/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/overview' - | '/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/settings' - | '/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/access-management' - | '/_authenticate/_inject-org-details/integrations/azure-app-configuration/oauth2/callback' - | '/_authenticate/_inject-org-details/integrations/azure-key-vault/oauth2/callback' - | '/_authenticate/_inject-org-details/integrations/bitbucket/oauth2/callback' - | '/_authenticate/_inject-org-details/integrations/gcp-secret-manager/oauth2/callback' - | '/_authenticate/_inject-org-details/integrations/github/oauth2/callback' - | '/_authenticate/_inject-org-details/integrations/gitlab/oauth2/callback' - | '/_authenticate/_inject-org-details/integrations/heroku/oauth2/callback' - | '/_authenticate/_inject-org-details/integrations/netlify/oauth2/callback' - | '/_authenticate/_inject-org-details/integrations/vercel/oauth2/callback' - | '/_authenticate/_inject-org-details/kms/$projectId/_kms-layout/access-management' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/access-management' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations' - | '/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/access-management' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/' - | '/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/ca/$caId' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/$integrationId' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/select-integration-auth' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/secrets/$envSlug' - | '/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/ca/$caId' - | '/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/identities/$identityId' - | '/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/members/$membershipId' - | '/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/pki-collections/$collectionId' - | '/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/roles/$roleSlug' - | '/_authenticate/_inject-org-details/kms/$projectId/_kms-layout/identities/$identityId' - | '/_authenticate/_inject-org-details/kms/$projectId/_kms-layout/members/$membershipId' - | '/_authenticate/_inject-org-details/kms/$projectId/_kms-layout/roles/$roleSlug' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/identities/$identityId' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/members/$membershipId' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/roles/$roleSlug' - | '/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/identities/$identityId' - | '/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/members/$membershipId' - | '/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/roles/$roleSlug' - | '/_authenticate/_inject-org-details/organization/_layout/app-connections/github/oauth/callback' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/aws-parameter-store/authorize' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/aws-parameter-store/create' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/aws-secret-manager/authorize' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/aws-secret-manager/create' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-app-configuration/create' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-devops/authorize' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-devops/create' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/authorize' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/create' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/bitbucket/create' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/checkly/authorize' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/checkly/create' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/circleci/authorize' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/circleci/create' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloud-66/authorize' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloud-66/create' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-pages/authorize' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-pages/create' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-workers/authorize' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-workers/create' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/codefresh/authorize' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/codefresh/create' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/databricks/authorize' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/databricks/create' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/digital-ocean-app-platform/authorize' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/digital-ocean-app-platform/create' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/flyio/authorize' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/flyio/create' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/authorize' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/create' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/github/auth-mode-selection' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/github/create' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/authorize' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/create' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/hashicorp-vault/authorize' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/hashicorp-vault/create' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/hasura-cloud/authorize' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/hasura-cloud/create' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/heroku/create' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/laravel-forge/authorize' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/laravel-forge/create' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/netlify/create' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/northflank/authorize' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/northflank/create' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/octopus-deploy/authorize' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/octopus-deploy/create' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/qovery/authorize' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/qovery/create' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/railway/authorize' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/railway/create' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/render/authorize' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/render/create' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/rundeck/authorize' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/rundeck/create' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/supabase/authorize' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/supabase/create' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/teamcity/authorize' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/teamcity/create' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/terraform-cloud/authorize' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/terraform-cloud/create' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/travisci/authorize' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/travisci/create' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/vercel/create' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/windmill/authorize' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/windmill/create' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-app-configuration/oauth2/callback' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/oauth2/callback' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/bitbucket/oauth2/callback' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/oauth2/callback' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/github/oauth2/callback' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/oauth2/callback' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/heroku/oauth2/callback' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/netlify/oauth2/callback' - | '/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/vercel/oauth2/callback' + | '/_authenticate/_inject-org-details/_org-layout/organization/access-management' + | '/_authenticate/_inject-org-details/_org-layout/organization/admin' + | '/_authenticate/_inject-org-details/_org-layout/organization/audit-logs' + | '/_authenticate/_inject-org-details/_org-layout/organization/billing' + | '/_authenticate/_inject-org-details/_org-layout/organization/none' + | '/_authenticate/_inject-org-details/_org-layout/organization/secret-scanning' + | '/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing' + | '/_authenticate/_inject-org-details/_org-layout/organization/settings' + | '/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId' + | '/_authenticate/_inject-org-details/_org-layout/kms/$projectId' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId' + | '/_authenticate/_inject-org-details/_org-layout/ssh/$projectId' + | '/_authenticate/_inject-org-details/_org-layout/organization/cert-manager/overview' + | '/_authenticate/_inject-org-details/_org-layout/organization/groups/$groupId' + | '/_authenticate/_inject-org-details/_org-layout/organization/identities/$identityId' + | '/_authenticate/_inject-org-details/_org-layout/organization/kms/overview' + | '/_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-manager/overview' + | '/_authenticate/_inject-org-details/_org-layout/organization/ssh/overview' + | '/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout' + | '/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout' + | '/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout' + | '/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/overview' + | '/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/settings' + | '/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout/overview' + | '/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout/settings' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/allowlist' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/approval' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/overview' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/secret-rotation' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/settings' + | '/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/overview' + | '/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/settings' + | '/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/access-management' + | '/_authenticate/_inject-org-details/_org-layout/integrations/azure-app-configuration/oauth2/callback' + | '/_authenticate/_inject-org-details/_org-layout/integrations/azure-key-vault/oauth2/callback' + | '/_authenticate/_inject-org-details/_org-layout/integrations/bitbucket/oauth2/callback' + | '/_authenticate/_inject-org-details/_org-layout/integrations/gcp-secret-manager/oauth2/callback' + | '/_authenticate/_inject-org-details/_org-layout/integrations/github/oauth2/callback' + | '/_authenticate/_inject-org-details/_org-layout/integrations/gitlab/oauth2/callback' + | '/_authenticate/_inject-org-details/_org-layout/integrations/heroku/oauth2/callback' + | '/_authenticate/_inject-org-details/_org-layout/integrations/netlify/oauth2/callback' + | '/_authenticate/_inject-org-details/_org-layout/integrations/vercel/oauth2/callback' + | '/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout/access-management' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/access-management' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations' + | '/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/access-management' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/' + | '/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/ca/$caId' + | '/_authenticate/_inject-org-details/_org-layout/organization/app-connections/github/oauth/callback' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/$integrationId' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/select-integration-auth' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/secrets/$envSlug' + | '/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/ca/$caId' + | '/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/identities/$identityId' + | '/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/members/$membershipId' + | '/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/pki-collections/$collectionId' + | '/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/roles/$roleSlug' + | '/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout/identities/$identityId' + | '/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout/members/$membershipId' + | '/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout/roles/$roleSlug' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/identities/$identityId' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/members/$membershipId' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/roles/$roleSlug' + | '/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/identities/$identityId' + | '/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/members/$membershipId' + | '/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/roles/$roleSlug' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/aws-parameter-store/authorize' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/aws-parameter-store/create' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/aws-secret-manager/authorize' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/aws-secret-manager/create' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-app-configuration/create' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-devops/authorize' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-devops/create' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/authorize' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/create' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/bitbucket/create' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/checkly/authorize' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/checkly/create' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/circleci/authorize' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/circleci/create' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/cloud-66/authorize' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/cloud-66/create' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-pages/authorize' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-pages/create' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-workers/authorize' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-workers/create' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/codefresh/authorize' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/codefresh/create' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/databricks/authorize' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/databricks/create' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/digital-ocean-app-platform/authorize' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/digital-ocean-app-platform/create' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/flyio/authorize' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/flyio/create' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/authorize' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/create' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/github/auth-mode-selection' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/github/create' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/authorize' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/create' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/hashicorp-vault/authorize' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/hashicorp-vault/create' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/hasura-cloud/authorize' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/hasura-cloud/create' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/heroku/create' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/laravel-forge/authorize' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/laravel-forge/create' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/netlify/create' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/northflank/authorize' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/northflank/create' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/octopus-deploy/authorize' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/octopus-deploy/create' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/qovery/authorize' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/qovery/create' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/railway/authorize' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/railway/create' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/render/authorize' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/render/create' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/rundeck/authorize' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/rundeck/create' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/supabase/authorize' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/supabase/create' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/teamcity/authorize' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/teamcity/create' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/terraform-cloud/authorize' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/terraform-cloud/create' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/travisci/authorize' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/travisci/create' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/vercel/create' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/windmill/authorize' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/windmill/create' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-app-configuration/oauth2/callback' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/oauth2/callback' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/bitbucket/oauth2/callback' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/oauth2/callback' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/github/oauth2/callback' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/oauth2/callback' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/heroku/oauth2/callback' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/netlify/oauth2/callback' + | '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/vercel/oauth2/callback' fileRoutesById: FileRoutesById } @@ -4547,13 +4578,8 @@ export const routeTree = rootRoute "filePath": "middlewares/inject-org-details.tsx", "parent": "/_authenticate", "children": [ - "/_authenticate/_inject-org-details/admin", - "/_authenticate/_inject-org-details/integrations", - "/_authenticate/_inject-org-details/organization", - "/_authenticate/_inject-org-details/cert-manager/$projectId", - "/_authenticate/_inject-org-details/kms/$projectId", - "/_authenticate/_inject-org-details/secret-manager/$projectId", - "/_authenticate/_inject-org-details/ssh/$projectId" + "/_authenticate/_inject-org-details/_org-layout", + "/_authenticate/_inject-org-details/admin" ] }, "/_authenticate/personal-settings": { @@ -4614,6 +4640,18 @@ export const routeTree = rootRoute "/shared/secret/$secretId": { "filePath": "public/ViewSharedSecretByIDPage/route.tsx" }, + "/_authenticate/_inject-org-details/_org-layout": { + "filePath": "organization/layout.tsx", + "parent": "/_authenticate/_inject-org-details", + "children": [ + "/_authenticate/_inject-org-details/_org-layout/integrations", + "/_authenticate/_inject-org-details/_org-layout/organization", + "/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId", + "/_authenticate/_inject-org-details/_org-layout/kms/$projectId", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId", + "/_authenticate/_inject-org-details/_org-layout/ssh/$projectId" + ] + }, "/_authenticate/_inject-org-details/admin": { "filePath": "", "parent": "/_authenticate/_inject-org-details", @@ -4621,28 +4659,6 @@ export const routeTree = rootRoute "/_authenticate/_inject-org-details/admin/_admin-layout" ] }, - "/_authenticate/_inject-org-details/integrations": { - "filePath": "", - "parent": "/_authenticate/_inject-org-details", - "children": [ - "/_authenticate/_inject-org-details/integrations/azure-app-configuration/oauth2/callback", - "/_authenticate/_inject-org-details/integrations/azure-key-vault/oauth2/callback", - "/_authenticate/_inject-org-details/integrations/bitbucket/oauth2/callback", - "/_authenticate/_inject-org-details/integrations/gcp-secret-manager/oauth2/callback", - "/_authenticate/_inject-org-details/integrations/github/oauth2/callback", - "/_authenticate/_inject-org-details/integrations/gitlab/oauth2/callback", - "/_authenticate/_inject-org-details/integrations/heroku/oauth2/callback", - "/_authenticate/_inject-org-details/integrations/netlify/oauth2/callback", - "/_authenticate/_inject-org-details/integrations/vercel/oauth2/callback" - ] - }, - "/_authenticate/_inject-org-details/organization": { - "filePath": "", - "parent": "/_authenticate/_inject-org-details", - "children": [ - "/_authenticate/_inject-org-details/organization/_layout" - ] - }, "/_authenticate/personal-settings/_layout": { "filePath": "user/layout.tsx", "parent": "/_authenticate/personal-settings", @@ -4662,6 +4678,44 @@ export const routeTree = rootRoute "filePath": "auth/ProviderSuccessPage/route.tsx", "parent": "/_restrict-login-signup/login" }, + "/_authenticate/_inject-org-details/_org-layout/integrations": { + "filePath": "", + "parent": "/_authenticate/_inject-org-details/_org-layout", + "children": [ + "/_authenticate/_inject-org-details/_org-layout/integrations/azure-app-configuration/oauth2/callback", + "/_authenticate/_inject-org-details/_org-layout/integrations/azure-key-vault/oauth2/callback", + "/_authenticate/_inject-org-details/_org-layout/integrations/bitbucket/oauth2/callback", + "/_authenticate/_inject-org-details/_org-layout/integrations/gcp-secret-manager/oauth2/callback", + "/_authenticate/_inject-org-details/_org-layout/integrations/github/oauth2/callback", + "/_authenticate/_inject-org-details/_org-layout/integrations/gitlab/oauth2/callback", + "/_authenticate/_inject-org-details/_org-layout/integrations/heroku/oauth2/callback", + "/_authenticate/_inject-org-details/_org-layout/integrations/netlify/oauth2/callback", + "/_authenticate/_inject-org-details/_org-layout/integrations/vercel/oauth2/callback" + ] + }, + "/_authenticate/_inject-org-details/_org-layout/organization": { + "filePath": "", + "parent": "/_authenticate/_inject-org-details/_org-layout", + "children": [ + "/_authenticate/_inject-org-details/_org-layout/organization/access-management", + "/_authenticate/_inject-org-details/_org-layout/organization/admin", + "/_authenticate/_inject-org-details/_org-layout/organization/audit-logs", + "/_authenticate/_inject-org-details/_org-layout/organization/billing", + "/_authenticate/_inject-org-details/_org-layout/organization/none", + "/_authenticate/_inject-org-details/_org-layout/organization/secret-scanning", + "/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing", + "/_authenticate/_inject-org-details/_org-layout/organization/settings", + "/_authenticate/_inject-org-details/_org-layout/organization/cert-manager/overview", + "/_authenticate/_inject-org-details/_org-layout/organization/groups/$groupId", + "/_authenticate/_inject-org-details/_org-layout/organization/identities/$identityId", + "/_authenticate/_inject-org-details/_org-layout/organization/kms/overview", + "/_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-manager/overview", + "/_authenticate/_inject-org-details/_org-layout/organization/ssh/overview", + "/_authenticate/_inject-org-details/_org-layout/organization/app-connections/github/oauth/callback" + ] + }, "/_authenticate/_inject-org-details/admin/_admin-layout": { "filePath": "admin/layout.tsx", "parent": "/_authenticate/_inject-org-details/admin", @@ -4669,735 +4723,712 @@ export const routeTree = rootRoute "/_authenticate/_inject-org-details/admin/_admin-layout/" ] }, - "/_authenticate/_inject-org-details/cert-manager/$projectId": { - "filePath": "", - "parent": "/_authenticate/_inject-org-details", - "children": [ - "/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout" - ] - }, - "/_authenticate/_inject-org-details/kms/$projectId": { - "filePath": "", - "parent": "/_authenticate/_inject-org-details", - "children": [ - "/_authenticate/_inject-org-details/kms/$projectId/_kms-layout" - ] - }, - "/_authenticate/_inject-org-details/organization/_layout": { - "filePath": "organization/layout.tsx", - "parent": "/_authenticate/_inject-org-details/organization", - "children": [ - "/_authenticate/_inject-org-details/organization/_layout/access-management", - "/_authenticate/_inject-org-details/organization/_layout/admin", - "/_authenticate/_inject-org-details/organization/_layout/audit-logs", - "/_authenticate/_inject-org-details/organization/_layout/billing", - "/_authenticate/_inject-org-details/organization/_layout/none", - "/_authenticate/_inject-org-details/organization/_layout/secret-scanning", - "/_authenticate/_inject-org-details/organization/_layout/secret-sharing", - "/_authenticate/_inject-org-details/organization/_layout/settings", - "/_authenticate/_inject-org-details/organization/_layout/cert-manager/overview", - "/_authenticate/_inject-org-details/organization/_layout/groups/$groupId", - "/_authenticate/_inject-org-details/organization/_layout/identities/$identityId", - "/_authenticate/_inject-org-details/organization/_layout/kms/overview", - "/_authenticate/_inject-org-details/organization/_layout/members/$membershipId", - "/_authenticate/_inject-org-details/organization/_layout/roles/$roleId", - "/_authenticate/_inject-org-details/organization/_layout/secret-manager/overview", - "/_authenticate/_inject-org-details/organization/_layout/ssh/overview", - "/_authenticate/_inject-org-details/organization/_layout/app-connections/github/oauth/callback" - ] - }, - "/_authenticate/_inject-org-details/secret-manager/$projectId": { - "filePath": "", - "parent": "/_authenticate/_inject-org-details", - "children": [ - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout" - ] - }, - "/_authenticate/_inject-org-details/ssh/$projectId": { - "filePath": "", - "parent": "/_authenticate/_inject-org-details", - "children": [ - "/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout" - ] - }, "/_authenticate/_inject-org-details/admin/_admin-layout/": { "filePath": "admin/OverviewPage/route.tsx", "parent": "/_authenticate/_inject-org-details/admin/_admin-layout" }, - "/_authenticate/_inject-org-details/organization/_layout/access-management": { + "/_authenticate/_inject-org-details/_org-layout/organization/access-management": { "filePath": "organization/AccessManagementPage/route.tsx", - "parent": "/_authenticate/_inject-org-details/organization/_layout" + "parent": "/_authenticate/_inject-org-details/_org-layout/organization" }, - "/_authenticate/_inject-org-details/organization/_layout/admin": { + "/_authenticate/_inject-org-details/_org-layout/organization/admin": { "filePath": "organization/AdminPage/route.tsx", - "parent": "/_authenticate/_inject-org-details/organization/_layout" + "parent": "/_authenticate/_inject-org-details/_org-layout/organization" }, - "/_authenticate/_inject-org-details/organization/_layout/audit-logs": { + "/_authenticate/_inject-org-details/_org-layout/organization/audit-logs": { "filePath": "organization/AuditLogsPage/route.tsx", - "parent": "/_authenticate/_inject-org-details/organization/_layout" + "parent": "/_authenticate/_inject-org-details/_org-layout/organization" }, - "/_authenticate/_inject-org-details/organization/_layout/billing": { + "/_authenticate/_inject-org-details/_org-layout/organization/billing": { "filePath": "organization/BillingPage/route.tsx", - "parent": "/_authenticate/_inject-org-details/organization/_layout" + "parent": "/_authenticate/_inject-org-details/_org-layout/organization" }, - "/_authenticate/_inject-org-details/organization/_layout/none": { + "/_authenticate/_inject-org-details/_org-layout/organization/none": { "filePath": "organization/NoOrgPage/route.tsx", - "parent": "/_authenticate/_inject-org-details/organization/_layout" + "parent": "/_authenticate/_inject-org-details/_org-layout/organization" }, - "/_authenticate/_inject-org-details/organization/_layout/secret-scanning": { + "/_authenticate/_inject-org-details/_org-layout/organization/secret-scanning": { "filePath": "organization/SecretScanningPage/route.tsx", - "parent": "/_authenticate/_inject-org-details/organization/_layout" + "parent": "/_authenticate/_inject-org-details/_org-layout/organization" }, - "/_authenticate/_inject-org-details/organization/_layout/secret-sharing": { + "/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing": { "filePath": "organization/SecretSharingPage/route.tsx", - "parent": "/_authenticate/_inject-org-details/organization/_layout" + "parent": "/_authenticate/_inject-org-details/_org-layout/organization" }, - "/_authenticate/_inject-org-details/organization/_layout/settings": { + "/_authenticate/_inject-org-details/_org-layout/organization/settings": { "filePath": "organization/SettingsPage/route.tsx", - "parent": "/_authenticate/_inject-org-details/organization/_layout" + "parent": "/_authenticate/_inject-org-details/_org-layout/organization" }, - "/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout": { - "filePath": "cert-manager/layout.tsx", - "parent": "/_authenticate/_inject-org-details/cert-manager/$projectId", - "children": [ - "/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/overview", - "/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/settings", - "/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/access-management", - "/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/ca/$caId", - "/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/identities/$identityId", - "/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/members/$membershipId", - "/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/pki-collections/$collectionId", - "/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/roles/$roleSlug" - ] - }, - "/_authenticate/_inject-org-details/kms/$projectId/_kms-layout": { - "filePath": "kms/layout.tsx", - "parent": "/_authenticate/_inject-org-details/kms/$projectId", - "children": [ - "/_authenticate/_inject-org-details/kms/$projectId/_kms-layout/overview", - "/_authenticate/_inject-org-details/kms/$projectId/_kms-layout/settings", - "/_authenticate/_inject-org-details/kms/$projectId/_kms-layout/access-management", - "/_authenticate/_inject-org-details/kms/$projectId/_kms-layout/identities/$identityId", - "/_authenticate/_inject-org-details/kms/$projectId/_kms-layout/members/$membershipId", - "/_authenticate/_inject-org-details/kms/$projectId/_kms-layout/roles/$roleSlug" - ] - }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout": { - "filePath": "secret-manager/layout.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId", - "children": [ - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/allowlist", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/approval", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/overview", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/secret-rotation", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/settings", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/access-management", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/secrets/$envSlug", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/identities/$identityId", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/members/$membershipId", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/roles/$roleSlug" - ] - }, - "/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout": { - "filePath": "ssh/layout.tsx", - "parent": "/_authenticate/_inject-org-details/ssh/$projectId", - "children": [ - "/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/overview", - "/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/settings", - "/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/access-management", - "/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/ca/$caId", - "/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/identities/$identityId", - "/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/members/$membershipId", - "/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/roles/$roleSlug" - ] - }, - "/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/overview": { - "filePath": "cert-manager/CertificatesPage/route.tsx", - "parent": "/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout" - }, - "/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/settings": { - "filePath": "cert-manager/SettingsPage/route.tsx", - "parent": "/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout" - }, - "/_authenticate/_inject-org-details/kms/$projectId/_kms-layout/overview": { - "filePath": "kms/OverviewPage/route.tsx", - "parent": "/_authenticate/_inject-org-details/kms/$projectId/_kms-layout" - }, - "/_authenticate/_inject-org-details/kms/$projectId/_kms-layout/settings": { - "filePath": "kms/SettingsPage/route.tsx", - "parent": "/_authenticate/_inject-org-details/kms/$projectId/_kms-layout" - }, - "/_authenticate/_inject-org-details/organization/_layout/cert-manager/overview": { - "filePath": "organization/CertManagerOverviewPage/route.tsx", - "parent": "/_authenticate/_inject-org-details/organization/_layout" - }, - "/_authenticate/_inject-org-details/organization/_layout/groups/$groupId": { - "filePath": "organization/GroupDetailsByIDPage/route.tsx", - "parent": "/_authenticate/_inject-org-details/organization/_layout" - }, - "/_authenticate/_inject-org-details/organization/_layout/identities/$identityId": { - "filePath": "organization/IdentityDetailsByIDPage/route.tsx", - "parent": "/_authenticate/_inject-org-details/organization/_layout" - }, - "/_authenticate/_inject-org-details/organization/_layout/kms/overview": { - "filePath": "organization/KmsOverviewPage/route.tsx", - "parent": "/_authenticate/_inject-org-details/organization/_layout" - }, - "/_authenticate/_inject-org-details/organization/_layout/members/$membershipId": { - "filePath": "organization/UserDetailsByIDPage/route.tsx", - "parent": "/_authenticate/_inject-org-details/organization/_layout" - }, - "/_authenticate/_inject-org-details/organization/_layout/roles/$roleId": { - "filePath": "organization/RoleByIDPage/route.tsx", - "parent": "/_authenticate/_inject-org-details/organization/_layout" - }, - "/_authenticate/_inject-org-details/organization/_layout/secret-manager/overview": { - "filePath": "organization/SecretManagerOverviewPage/route.tsx", - "parent": "/_authenticate/_inject-org-details/organization/_layout" - }, - "/_authenticate/_inject-org-details/organization/_layout/ssh/overview": { - "filePath": "organization/SshOverviewPage/route.tsx", - "parent": "/_authenticate/_inject-org-details/organization/_layout" - }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/allowlist": { - "filePath": "secret-manager/IPAllowlistPage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout" - }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/approval": { - "filePath": "secret-manager/SecretApprovalsPage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout" - }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/overview": { - "filePath": "secret-manager/OverviewPage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout" - }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/secret-rotation": { - "filePath": "secret-manager/SecretRotationPage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout" - }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/settings": { - "filePath": "secret-manager/SettingsPage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout" - }, - "/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/overview": { - "filePath": "ssh/OverviewPage/route.tsx", - "parent": "/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout" - }, - "/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/settings": { - "filePath": "ssh/SettingsPage/route.tsx", - "parent": "/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout" - }, - "/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/access-management": { - "filePath": "project/AccessControlPage/route-cert-manager.tsx", - "parent": "/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout" - }, - "/_authenticate/_inject-org-details/integrations/azure-app-configuration/oauth2/callback": { - "filePath": "secret-manager/integrations/route-azure-app-configurations-oauth-redirect.tsx", - "parent": "/_authenticate/_inject-org-details/integrations" - }, - "/_authenticate/_inject-org-details/integrations/azure-key-vault/oauth2/callback": { - "filePath": "secret-manager/integrations/route-azure-key-vault-oauth-redirect.tsx", - "parent": "/_authenticate/_inject-org-details/integrations" - }, - "/_authenticate/_inject-org-details/integrations/bitbucket/oauth2/callback": { - "filePath": "secret-manager/integrations/route-bitbucket-oauth-redirect.tsx", - "parent": "/_authenticate/_inject-org-details/integrations" - }, - "/_authenticate/_inject-org-details/integrations/gcp-secret-manager/oauth2/callback": { - "filePath": "secret-manager/integrations/route-gcp-oauth-redirect.tsx", - "parent": "/_authenticate/_inject-org-details/integrations" - }, - "/_authenticate/_inject-org-details/integrations/github/oauth2/callback": { - "filePath": "secret-manager/integrations/route-github-oauth-redirect.tsx", - "parent": "/_authenticate/_inject-org-details/integrations" - }, - "/_authenticate/_inject-org-details/integrations/gitlab/oauth2/callback": { - "filePath": "secret-manager/integrations/route-gitlab-oauth-redirect.tsx", - "parent": "/_authenticate/_inject-org-details/integrations" - }, - "/_authenticate/_inject-org-details/integrations/heroku/oauth2/callback": { - "filePath": "secret-manager/integrations/route-heroku-oauth-redirect.tsx", - "parent": "/_authenticate/_inject-org-details/integrations" - }, - "/_authenticate/_inject-org-details/integrations/netlify/oauth2/callback": { - "filePath": "secret-manager/integrations/route-netlify-oauth-redirect.tsx", - "parent": "/_authenticate/_inject-org-details/integrations" - }, - "/_authenticate/_inject-org-details/integrations/vercel/oauth2/callback": { - "filePath": "secret-manager/integrations/route-vercel-oauth-redirect.tsx", - "parent": "/_authenticate/_inject-org-details/integrations" - }, - "/_authenticate/_inject-org-details/kms/$projectId/_kms-layout/access-management": { - "filePath": "project/AccessControlPage/route-kms.tsx", - "parent": "/_authenticate/_inject-org-details/kms/$projectId/_kms-layout" - }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/access-management": { - "filePath": "project/AccessControlPage/route-secret-manager.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout" - }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations": { + "/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId": { "filePath": "", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout", + "parent": "/_authenticate/_inject-org-details/_org-layout", "children": [ - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/$integrationId", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/select-integration-auth", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/aws-parameter-store/authorize", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/aws-parameter-store/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/aws-secret-manager/authorize", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/aws-secret-manager/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-app-configuration/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-devops/authorize", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-devops/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/authorize", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/bitbucket/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/checkly/authorize", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/checkly/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/circleci/authorize", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/circleci/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloud-66/authorize", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloud-66/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-pages/authorize", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-pages/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-workers/authorize", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-workers/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/codefresh/authorize", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/codefresh/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/databricks/authorize", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/databricks/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/digital-ocean-app-platform/authorize", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/digital-ocean-app-platform/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/flyio/authorize", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/flyio/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/authorize", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/github/auth-mode-selection", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/github/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/authorize", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/hashicorp-vault/authorize", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/hashicorp-vault/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/hasura-cloud/authorize", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/hasura-cloud/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/heroku/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/laravel-forge/authorize", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/laravel-forge/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/netlify/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/northflank/authorize", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/northflank/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/octopus-deploy/authorize", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/octopus-deploy/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/qovery/authorize", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/qovery/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/railway/authorize", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/railway/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/render/authorize", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/render/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/rundeck/authorize", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/rundeck/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/supabase/authorize", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/supabase/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/teamcity/authorize", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/teamcity/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/terraform-cloud/authorize", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/terraform-cloud/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/travisci/authorize", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/travisci/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/vercel/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/windmill/authorize", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/windmill/create", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-app-configuration/oauth2/callback", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/oauth2/callback", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/bitbucket/oauth2/callback", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/oauth2/callback", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/github/oauth2/callback", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/oauth2/callback", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/heroku/oauth2/callback", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/netlify/oauth2/callback", - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/vercel/oauth2/callback" + "/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout" ] }, - "/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/access-management": { + "/_authenticate/_inject-org-details/_org-layout/kms/$projectId": { + "filePath": "", + "parent": "/_authenticate/_inject-org-details/_org-layout", + "children": [ + "/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout" + ] + }, + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId": { + "filePath": "", + "parent": "/_authenticate/_inject-org-details/_org-layout", + "children": [ + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout" + ] + }, + "/_authenticate/_inject-org-details/_org-layout/ssh/$projectId": { + "filePath": "", + "parent": "/_authenticate/_inject-org-details/_org-layout", + "children": [ + "/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout" + ] + }, + "/_authenticate/_inject-org-details/_org-layout/organization/cert-manager/overview": { + "filePath": "organization/CertManagerOverviewPage/route.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/organization" + }, + "/_authenticate/_inject-org-details/_org-layout/organization/groups/$groupId": { + "filePath": "organization/GroupDetailsByIDPage/route.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/organization" + }, + "/_authenticate/_inject-org-details/_org-layout/organization/identities/$identityId": { + "filePath": "organization/IdentityDetailsByIDPage/route.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/organization" + }, + "/_authenticate/_inject-org-details/_org-layout/organization/kms/overview": { + "filePath": "organization/KmsOverviewPage/route.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/organization" + }, + "/_authenticate/_inject-org-details/_org-layout/organization/members/$membershipId": { + "filePath": "organization/UserDetailsByIDPage/route.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/organization" + }, + "/_authenticate/_inject-org-details/_org-layout/organization/roles/$roleId": { + "filePath": "organization/RoleByIDPage/route.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/organization" + }, + "/_authenticate/_inject-org-details/_org-layout/organization/secret-manager/overview": { + "filePath": "organization/SecretManagerOverviewPage/route.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/organization" + }, + "/_authenticate/_inject-org-details/_org-layout/organization/ssh/overview": { + "filePath": "organization/SshOverviewPage/route.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/organization" + }, + "/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout": { + "filePath": "cert-manager/layout.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId", + "children": [ + "/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/overview", + "/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/settings", + "/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/access-management", + "/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/ca/$caId", + "/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/identities/$identityId", + "/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/members/$membershipId", + "/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/pki-collections/$collectionId", + "/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/roles/$roleSlug" + ] + }, + "/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout": { + "filePath": "kms/layout.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/kms/$projectId", + "children": [ + "/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout/overview", + "/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout/settings", + "/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout/access-management", + "/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout/identities/$identityId", + "/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout/members/$membershipId", + "/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout/roles/$roleSlug" + ] + }, + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout": { + "filePath": "secret-manager/layout.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId", + "children": [ + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/allowlist", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/approval", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/overview", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/secret-rotation", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/settings", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/access-management", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/secrets/$envSlug", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/identities/$identityId", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/members/$membershipId", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/roles/$roleSlug" + ] + }, + "/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout": { + "filePath": "ssh/layout.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/ssh/$projectId", + "children": [ + "/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/overview", + "/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/settings", + "/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/access-management", + "/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/ca/$caId", + "/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/identities/$identityId", + "/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/members/$membershipId", + "/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/roles/$roleSlug" + ] + }, + "/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/overview": { + "filePath": "cert-manager/CertificatesPage/route.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout" + }, + "/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/settings": { + "filePath": "cert-manager/SettingsPage/route.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout" + }, + "/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout/overview": { + "filePath": "kms/OverviewPage/route.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout" + }, + "/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout/settings": { + "filePath": "kms/SettingsPage/route.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout" + }, + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/allowlist": { + "filePath": "secret-manager/IPAllowlistPage/route.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout" + }, + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/approval": { + "filePath": "secret-manager/SecretApprovalsPage/route.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout" + }, + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/overview": { + "filePath": "secret-manager/OverviewPage/route.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout" + }, + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/secret-rotation": { + "filePath": "secret-manager/SecretRotationPage/route.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout" + }, + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/settings": { + "filePath": "secret-manager/SettingsPage/route.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout" + }, + "/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/overview": { + "filePath": "ssh/OverviewPage/route.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout" + }, + "/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/settings": { + "filePath": "ssh/SettingsPage/route.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout" + }, + "/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/access-management": { + "filePath": "project/AccessControlPage/route-cert-manager.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout" + }, + "/_authenticate/_inject-org-details/_org-layout/integrations/azure-app-configuration/oauth2/callback": { + "filePath": "secret-manager/integrations/route-azure-app-configurations-oauth-redirect.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/integrations" + }, + "/_authenticate/_inject-org-details/_org-layout/integrations/azure-key-vault/oauth2/callback": { + "filePath": "secret-manager/integrations/route-azure-key-vault-oauth-redirect.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/integrations" + }, + "/_authenticate/_inject-org-details/_org-layout/integrations/bitbucket/oauth2/callback": { + "filePath": "secret-manager/integrations/route-bitbucket-oauth-redirect.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/integrations" + }, + "/_authenticate/_inject-org-details/_org-layout/integrations/gcp-secret-manager/oauth2/callback": { + "filePath": "secret-manager/integrations/route-gcp-oauth-redirect.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/integrations" + }, + "/_authenticate/_inject-org-details/_org-layout/integrations/github/oauth2/callback": { + "filePath": "secret-manager/integrations/route-github-oauth-redirect.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/integrations" + }, + "/_authenticate/_inject-org-details/_org-layout/integrations/gitlab/oauth2/callback": { + "filePath": "secret-manager/integrations/route-gitlab-oauth-redirect.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/integrations" + }, + "/_authenticate/_inject-org-details/_org-layout/integrations/heroku/oauth2/callback": { + "filePath": "secret-manager/integrations/route-heroku-oauth-redirect.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/integrations" + }, + "/_authenticate/_inject-org-details/_org-layout/integrations/netlify/oauth2/callback": { + "filePath": "secret-manager/integrations/route-netlify-oauth-redirect.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/integrations" + }, + "/_authenticate/_inject-org-details/_org-layout/integrations/vercel/oauth2/callback": { + "filePath": "secret-manager/integrations/route-vercel-oauth-redirect.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/integrations" + }, + "/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout/access-management": { + "filePath": "project/AccessControlPage/route-kms.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout" + }, + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/access-management": { + "filePath": "project/AccessControlPage/route-secret-manager.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout" + }, + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations": { + "filePath": "", + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout", + "children": [ + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/$integrationId", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/select-integration-auth", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/aws-parameter-store/authorize", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/aws-parameter-store/create", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/aws-secret-manager/authorize", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/aws-secret-manager/create", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-app-configuration/create", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-devops/authorize", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-devops/create", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/authorize", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/create", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/bitbucket/create", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/checkly/authorize", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/checkly/create", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/circleci/authorize", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/circleci/create", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/cloud-66/authorize", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/cloud-66/create", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-pages/authorize", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-pages/create", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-workers/authorize", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-workers/create", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/codefresh/authorize", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/codefresh/create", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/databricks/authorize", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/databricks/create", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/digital-ocean-app-platform/authorize", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/digital-ocean-app-platform/create", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/flyio/authorize", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/flyio/create", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/authorize", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/create", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/github/auth-mode-selection", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/github/create", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/authorize", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/create", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/hashicorp-vault/authorize", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/hashicorp-vault/create", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/hasura-cloud/authorize", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/hasura-cloud/create", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/heroku/create", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/laravel-forge/authorize", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/laravel-forge/create", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/netlify/create", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/northflank/authorize", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/northflank/create", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/octopus-deploy/authorize", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/octopus-deploy/create", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/qovery/authorize", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/qovery/create", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/railway/authorize", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/railway/create", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/render/authorize", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/render/create", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/rundeck/authorize", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/rundeck/create", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/supabase/authorize", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/supabase/create", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/teamcity/authorize", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/teamcity/create", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/terraform-cloud/authorize", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/terraform-cloud/create", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/travisci/authorize", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/travisci/create", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/vercel/create", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/windmill/authorize", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/windmill/create", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-app-configuration/oauth2/callback", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/oauth2/callback", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/bitbucket/oauth2/callback", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/oauth2/callback", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/github/oauth2/callback", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/oauth2/callback", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/heroku/oauth2/callback", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/netlify/oauth2/callback", + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/vercel/oauth2/callback" + ] + }, + "/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/access-management": { "filePath": "project/AccessControlPage/route-ssh.tsx", - "parent": "/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout" + "parent": "/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/": { "filePath": "secret-manager/IntegrationsListPage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/ca/$caId": { + "/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/ca/$caId": { "filePath": "cert-manager/CertAuthDetailsByIDPage/route.tsx", - "parent": "/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout" + "parent": "/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/$integrationId": { - "filePath": "secret-manager/IntegrationsDetailsByIDPage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" - }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/select-integration-auth": { - "filePath": "secret-manager/integrations/SelectIntegrationAuthPage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" - }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/secrets/$envSlug": { - "filePath": "secret-manager/SecretDashboardPage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout" - }, - "/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/ca/$caId": { - "filePath": "ssh/SshCaByIDPage/route.tsx", - "parent": "/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout" - }, - "/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/identities/$identityId": { - "filePath": "project/IdentityDetailsByIDPage/route-cert-manager.tsx", - "parent": "/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout" - }, - "/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/members/$membershipId": { - "filePath": "project/MemberDetailsByIDPage/route-cert-manager.tsx", - "parent": "/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout" - }, - "/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/pki-collections/$collectionId": { - "filePath": "cert-manager/PkiCollectionDetailsByIDPage/routes.tsx", - "parent": "/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout" - }, - "/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout/roles/$roleSlug": { - "filePath": "project/RoleDetailsBySlugPage/route-cert-manager.tsx", - "parent": "/_authenticate/_inject-org-details/cert-manager/$projectId/_cert-manager-layout" - }, - "/_authenticate/_inject-org-details/kms/$projectId/_kms-layout/identities/$identityId": { - "filePath": "project/IdentityDetailsByIDPage/route-kms.tsx", - "parent": "/_authenticate/_inject-org-details/kms/$projectId/_kms-layout" - }, - "/_authenticate/_inject-org-details/kms/$projectId/_kms-layout/members/$membershipId": { - "filePath": "project/MemberDetailsByIDPage/route-kms.tsx", - "parent": "/_authenticate/_inject-org-details/kms/$projectId/_kms-layout" - }, - "/_authenticate/_inject-org-details/kms/$projectId/_kms-layout/roles/$roleSlug": { - "filePath": "project/RoleDetailsBySlugPage/route-kms.tsx", - "parent": "/_authenticate/_inject-org-details/kms/$projectId/_kms-layout" - }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/identities/$identityId": { - "filePath": "project/IdentityDetailsByIDPage/route-secret-manager.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout" - }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/members/$membershipId": { - "filePath": "project/MemberDetailsByIDPage/route-secret-manager.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout" - }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/roles/$roleSlug": { - "filePath": "project/RoleDetailsBySlugPage/route-secret-manager.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout" - }, - "/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/identities/$identityId": { - "filePath": "project/IdentityDetailsByIDPage/route-ssh.tsx", - "parent": "/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout" - }, - "/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/members/$membershipId": { - "filePath": "project/MemberDetailsByIDPage/route-ssh.tsx", - "parent": "/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout" - }, - "/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout/roles/$roleSlug": { - "filePath": "project/RoleDetailsBySlugPage/route-ssh.tsx", - "parent": "/_authenticate/_inject-org-details/ssh/$projectId/_ssh-layout" - }, - "/_authenticate/_inject-org-details/organization/_layout/app-connections/github/oauth/callback": { + "/_authenticate/_inject-org-details/_org-layout/organization/app-connections/github/oauth/callback": { "filePath": "organization/AppConnections/GithubOauthCallbackPage/route.tsx", - "parent": "/_authenticate/_inject-org-details/organization/_layout" + "parent": "/_authenticate/_inject-org-details/_org-layout/organization" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/aws-parameter-store/authorize": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/$integrationId": { + "filePath": "secret-manager/IntegrationsDetailsByIDPage/route.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" + }, + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/select-integration-auth": { + "filePath": "secret-manager/integrations/SelectIntegrationAuthPage/route.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" + }, + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/secrets/$envSlug": { + "filePath": "secret-manager/SecretDashboardPage/route.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout" + }, + "/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/ca/$caId": { + "filePath": "ssh/SshCaByIDPage/route.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout" + }, + "/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/identities/$identityId": { + "filePath": "project/IdentityDetailsByIDPage/route-cert-manager.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout" + }, + "/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/members/$membershipId": { + "filePath": "project/MemberDetailsByIDPage/route-cert-manager.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout" + }, + "/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/pki-collections/$collectionId": { + "filePath": "cert-manager/PkiCollectionDetailsByIDPage/routes.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout" + }, + "/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout/roles/$roleSlug": { + "filePath": "project/RoleDetailsBySlugPage/route-cert-manager.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout" + }, + "/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout/identities/$identityId": { + "filePath": "project/IdentityDetailsByIDPage/route-kms.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout" + }, + "/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout/members/$membershipId": { + "filePath": "project/MemberDetailsByIDPage/route-kms.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout" + }, + "/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout/roles/$roleSlug": { + "filePath": "project/RoleDetailsBySlugPage/route-kms.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout" + }, + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/identities/$identityId": { + "filePath": "project/IdentityDetailsByIDPage/route-secret-manager.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout" + }, + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/members/$membershipId": { + "filePath": "project/MemberDetailsByIDPage/route-secret-manager.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout" + }, + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/roles/$roleSlug": { + "filePath": "project/RoleDetailsBySlugPage/route-secret-manager.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout" + }, + "/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/identities/$identityId": { + "filePath": "project/IdentityDetailsByIDPage/route-ssh.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout" + }, + "/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/members/$membershipId": { + "filePath": "project/MemberDetailsByIDPage/route-ssh.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout" + }, + "/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout/roles/$roleSlug": { + "filePath": "project/RoleDetailsBySlugPage/route-ssh.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/ssh/$projectId/_ssh-layout" + }, + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/aws-parameter-store/authorize": { "filePath": "secret-manager/integrations/AwsParameterStoreAuthorizePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/aws-parameter-store/create": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/aws-parameter-store/create": { "filePath": "secret-manager/integrations/AwsParameterStoreConfigurePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/aws-secret-manager/authorize": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/aws-secret-manager/authorize": { "filePath": "secret-manager/integrations/AwsSecretManagerAuthorizePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/aws-secret-manager/create": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/aws-secret-manager/create": { "filePath": "secret-manager/integrations/AwsSecretManagerConfigurePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-app-configuration/create": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-app-configuration/create": { "filePath": "secret-manager/integrations/AzureAppConfigurationConfigurePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-devops/authorize": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-devops/authorize": { "filePath": "secret-manager/integrations/AzureDevopsAuthorizePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-devops/create": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-devops/create": { "filePath": "secret-manager/integrations/AzureDevopsConfigurePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/authorize": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/authorize": { "filePath": "secret-manager/integrations/AzureKeyVaultAuthorizePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/create": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/create": { "filePath": "secret-manager/integrations/AzureKeyVaultConfigurePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/bitbucket/create": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/bitbucket/create": { "filePath": "secret-manager/integrations/BitbucketConfigurePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/checkly/authorize": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/checkly/authorize": { "filePath": "secret-manager/integrations/ChecklyAuthorizePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/checkly/create": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/checkly/create": { "filePath": "secret-manager/integrations/ChecklyConfigurePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/circleci/authorize": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/circleci/authorize": { "filePath": "secret-manager/integrations/CircleCIAuthorizePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/circleci/create": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/circleci/create": { "filePath": "secret-manager/integrations/CircleCIConfigurePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloud-66/authorize": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/cloud-66/authorize": { "filePath": "secret-manager/integrations/Cloud66AuthorizePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloud-66/create": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/cloud-66/create": { "filePath": "secret-manager/integrations/Cloud66ConfigurePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-pages/authorize": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-pages/authorize": { "filePath": "secret-manager/integrations/CloudflarePagesAuthorizePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-pages/create": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-pages/create": { "filePath": "secret-manager/integrations/CloudflarePagesConfigurePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-workers/authorize": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-workers/authorize": { "filePath": "secret-manager/integrations/CloudflareWorkersAuthorizePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-workers/create": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/cloudflare-workers/create": { "filePath": "secret-manager/integrations/CloudflareWorkersConfigurePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/codefresh/authorize": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/codefresh/authorize": { "filePath": "secret-manager/integrations/CodefreshAuthorizePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/codefresh/create": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/codefresh/create": { "filePath": "secret-manager/integrations/CodefreshConfigurePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/databricks/authorize": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/databricks/authorize": { "filePath": "secret-manager/integrations/DatabricksAuthorizePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/databricks/create": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/databricks/create": { "filePath": "secret-manager/integrations/DatabricksConfigurePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/digital-ocean-app-platform/authorize": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/digital-ocean-app-platform/authorize": { "filePath": "secret-manager/integrations/DigitalOceanAppPlatformAuthorizePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/digital-ocean-app-platform/create": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/digital-ocean-app-platform/create": { "filePath": "secret-manager/integrations/DigitalOceanAppPlatformConfigurePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/flyio/authorize": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/flyio/authorize": { "filePath": "secret-manager/integrations/FlyioAuthorizePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/flyio/create": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/flyio/create": { "filePath": "secret-manager/integrations/FlyioConfigurePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/authorize": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/authorize": { "filePath": "secret-manager/integrations/GcpSecretManagerAuthorizePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/create": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/create": { "filePath": "secret-manager/integrations/GcpSecretManagerConfigurePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/github/auth-mode-selection": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/github/auth-mode-selection": { "filePath": "secret-manager/integrations/GithubAuthorizePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/github/create": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/github/create": { "filePath": "secret-manager/integrations/GithubConfigurePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/authorize": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/authorize": { "filePath": "secret-manager/integrations/GitlabAuthorizePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/create": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/create": { "filePath": "secret-manager/integrations/GitlabConfigurePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/hashicorp-vault/authorize": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/hashicorp-vault/authorize": { "filePath": "secret-manager/integrations/HashicorpVaultAuthorizePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/hashicorp-vault/create": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/hashicorp-vault/create": { "filePath": "secret-manager/integrations/HashicorpVaultConfigurePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/hasura-cloud/authorize": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/hasura-cloud/authorize": { "filePath": "secret-manager/integrations/HasuraCloudAuthorizePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/hasura-cloud/create": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/hasura-cloud/create": { "filePath": "secret-manager/integrations/HasuraCloudConfigurePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/heroku/create": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/heroku/create": { "filePath": "secret-manager/integrations/HerokuConfigurePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/laravel-forge/authorize": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/laravel-forge/authorize": { "filePath": "secret-manager/integrations/LaravelForgeAuthorizePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/laravel-forge/create": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/laravel-forge/create": { "filePath": "secret-manager/integrations/LaravelForgeConfigurePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/netlify/create": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/netlify/create": { "filePath": "secret-manager/integrations/NetlifyConfigurePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/northflank/authorize": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/northflank/authorize": { "filePath": "secret-manager/integrations/NorthflankAuthorizePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/northflank/create": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/northflank/create": { "filePath": "secret-manager/integrations/NorthflankConfigurePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/octopus-deploy/authorize": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/octopus-deploy/authorize": { "filePath": "secret-manager/integrations/OctopusDeployAuthorizePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/octopus-deploy/create": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/octopus-deploy/create": { "filePath": "secret-manager/integrations/OctopusDeployConfigurePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/qovery/authorize": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/qovery/authorize": { "filePath": "secret-manager/integrations/QoveryAuthorizePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/qovery/create": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/qovery/create": { "filePath": "secret-manager/integrations/QoveryConfigurePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/railway/authorize": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/railway/authorize": { "filePath": "secret-manager/integrations/RailwayAuthorizePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/railway/create": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/railway/create": { "filePath": "secret-manager/integrations/RailwayConfigurePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/render/authorize": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/render/authorize": { "filePath": "secret-manager/integrations/RenderAuthorizePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/render/create": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/render/create": { "filePath": "secret-manager/integrations/RenderConfigurePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/rundeck/authorize": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/rundeck/authorize": { "filePath": "secret-manager/integrations/RundeckAuthorizePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/rundeck/create": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/rundeck/create": { "filePath": "secret-manager/integrations/RundeckConfigurePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/supabase/authorize": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/supabase/authorize": { "filePath": "secret-manager/integrations/SupabaseAuthorizePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/supabase/create": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/supabase/create": { "filePath": "secret-manager/integrations/SupabaseConfigurePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/teamcity/authorize": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/teamcity/authorize": { "filePath": "secret-manager/integrations/TeamcityAuthorizePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/teamcity/create": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/teamcity/create": { "filePath": "secret-manager/integrations/TeamcityConfigurePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/terraform-cloud/authorize": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/terraform-cloud/authorize": { "filePath": "secret-manager/integrations/TerraformCloudAuthorizePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/terraform-cloud/create": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/terraform-cloud/create": { "filePath": "secret-manager/integrations/TerraformCloudConfigurePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/travisci/authorize": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/travisci/authorize": { "filePath": "secret-manager/integrations/TravisCIAuthorizePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/travisci/create": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/travisci/create": { "filePath": "secret-manager/integrations/TravisCIConfigurePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/vercel/create": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/vercel/create": { "filePath": "secret-manager/integrations/VercelConfigurePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/windmill/authorize": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/windmill/authorize": { "filePath": "secret-manager/integrations/WindmillAuthorizePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/windmill/create": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/windmill/create": { "filePath": "secret-manager/integrations/WindmillConfigurePage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-app-configuration/oauth2/callback": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-app-configuration/oauth2/callback": { "filePath": "secret-manager/integrations/AzureAppConfigurationOauthCallbackPage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/oauth2/callback": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/azure-key-vault/oauth2/callback": { "filePath": "secret-manager/integrations/AzureKeyVaultOauthCallbackPage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/bitbucket/oauth2/callback": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/bitbucket/oauth2/callback": { "filePath": "secret-manager/integrations/BitbucketOauthCallbackPage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/oauth2/callback": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/gcp-secret-manager/oauth2/callback": { "filePath": "secret-manager/integrations/GcpSecretManagerOauthCallbackPage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/github/oauth2/callback": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/github/oauth2/callback": { "filePath": "secret-manager/integrations/GithubOauthCallbackPage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/oauth2/callback": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/gitlab/oauth2/callback": { "filePath": "secret-manager/integrations/GitlabOauthCallbackPage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/heroku/oauth2/callback": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/heroku/oauth2/callback": { "filePath": "secret-manager/integrations/HerokuOauthCallbackPage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/netlify/oauth2/callback": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/netlify/oauth2/callback": { "filePath": "secret-manager/integrations/NetlifyOauthCallbackPage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" }, - "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations/vercel/oauth2/callback": { + "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations/vercel/oauth2/callback": { "filePath": "secret-manager/integrations/VercelOauthCallbackPage/route.tsx", - "parent": "/_authenticate/_inject-org-details/secret-manager/$projectId/_secret-manager-layout/integrations" + "parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/integrations" } } } diff --git a/frontend/src/routes.ts b/frontend/src/routes.ts index d8913ec66..4fc748361 100644 --- a/frontend/src/routes.ts +++ b/frontend/src/routes.ts @@ -8,28 +8,26 @@ const adminRoute = route("/admin", [ ]); const organizationRoutes = route("/organization", [ - layout("organization/layout.tsx", [ - route("/secret-manager/overview", "organization/SecretManagerOverviewPage/route.tsx"), - route("/cert-manager/overview", "organization/CertManagerOverviewPage/route.tsx"), - route("/ssh/overview", "organization/SshOverviewPage/route.tsx"), - route("/kms/overview", "organization/KmsOverviewPage/route.tsx"), - route("/access-management", "organization/AccessManagementPage/route.tsx"), - route("/admin", "organization/AdminPage/route.tsx"), - route("/audit-logs", "organization/AuditLogsPage/route.tsx"), - route("/billing", "organization/BillingPage/route.tsx"), - route("/none", "organization/NoOrgPage/route.tsx"), - route("/secret-sharing", "organization/SecretSharingPage/route.tsx"), - route("/settings", "organization/SettingsPage/route.tsx"), - route("/secret-scanning", "organization/SecretScanningPage/route.tsx"), - route("/groups/$groupId", "organization/GroupDetailsByIDPage/route.tsx"), - route("/members/$membershipId", "organization/UserDetailsByIDPage/route.tsx"), - route("/roles/$roleId", "organization/RoleByIDPage/route.tsx"), - route("/identities/$identityId", "organization/IdentityDetailsByIDPage/route.tsx"), - route( - "/app-connections/github/oauth/callback", - "organization/AppConnections/GithubOauthCallbackPage/route.tsx" - ) - ]) + route("/secret-manager/overview", "organization/SecretManagerOverviewPage/route.tsx"), + route("/cert-manager/overview", "organization/CertManagerOverviewPage/route.tsx"), + route("/ssh/overview", "organization/SshOverviewPage/route.tsx"), + route("/kms/overview", "organization/KmsOverviewPage/route.tsx"), + route("/access-management", "organization/AccessManagementPage/route.tsx"), + route("/admin", "organization/AdminPage/route.tsx"), + route("/audit-logs", "organization/AuditLogsPage/route.tsx"), + route("/billing", "organization/BillingPage/route.tsx"), + route("/none", "organization/NoOrgPage/route.tsx"), + route("/secret-sharing", "organization/SecretSharingPage/route.tsx"), + route("/settings", "organization/SettingsPage/route.tsx"), + route("/secret-scanning", "organization/SecretScanningPage/route.tsx"), + route("/groups/$groupId", "organization/GroupDetailsByIDPage/route.tsx"), + route("/members/$membershipId", "organization/UserDetailsByIDPage/route.tsx"), + route("/roles/$roleId", "organization/RoleByIDPage/route.tsx"), + route("/identities/$identityId", "organization/IdentityDetailsByIDPage/route.tsx"), + route( + "/app-connections/github/oauth/callback", + "organization/AppConnections/GithubOauthCallbackPage/route.tsx" + ) ]); const secretManagerRoutes = route("/secret-manager/$projectId", [ @@ -338,12 +336,14 @@ export const routes = rootRoute("root.tsx", [ ]), middleware("inject-org-details.tsx", [ adminRoute, - organizationRoutes, - secretManagerRoutes, - secretManagerIntegrationsRedirect, - certManagerRoutes, - kmsRoutes, - sshRoutes + layout("org-layout", "organization/layout.tsx", [ + organizationRoutes, + secretManagerRoutes, + secretManagerIntegrationsRedirect, + certManagerRoutes, + kmsRoutes, + sshRoutes + ]) ]) ]) ]); From 78e894c2bbe32d6881b6ee6e32d5ebc662eceb53 Mon Sep 17 00:00:00 2001 From: = Date: Tue, 21 Jan 2025 01:34:21 +0530 Subject: [PATCH 10/10] feat: changed user icon --- frontend/public/lotties/three-ellipsis.json | 1 + frontend/public/lotties/user.json | 1 + .../MenuIconButton/MenuIconButton.tsx | 5 ++++- .../MinimizedOrgSidebar.tsx | 18 +++++++----------- 4 files changed, 13 insertions(+), 12 deletions(-) create mode 100644 frontend/public/lotties/three-ellipsis.json create mode 100644 frontend/public/lotties/user.json diff --git a/frontend/public/lotties/three-ellipsis.json b/frontend/public/lotties/three-ellipsis.json new file mode 100644 index 000000000..692b639e2 --- /dev/null +++ b/frontend/public/lotties/three-ellipsis.json @@ -0,0 +1 @@ +{"v":"5.7.5","fr":100,"ip":0,"op":100,"w":300,"h":300,"nm":"Comp 1","ddd":0,"metadata":{},"assets":[{"id":"0","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"ball4","sr":1,"ks":{"p":{"a":0,"k":[-197,-103],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}},"ao":0,"shapes":[{"ty":"gr","nm":"ball4","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[26,0],[0,26],[-26,0],[0,-26],[26,0]],"i":[[0,0],[14.359,0],[0,14.359],[-14.359,0],[0,-14.359]],"o":[[0,14.359],[-14.359,0],[0,-14.359],[14.359,0],[0,0]]}}},{"ty":"fl","c":{"a":0,"k":[1,1,1],"ix":2},"o":{"a":0,"k":100,"ix":2},"r":1,"bm":0},{"ty":"tr","p":{"a":1,"k":[{"t":27,"s":[223,169.5],"i":{"x":[0.465],"y":[1]},"o":{"x":[0.534],"y":[0]}},{"t":52,"s":[223,129.5],"i":{"x":[0.424],"y":[1]},"o":{"x":[0.514],"y":[0]}},{"t":77,"s":[223,169.5],"i":{"x":[0.465],"y":[1]},"o":{"x":[0.054],"y":[0]}},{"t":102,"s":[223,129.5],"i":{"x":[0.75],"y":[0.75]},"o":{"x":[0.25],"y":[0.25]}}],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]}],"ip":0,"op":101,"st":0,"bm":0}]},{"id":"1","layers":[{"ddd":0,"ind":2,"ty":4,"nm":"ball 4","sr":1,"ks":{"p":{"a":0,"k":[-124,-103],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}},"ao":0,"shapes":[{"ty":"gr","nm":"ball 4","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[26,0],[0,26],[-26,0],[0,-26],[26,0]],"i":[[0,0],[14.359,0],[0,14.359],[-14.359,0],[0,-14.359]],"o":[[0,14.359],[-14.359,0],[0,-14.359],[14.359,0],[0,0]]}}},{"ty":"fl","c":{"a":0,"k":[1,1,1],"ix":2},"o":{"a":0,"k":100,"ix":2},"r":1,"bm":0},{"ty":"tr","p":{"a":1,"k":[{"t":18,"s":[150,169.5],"i":{"x":[0.465],"y":[1]},"o":{"x":[0.534],"y":[0]}},{"t":43,"s":[150,129.5],"i":{"x":[0.424],"y":[1]},"o":{"x":[0.514],"y":[0]}},{"t":68,"s":[150,169.5],"i":{"x":[0.465],"y":[1]},"o":{"x":[0.054],"y":[0]}},{"t":93,"s":[150,129.5],"i":{"x":[0.75],"y":[0.75]},"o":{"x":[0.25],"y":[0.25]}}],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]}],"ip":0,"op":101,"st":0,"bm":0}]},{"id":"2","layers":[{"ddd":0,"ind":3,"ty":4,"nm":"ball 3","sr":1,"ks":{"p":{"a":0,"k":[-51,-103],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}},"ao":0,"shapes":[{"ty":"gr","nm":"ball 3","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[26,0],[0,26],[-26,0],[0,-26],[26,0]],"i":[[0,0],[14.359,0],[0,14.359],[-14.359,0],[0,-14.359]],"o":[[0,14.359],[-14.359,0],[0,-14.359],[14.359,0],[0,0]]}}},{"ty":"fl","c":{"a":0,"k":[1,1,1],"ix":2},"o":{"a":0,"k":100,"ix":2},"r":1,"bm":0},{"ty":"tr","p":{"a":1,"k":[{"t":10,"s":[77,169.5],"i":{"x":[0.465],"y":[1]},"o":{"x":[0.534],"y":[0]}},{"t":35,"s":[77,129.5],"i":{"x":[0.424],"y":[1]},"o":{"x":[0.514],"y":[0]}},{"t":60,"s":[77,169.5],"i":{"x":[0.465],"y":[1]},"o":{"x":[0.054],"y":[0]}},{"t":85,"s":[77,129.5],"i":{"x":[0.75],"y":[0.75]},"o":{"x":[0.25],"y":[0.25]}}],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]}],"ip":0,"op":101,"st":0,"bm":0}]},{"id":"3","layers":[{"ddd":0,"ind":4,"ty":4,"nm":"ball3","sr":1,"ks":{"p":{"a":0,"k":[-197,-103],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}},"ao":0,"shapes":[{"ty":"gr","nm":"ball3","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[26,0],[0,26],[-26,0],[0,-26],[26,0]],"i":[[0,0],[14.359,0],[0,14.359],[-14.359,0],[0,-14.359]],"o":[[0,14.359],[-14.359,0],[0,-14.359],[14.359,0],[0,0]]}}},{"ty":"fl","c":{"a":0,"k":[1,1,1],"ix":2},"o":{"a":0,"k":100,"ix":2},"r":1,"bm":0},{"ty":"tr","p":{"a":1,"k":[{"t":-25,"s":[223,169.5],"i":{"x":[0.465],"y":[1]},"o":{"x":[0.534],"y":[0]}},{"t":0,"s":[223,129.5],"i":{"x":[0.424],"y":[1]},"o":{"x":[0.514],"y":[0]}},{"t":25,"s":[223,169.5],"i":{"x":[0.465],"y":[1]},"o":{"x":[0.054],"y":[0]}},{"t":50,"s":[223,129.5],"i":{"x":[0.75],"y":[0.75]},"o":{"x":[0.25],"y":[0.25]}}],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]}],"ip":0,"op":101,"st":0,"bm":0}]},{"id":"4","layers":[{"ddd":0,"ind":5,"ty":4,"nm":"ball 2","sr":1,"ks":{"p":{"a":0,"k":[-124,-103],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}},"ao":0,"shapes":[{"ty":"gr","nm":"ball 2","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[26,0],[0,26],[-26,0],[0,-26],[26,0]],"i":[[0,0],[14.359,0],[0,14.359],[-14.359,0],[0,-14.359]],"o":[[0,14.359],[-14.359,0],[0,-14.359],[14.359,0],[0,0]]}}},{"ty":"fl","c":{"a":0,"k":[1,1,1],"ix":2},"o":{"a":0,"k":100,"ix":2},"r":1,"bm":0},{"ty":"tr","p":{"a":1,"k":[{"t":-33,"s":[150,169.5],"i":{"x":[0.465],"y":[1]},"o":{"x":[0.534],"y":[0]}},{"t":-8,"s":[150,129.5],"i":{"x":[0.424],"y":[1]},"o":{"x":[0.514],"y":[0]}},{"t":17,"s":[150,169.5],"i":{"x":[0.465],"y":[1]},"o":{"x":[0.054],"y":[0]}},{"t":42,"s":[150,129.5],"i":{"x":[0.75],"y":[0.75]},"o":{"x":[0.25],"y":[0.25]}}],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]}],"ip":0,"op":101,"st":0,"bm":0}]},{"id":"5","layers":[{"ddd":0,"ind":6,"ty":4,"nm":"ball 1","sr":1,"ks":{"p":{"a":0,"k":[-51,-103],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}},"ao":0,"shapes":[{"ty":"gr","nm":"ball 1","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[26,0],[0,26],[-26,0],[0,-26],[26,0]],"i":[[0,0],[14.359,0],[0,14.359],[-14.359,0],[0,-14.359]],"o":[[0,14.359],[-14.359,0],[0,-14.359],[14.359,0],[0,0]]}}},{"ty":"fl","c":{"a":0,"k":[1,1,1],"ix":2},"o":{"a":0,"k":100,"ix":2},"r":1,"bm":0},{"ty":"tr","p":{"a":1,"k":[{"t":-42,"s":[77,169.5],"i":{"x":[0.465],"y":[1]},"o":{"x":[0.534],"y":[0]}},{"t":-17,"s":[77,129.5],"i":{"x":[0.424],"y":[1]},"o":{"x":[0.514],"y":[0]}},{"t":8,"s":[77,169.5],"i":{"x":[0.465],"y":[1]},"o":{"x":[0.054],"y":[0]}},{"t":33,"s":[77,129.5],"i":{"x":[0.75],"y":[0.75]},"o":{"x":[0.25],"y":[0.25]}}],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]}],"ip":0,"op":101,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":12345679,"ty":4,"nm":"Group Layer 8","sr":1,"ks":{"p":{"a":0,"k":[219,278.6311475409836,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[30.737704918032787,30.737704918032787,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[220.741,37.184],[225.501,35.896],[228.749,32.36800000000001],[229.981,27.216000000000008],[228.749,22.12],[225.501,18.592],[220.741,17.304],[215.981,18.592],[212.677,22.12],[211.501,27.216000000000008],[212.677,32.36800000000001],[215.981,35.896],[220.741,37.184],[220.741,37.184],[220.741,37.184]],"i":[[0,0],[-1.380999999999972,0.8586999999999989],[-0.7839999999999918,1.493299999999991],[0,1.903999999999996],[0.8220000000000027,1.493299999999991],[1.382000000000062,0.8586999999999989],[1.79200000000003,0],[1.418999999999983,-0.8586999999999989],[0.8220000000000027,-1.493300000000005],[0,-1.904000000000011],[-0.7839999999999918,-1.5307000000000102],[-1.380999999999972,-0.8586999999999989],[-1.754000000000019,0],[0,0],[0,0]],"o":[[1.79200000000003,0],[1.382000000000062,-0.8586999999999989],[0.8220000000000027,-1.5307000000000102],[0,-1.904000000000011],[-0.7839999999999918,-1.493300000000005],[-1.380999999999972,-0.8586999999999989],[-1.754000000000019,0],[-1.380999999999972,0.8586999999999989],[-0.7839999999999918,1.493299999999991],[0,1.903999999999996],[0.8220000000000027,1.493299999999991],[1.418999999999983,0.8586999999999989],[0,0],[0,0],[0,0]]}}},{"ty":"tm","s":{"a":0,"k":0,"ix":2},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":2},"m":1},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"gr","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[221.357,43.06400000000001],[214.917,41.608],[210.49300000000005,37.408],[211.221,36.232],[211.221,42.392],[205.173,42.392],[205.173,0],[211.501,0],[211.501,18.36800000000001],[210.49300000000005,16.912000000000006],[214.973,12.88],[221.357,11.424000000000007],[229.085,13.49600000000001],[234.51700000000005,19.152],[236.533,27.216000000000008],[234.51700000000005,35.28],[229.141,40.992],[221.357,43.06400000000001],[221.357,43.06400000000001],[221.357,43.06400000000001]],"i":[[0,0],[1.942000000000007,0.9706999999999937],[1.045999999999935,1.829300000000003],[-0.2426666666666506,0.3919999999999959],[0,-2.053333333333327],[2.015999999999963,0],[0,14.13066666666667],[-2.109333333333325,0],[0,-6.122666666666674],[0.3360000000000127,0.4853333333333296],[-1.865999999999985,0.9707000000000079],[-2.38900000000001,0],[-2.277000000000044,-1.3813000000000102],[-1.30600000000004,-2.389300000000006],[0,-2.986699999999999],[1.343999999999937,-2.389300000000006],[2.27800000000002,-1.4187000000000012],[2.912000000000035,0],[0,0],[0,0]],"o":[[-2.351999999999975,0],[-1.903999999999996,-0.9707000000000079],[0.2426666666666506,-0.3919999999999959],[0,2.053333333333327],[-2.015999999999963,0],[0,-14.13066666666667],[2.109333333333325,0],[0,6.122666666666667],[-0.3360000000000127,-0.4853333333333296],[1.120000000000005,-1.717300000000009],[1.867000000000075,-0.9706999999999937],[2.875,0],[2.314999999999941,1.381299999999996],[1.343999999999937,2.389300000000006],[0,2.986699999999999],[-1.30600000000004,2.389300000000006],[-2.27699999999993,1.381299999999996],[0,0],[0,0],[0,0]]}}},{"ty":"tm","s":{"a":0,"k":0,"ix":2},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":2},"m":1},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"gr","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[181.87,43.06400000000001],[176.438,42],[172.854,38.976],[171.566,34.384],[172.63,29.960000000000008],[176.046,26.656000000000006],[181.814,24.752],[192.342,23.016000000000005],[192.342,28],[183.046,29.624],[179.35,31.248],[178.174,34.16],[179.462,37.016000000000005],[182.878,38.08],[187.35799999999995,36.96000000000001],[190.38199999999995,33.992],[191.446,29.792],[191.446,22.008],[189.766,18.36800000000001],[185.398,16.912000000000006],[180.974,18.256],[178.23,21.616],[172.966,18.98400000000001],[175.71,15.064000000000007],[180.134,12.376],[185.566,11.424000000000007],[191.894,12.768],[196.206,16.52],[197.774,22.008],[197.774,42.392],[191.726,42.392],[191.726,36.904],[193.014,37.072],[190.27,40.264],[186.518,42.336],[181.87,43.06400000000001],[181.87,43.06400000000001],[181.87,43.06400000000001]],"i":[[0,0],[1.567999999999984,0.7092999999999989],[0.8589999999999236,1.2693000000000012],[0,1.7547],[-0.7089999999999463,1.306699999999992],[-1.530000000000086,0.8960000000000008],[-2.313999999999965,0.3733000000000004],[-3.509333333333302,0.5786666666666633],[0,-1.661333333333332],[3.098666666666645,-0.541333333333327],[0.7839999999999918,-0.784000000000006],[0,-1.194699999999997],[-0.8579999999999472,-0.7467000000000041],[-1.381000000000085,0],[-1.268999999999892,0.7466999999999899],[-0.7089999999999463,1.2319999999999993],[0,1.530699999999996],[0,2.594666666666669],[1.120000000000005,0.9332999999999885],[1.829999999999927,0],[1.269999999999982,-0.8960000000000008],[0.5979999999999563,-1.381299999999996],[1.754666666666708,0.8773333333333255],[-1.269000000000005,1.11999999999999],[-1.680000000000064,0.6346999999999952],[-1.903999999999996,0],[-1.828999999999951,-0.8960000000000008],[-1.008000000000038,-1.6053],[0,-2.090699999999998],[0,-6.794666666666672],[2.015999999999963,0],[0,1.829333333333338],[-0.4293333333333749,-0.05599999999999739],[1.120000000000005,-0.8959999999999866],[1.418999999999983,-0.4852999999999952],[1.717999999999961,0],[0,0],[0,0]],"o":[[-2.052999999999997,0],[-1.529999999999973,-0.7467000000000041],[-0.8580000000000609,-1.306699999999992],[0,-1.642700000000005],[0.7469999999999573,-1.306700000000006],[1.530999999999949,-0.8960000000000008],[3.509333333333302,-0.5786666666666633],[0,1.661333333333332],[-3.098666666666645,0.541333333333327],[-1.680000000000064,0.2987000000000108],[-0.7839999999999918,0.7467000000000041],[0,1.157300000000006],[0.8959999999999582,0.7092999999999989],[1.717999999999961,0],[1.307000000000016,-0.7467000000000041],[0.7100000000000364,-1.2693000000000012],[0,-2.594666666666669],[0,-1.493299999999991],[-1.081999999999994,-0.9707000000000079],[-1.680000000000064,0],[-1.232000000000085,0.8586999999999989],[-1.754666666666708,-0.8773333333333255],[0.5599999999999454,-1.493300000000005],[1.269999999999982,-1.157300000000006],[1.717999999999961,-0.6347000000000094],[2.389999999999986,0],[1.866999999999962,0.8960000000000008],[1.045999999999935,1.568000000000012],[0,6.794666666666672],[-2.015999999999963,0],[0,-1.829333333333338],[0.4293333333333749,0.05599999999999739],[-0.70900000000006,1.2319999999999993],[-1.081999999999994,0.8960000000000008],[-1.380999999999972,0.4853000000000094],[0,0],[0,0],[0,0]]}}},{"ty":"tm","s":{"a":0,"k":0,"ix":2},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":2},"m":1},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"gr","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[159.072,42.392],[159.072,0],[165.4,0],[165.4,42.392],[159.072,42.392],[159.072,42.392],[159.072,42.392]],"i":[[0,0],[0,14.13066666666667],[-2.109333333333325,0],[0,-14.13066666666667],[2.109333333333325,0],[0,0],[0,0]],"o":[[0,-14.13066666666667],[2.109333333333325,0],[0,14.13066666666667],[-2.109333333333325,0],[0,0],[0,0],[0,0]]}}},{"ty":"tm","s":{"a":0,"k":0,"ix":2},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":2},"m":1},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"gr","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[138.952,43.06400000000001],[130.888,40.992],[125.456,35.28],[123.496,27.16],[125.456,19.040000000000006],[130.832,13.49600000000001],[138.448,11.424000000000007],[144.552,12.600000000000009],[149.088,15.848],[151.888,20.49600000000001],[152.896,26.096],[152.84,27.608],[152.616,29.064000000000007],[128.48,29.064000000000007],[128.48,24.024],[149.032,24.024],[146.008,26.320000000000007],[145.616,21.448000000000008],[142.816,18.032],[138.448,16.744],[133.968,18.032],[130.944,21.616],[130.104,27.216000000000008],[130.944,32.592],[134.192,36.176],[139.008,37.464],[143.65599999999995,36.232],[146.736,33.040000000000006],[151.888,35.56],[149.088,39.42400000000001],[144.60799999999995,42.11200000000001],[138.952,43.06400000000001],[138.952,43.06400000000001],[138.952,43.06400000000001]],"i":[[0,0],[2.351999999999975,1.381299999999996],[1.307000000000016,2.389300000000006],[0,2.986699999999999],[-1.307000000000016,2.35199999999999],[-2.240000000000009,1.343999999999994],[-2.836999999999989,0],[-1.79200000000003,-0.784000000000006],[-1.231999999999971,-1.381299999999996],[-0.6349999999999909,-1.754700000000014],[0,-1.978700000000003],[0.03699999999992087,-0.5227000000000004],[0.1119999999999663,-0.4480000000000075],[8.04533333333336,0],[0,1.680000000000007],[-6.850666666666712,0],[1.008000000000038,-0.7653333333333308],[0.6349999999999909,1.4187000000000012],[1.269000000000005,0.8213000000000079],[1.680000000000064,0],[1.307000000000016,-0.8586999999999989],[0.70900000000006,-1.567999999999998],[-0.1490000000000009,-2.202700000000007],[-0.7469999999999573,-1.530699999999996],[-1.380999999999972,-0.8586999999999989],[-1.79200000000003,0],[-1.268999999999892,0.8213000000000079],[-0.7469999999999573,1.306699999999992],[-1.717333333333386,-0.8400000000000034],[1.269000000000005,-1.157300000000006],[1.755000000000109,-0.6720000000000113],[2.052999999999997,0],[0,0],[0,0]],"o":[[-3.024000000000001,0],[-2.315000000000055,-1.4187000000000012],[-1.307000000000016,-2.426699999999997],[0,-3.061299999999989],[1.343999999999937,-2.352000000000004],[2.240000000000009,-1.3813000000000102],[2.277000000000044,0],[1.79200000000003,0.7839999999999918],[1.232000000000085,1.344000000000008],[0.6720000000000255,1.7547],[0,0.4852999999999952],[-0.03700000000003456,0.5227000000000004],[-8.04533333333336,0],[0,-1.680000000000007],[6.850666666666712,0],[-1.008000000000038,0.7653333333333308],[0.3729999999999336,-1.829300000000003],[-0.59699999999998,-1.456000000000003],[-1.232000000000085,-0.8586999999999989],[-1.67999999999995,0],[-1.306999999999903,0.8213000000000079],[-0.7089999999999463,1.530699999999996],[-0.1870000000000118,2.053299999999993],[0.7839999999999918,1.53070000000001],[1.418999999999983,0.8586999999999989],[1.828999999999951,0],[1.307000000000016,-0.8212999999999937],[1.717333333333386,0.8400000000000034],[-0.59699999999998,1.4187000000000012],[-1.231999999999971,1.11999999999999],[-1.716999999999985,0.6346999999999952],[0,0],[0,0],[0,0]]}}},{"ty":"tm","s":{"a":0,"k":0,"ix":2},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":2},"m":1},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"gr","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[111.001,7.951999999999998],[111.001,0.6720000000000041],[117.329,0.6720000000000041],[117.329,7.951999999999998],[111.001,7.951999999999998],[111.001,7.951999999999998],[111.001,7.951999999999998]],"i":[[0,0],[0,2.426666666666662],[-2.109333333333325,0],[0,-2.426666666666662],[2.109333333333325,0],[0,0],[0,0]],"o":[[0,-2.426666666666662],[2.109333333333325,0],[0,2.426666666666662],[-2.109333333333325,0],[0,0],[0,0],[0,0]]}}},{"ty":"tm","s":{"a":0,"k":0,"ix":2},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":2},"m":1},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"gr","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[111.001,42.392],[111.001,12.096],[117.329,12.096],[117.329,42.392],[111.001,42.392],[111.001,42.392],[111.001,42.392]],"i":[[0,0],[0,10.09866666666667],[-2.109333333333325,0],[0,-10.09866666666667],[2.109333333333325,0],[0,0],[0,0]],"o":[[0,-10.09866666666666],[2.109333333333325,0],[0,10.09866666666666],[-2.109333333333325,0],[0,0],[0,0],[0,0]]}}},{"ty":"tm","s":{"a":0,"k":0,"ix":2},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":2},"m":1},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"gr","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[101.41,42.72800000000001],[94.01800000000003,40.040000000000006],[91.38599999999997,32.48],[91.38599999999997,17.808000000000007],[86.06600000000003,17.808000000000007],[86.06600000000003,12.096],[86.90599999999995,12.096],[90.21000000000004,10.864],[91.38599999999997,7.504000000000005],[91.38599999999997,5.152000000000001],[97.71400000000006,5.152000000000001],[97.71400000000006,12.096],[104.602,12.096],[104.602,17.808000000000007],[97.71400000000006,17.808000000000007],[97.71400000000006,32.2],[98.21799999999996,34.888000000000005],[99.84199999999998,36.568],[102.754,37.128],[103.76200000000006,37.072],[104.826,36.96000000000001],[104.826,42.392],[103.09,42.616],[101.41,42.72800000000001],[101.41,42.72800000000001],[101.41,42.72800000000001]],"i":[[0,0],[1.754999999999995,1.792000000000002],[0,3.248000000000005],[0,4.890666666666661],[1.773333333333312,0],[0,1.903999999999996],[-0.2799999999999727,0],[-0.7839999999999918,0.8212999999999937],[0,1.4187000000000012],[0,0.7839999999999989],[-2.109333333333325,0],[0,-2.314666666666668],[-2.295999999999935,0],[0,-1.903999999999996],[2.295999999999935,0],[0,-4.797333333333327],[-0.3360000000000127,-0.7467000000000041],[-0.7469999999999573,-0.4106999999999914],[-1.19500000000005,0],[-0.3730000000000473,0.03730000000000189],[-0.3360000000000127,0.03729999999998768],[0,-1.810666666666663],[0.6349999999999909,-0.07469999999999288],[0.4850000000000136,0],[0,0],[0,0]],"o":[[-3.173000000000002,0],[-1.754999999999995,-1.792000000000002],[0,-4.890666666666661],[-1.773333333333312,0],[0,-1.903999999999996],[0.2799999999999727,0],[1.419000000000096,0],[0.7839999999999918,-0.8213000000000079],[0,-0.7839999999999989],[2.109333333333325,0],[0,2.314666666666668],[2.295999999999935,0],[0,1.903999999999996],[-2.295999999999935,0],[0,4.797333333333327],[0,1.045299999999997],[0.3360000000000127,0.7092999999999989],[0.7470000000000709,0.3733000000000004],[0.2989999999999782,0],[0.3729999999999336,-0.03730000000000189],[0,1.810666666666663],[-0.5230000000000246,0.0747000000000071],[-0.6349999999999909,0.0747000000000071],[0,0],[0,0],[0,0]]}}},{"ty":"tm","s":{"a":0,"k":0,"ix":2},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":2},"m":1},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"gr","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[78.71499999999997,42.72800000000001],[71.32299999999998,40.040000000000006],[68.69100000000003,32.48],[68.69100000000003,17.808000000000007],[63.37099999999998,17.808000000000007],[63.37099999999998,12.096],[64.21100000000001,12.096],[67.51499999999999,10.864],[68.69100000000003,7.504000000000005],[68.69100000000003,5.152000000000001],[75.019,5.152000000000001],[75.019,12.096],[81.90700000000004,12.096],[81.90700000000004,17.808000000000007],[75.019,17.808000000000007],[75.019,32.2],[75.52300000000002,34.888000000000005],[77.14699999999999,36.568],[80.05900000000003,37.128],[81.06700000000001,37.072],[82.13099999999997,36.96000000000001],[82.13099999999997,42.392],[80.39499999999998,42.616],[78.71499999999997,42.72800000000001],[78.71499999999997,42.72800000000001],[78.71499999999997,42.72800000000001]],"i":[[0,0],[1.754000000000019,1.792000000000002],[0,3.248000000000005],[0,4.890666666666661],[1.773333333333369,0],[0,1.903999999999996],[-0.2800000000000296,0],[-0.7839999999999918,0.8212999999999937],[0,1.4187000000000012],[0,0.7839999999999989],[-2.109333333333325,0],[0,-2.314666666666668],[-2.295999999999992,0],[0,-1.903999999999996],[2.295999999999992,0],[0,-4.797333333333327],[-0.3360000000000127,-0.7467000000000041],[-0.7470000000000141,-0.4106999999999914],[-1.19500000000005,0],[-0.3740000000000236,0.03730000000000189],[-0.3360000000000127,0.03729999999998768],[0,-1.810666666666663],[0.6340000000000146,-0.07469999999999288],[0.4850000000000136,0],[0,0],[0,0]],"o":[[-3.173999999999978,0],[-1.754999999999995,-1.792000000000002],[0,-4.890666666666661],[-1.773333333333369,0],[0,-1.903999999999996],[0.2800000000000296,0],[1.418000000000006,0],[0.7839999999999918,-0.8213000000000079],[0,-0.7839999999999989],[2.109333333333325,0],[0,2.314666666666668],[2.295999999999992,0],[0,1.903999999999996],[-2.295999999999992,0],[0,4.797333333333327],[0,1.045299999999997],[0.3359999999999559,0.7092999999999989],[0.7460000000000377,0.3733000000000004],[0.297999999999945,0],[0.3730000000000473,-0.03730000000000189],[0,1.810666666666663],[-0.5230000000000246,0.0747000000000071],[-0.6349999999999909,0.0747000000000071],[0,0],[0,0],[0,0]]}}},{"ty":"tm","s":{"a":0,"k":0,"ix":2},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":2},"m":1},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"gr","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[44.18799999999999,37.184],[48.94799999999998,35.896],[52.19600000000003,32.36800000000001],[53.428,27.216000000000008],[52.19600000000003,22.12],[48.94799999999998,18.592],[44.18799999999999,17.304],[39.428,18.592],[36.12400000000002,22.12],[34.94799999999998,27.216000000000008],[36.12400000000002,32.36800000000001],[39.428,35.896],[44.18799999999999,37.184],[44.18799999999999,37.184],[44.18799999999999,37.184]],"i":[[0,0],[-1.381999999999948,0.8586999999999989],[-0.7840000000000487,1.493299999999991],[0,1.903999999999996],[0.8209999999999695,1.493299999999991],[1.381000000000029,0.8586999999999989],[1.79200000000003,0],[1.418000000000006,-0.8586999999999989],[0.8209999999999695,-1.493300000000005],[0,-1.904000000000011],[-0.7840000000000487,-1.5307000000000102],[-1.382000000000005,-0.8586999999999989],[-1.754999999999995,0],[0,0],[0,0]],"o":[[1.79200000000003,0],[1.381000000000029,-0.8586999999999989],[0.8209999999999695,-1.5307000000000102],[0,-1.904000000000011],[-0.7840000000000487,-1.493300000000005],[-1.381999999999948,-0.8586999999999989],[-1.754999999999995,0],[-1.382000000000005,0.8586999999999989],[-0.7840000000000487,1.493299999999991],[0,1.903999999999996],[0.8209999999999695,1.493299999999991],[1.418000000000006,0.8586999999999989],[0,0],[0,0],[0,0]]}}},{"ty":"tm","s":{"a":0,"k":0,"ix":2},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":2},"m":1},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"gr","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[44.18799999999999,43.06400000000001],[36.18000000000001,40.992],[30.46800000000002,35.336],[28.33999999999997,27.216000000000008],[30.46800000000002,19.096],[36.18000000000001,13.49600000000001],[44.18799999999999,11.424000000000007],[52.19600000000003,13.49600000000001],[57.85199999999998,19.096],[59.98000000000002,27.216000000000008],[57.85199999999998,35.392],[52.139999999999986,41.048],[44.18799999999999,43.06400000000001],[44.18799999999999,43.06400000000001],[44.18799999999999,43.06400000000001]],"i":[[0,0],[2.425999999999988,1.381299999999996],[1.418000000000006,2.389300000000006],[0,3.024000000000001],[-1.41900000000004,2.352000000000004],[-2.389999999999986,1.343999999999994],[-2.949999999999989,0],[-2.352000000000032,-1.3813000000000102],[-1.381999999999948,-2.389300000000006],[0,-3.061300000000003],[1.418000000000006,-2.389299999999992],[2.38900000000001,-1.381299999999996],[2.912000000000035,0],[0,0],[0,0]],"o":[[-2.911999999999978,0],[-2.389999999999986,-1.381299999999996],[-1.41900000000004,-2.389299999999992],[0,-3.061300000000003],[1.418000000000006,-2.389300000000006],[2.38900000000001,-1.3813000000000102],[2.98599999999999,0],[2.388999999999953,1.343999999999994],[1.418000000000006,2.352000000000004],[0,3.061299999999989],[-1.418999999999983,2.389300000000006],[-2.389999999999986,1.343999999999994],[0,0],[0,0],[0,0]]}}},{"ty":"tm","s":{"a":0,"k":0,"ix":2},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":2},"m":1},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"gr","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[0,42.392],[0,0.6720000000000041],[6.608000000000004,0.6720000000000041],[6.608000000000004,36.512],[24.639999999999986,36.512],[24.639999999999986,42.392],[0,42.392],[0,42.392],[0,42.392]],"i":[[0,0],[0,13.90666666666666],[-2.202666666666687,0],[0,-11.94666666666666],[-6.01066666666668,0],[0,-1.959999999999994],[8.21333333333331,0],[0,0],[0,0]],"o":[[0,-13.90666666666667],[2.202666666666687,0],[0,11.94666666666667],[6.01066666666668,0],[0,1.959999999999994],[-8.21333333333331,0],[0,0],[0,0],[0,0]]}}},{"ty":"tm","s":{"a":0,"k":0,"ix":2},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":2},"m":1},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"fl","c":{"a":0,"k":[1,1,1],"ix":2},"o":{"a":0,"k":100,"ix":2},"r":1,"bm":0},{"ty":"tr","p":{"a":0,"k":[98.08047485351562,-21.67217254638672],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[99.99999403953552,99.99999403953552],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[246.681,42.392],[246.681,0],[253.009,0],[253.009,18.032],[252.001,17.248],[255.585,12.936000000000007],[261.297,11.424000000000007],[267.23299999999995,12.88],[271.265,16.912000000000006],[272.721,22.792],[272.721,42.392],[266.449,42.392],[266.449,24.528000000000006],[265.553,20.664],[263.201,18.2],[259.729,17.304],[256.25699999999995,18.2],[253.849,20.664],[253.009,24.528000000000006],[253.009,42.392],[246.681,42.392],[246.681,42.392],[246.681,42.392]],"i":[[0,0],[0,14.13066666666667],[-2.109333333333325,0],[0,-6.010666666666665],[0.3360000000000127,0.2613333333333259],[-1.643000000000029,0.9706999999999937],[-2.166000000000054,0],[-1.717999999999961,-0.9706999999999937],[-0.9710000000000036,-1.717300000000009],[0,-2.202699999999993],[0,-6.533333333333331],[2.090666666666721,0],[0,5.954666666666668],[0.59699999999998,1.045299999999997],[1.007999999999925,0.5600000000000023],[1.305999999999926,0],[1.045000000000073,-0.5973000000000042],[0.59699999999998,-1.082700000000003],[0,-1.493300000000005],[0,-5.954666666666668],[2.109333333333325,0],[0,0],[0,0]],"o":[[0,-14.13066666666667],[2.109333333333325,0],[0,6.010666666666665],[-0.3360000000000127,-0.2613333333333259],[0.7459999999999809,-1.903999999999996],[1.641999999999967,-1.0080000000000098],[2.240000000000009,0],[1.717000000000098,0.9707000000000079],[0.9700000000000273,1.717299999999994],[0,6.533333333333331],[-2.090666666666721,0],[0,-5.954666666666668],[0,-1.5307000000000102],[-0.5599999999999454,-1.082700000000003],[-1.008000000000038,-0.5973000000000042],[-1.270000000000095,0],[-1.007999999999953,0.5600000000000023],[-0.5600000000000023,1.082700000000003],[0,5.954666666666668],[-2.109333333333325,0],[0,0],[0,0],[0,0]]}}},{"ty":"tm","s":{"a":0,"k":0,"ix":2},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":2},"m":1},{"ty":"tr","p":{"a":0,"k":[-354.5325317382812,-77.50520324707031],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"gr","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[237.089,42.72800000000001],[229.697,40.040000000000006],[227.065,32.48],[227.065,17.808000000000007],[221.745,17.808000000000007],[221.745,12.096],[222.585,12.096],[225.889,10.864],[227.065,7.504000000000005],[227.065,5.152000000000001],[233.393,5.152000000000001],[233.393,12.096],[240.281,12.096],[240.281,17.808000000000007],[233.393,17.808000000000007],[233.393,32.2],[233.897,34.888000000000005],[235.521,36.568],[238.433,37.128],[239.441,37.072],[240.505,36.96000000000001],[240.505,42.392],[238.769,42.616],[237.089,42.72800000000001],[237.089,42.72800000000001],[237.089,42.72800000000001]],"i":[[0,0],[1.755000000000052,1.792000000000002],[0,3.248000000000005],[0,4.890666666666661],[1.773333333333369,0],[0,1.903999999999996],[-0.2800000000000296,0],[-0.7839999999999918,0.8212999999999937],[0,1.4187000000000012],[0,0.7839999999999989],[-2.109333333333325,0],[0,-2.314666666666668],[-2.295999999999992,0],[0,-1.903999999999996],[2.295999999999992,0],[0,-4.797333333333327],[-0.3360000000000127,-0.7467000000000041],[-0.7459999999999809,-0.4106999999999914],[-1.194000000000017,0],[-0.3729999999999905,0.03730000000000189],[-0.3360000000000127,0.03729999999998768],[0,-1.810666666666663],[0.6350000000000477,-0.07469999999999288],[0.48599999999999,0],[0,0],[0,0]],"o":[[-3.173000000000002,0],[-1.753999999999962,-1.792000000000002],[0,-4.890666666666661],[-1.773333333333369,0],[0,-1.903999999999996],[0.2800000000000296,0],[1.418999999999983,0],[0.7839999999999918,-0.8213000000000079],[0,-0.7839999999999989],[2.109333333333325,0],[0,2.314666666666668],[2.295999999999992,0],[0,1.903999999999996],[-2.295999999999992,0],[0,4.797333333333327],[0,1.045299999999997],[0.3359999999999559,0.7092999999999989],[0.7470000000000141,0.3733000000000004],[0.2989999999999782,0],[0.3740000000000236,-0.03730000000000189],[0,1.810666666666663],[-0.5220000000000482,0.0747000000000071],[-0.6339999999999577,0.0747000000000071],[0,0],[0,0],[0,0]]}}},{"ty":"tm","s":{"a":0,"k":0,"ix":2},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":2},"m":1},{"ty":"tr","p":{"a":0,"k":[-354.5325317382812,-77.50520324707031],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"gr","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[210.259,7.951999999999998],[210.259,0.6720000000000041],[216.587,0.6720000000000041],[216.587,7.951999999999998],[210.259,7.951999999999998],[210.259,7.951999999999998],[210.259,7.951999999999998]],"i":[[0,0],[0,2.426666666666662],[-2.109333333333325,0],[0,-2.426666666666662],[2.109333333333325,0],[0,0],[0,0]],"o":[[0,-2.426666666666662],[2.109333333333325,0],[0,2.426666666666662],[-2.109333333333325,0],[0,0],[0,0],[0,0]]}}},{"ty":"tm","s":{"a":0,"k":0,"ix":2},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":2},"m":1},{"ty":"tr","p":{"a":0,"k":[-354.5325317382812,-77.50520324707031],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"gr","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[210.259,42.392],[210.259,12.096],[216.587,12.096],[216.587,42.392],[210.259,42.392],[210.259,42.392],[210.259,42.392]],"i":[[0,0],[0,10.09866666666667],[-2.109333333333325,0],[0,-10.09866666666667],[2.109333333333325,0],[0,0],[0,0]],"o":[[0,-10.09866666666666],[2.109333333333325,0],[0,10.09866666666666],[-2.109333333333325,0],[0,0],[0,0],[0,0]]}}},{"ty":"tm","s":{"a":0,"k":0,"ix":2},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":2},"m":1},{"ty":"tr","p":{"a":0,"k":[-354.5325317382812,-77.50520324707031],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"gr","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[169.688,42.392],[159.272,12.096],[165.992,12.096],[173.944,36.232],[171.592,36.232],[179.712,12.096],[185.48,12.096],[193.544,36.232],[191.192,36.232],[199.2,12.096],[205.92,12.096],[195.448,42.392],[189.736,42.392],[181.56,17.696],[183.632,17.696],[175.456,42.392],[169.688,42.392],[169.688,42.392],[169.688,42.392]],"i":[[0,0],[3.47199999999998,10.09866666666667],[-2.240000000000009,0],[-2.650666666666666,-8.045333333333332],[0.7839999999999918,0],[-2.706666666666649,8.045333333333332],[-1.922666666666657,0],[-2.687999999999988,-8.045333333333332],[0.7839999999999918,0],[-2.669333333333327,8.045333333333332],[-2.240000000000009,0],[3.490666666666641,-10.09866666666667],[1.903999999999996,0],[2.725333333333367,8.232],[-0.6906666666666865,0],[2.72533333333331,-8.232],[1.922666666666657,0],[0,0],[0,0]],"o":[[-3.47199999999998,-10.09866666666666],[2.240000000000009,0],[2.650666666666666,8.045333333333332],[-0.7839999999999918,0],[2.706666666666649,-8.045333333333332],[1.922666666666657,0],[2.687999999999988,8.045333333333332],[-0.7839999999999918,0],[2.669333333333327,-8.045333333333332],[2.240000000000009,0],[-3.490666666666641,10.09866666666666],[-1.903999999999996,0],[-2.725333333333367,-8.232],[0.6906666666666865,0],[-2.72533333333331,8.232],[-1.922666666666657,0],[0,0],[0,0],[0,0]]}}},{"ty":"tm","s":{"a":0,"k":0,"ix":2},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":2},"m":1},{"ty":"tr","p":{"a":0,"k":[-354.5325317382812,-77.50520324707031],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"fl","c":{"a":0,"k":[1,1,1],"ix":2},"o":{"a":0,"k":100,"ix":2},"r":1,"bm":0},{"ty":"tr","p":{"a":0,"k":[155.86146545410156,56.001014709472656],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[99.99999403953552,99.99999403953552],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[132.444,43.06400000000001],[124.38,40.992],[118.948,35.28],[116.988,27.16],[118.948,19.040000000000006],[124.324,13.49600000000001],[131.94,11.424000000000007],[138.044,12.600000000000009],[142.58,15.848],[145.38,20.49600000000001],[146.388,26.096],[146.332,27.608],[146.108,29.064000000000007],[121.972,29.064000000000007],[121.972,24.024],[142.524,24.024],[139.5,26.320000000000007],[139.108,21.448000000000008],[136.308,18.032],[131.94,16.744],[127.46,18.032],[124.436,21.616],[123.596,27.216000000000008],[124.436,32.592],[127.684,36.176],[132.5,37.464],[137.148,36.232],[140.228,33.040000000000006],[145.38,35.56],[142.58,39.42400000000001],[138.1,42.11200000000001],[132.444,43.06400000000001],[132.444,43.06400000000001],[132.444,43.06400000000001]],"i":[[0,0],[2.351999999999975,1.381299999999996],[1.305999999999983,2.389300000000006],[0,2.986699999999999],[-1.307000000000016,2.35199999999999],[-2.240000000000009,1.343999999999994],[-2.838000000000022,0],[-1.79200000000003,-0.784000000000006],[-1.232000000000028,-1.381299999999996],[-0.6350000000000477,-1.754700000000014],[0,-1.978700000000003],[0.03699999999997772,-0.5227000000000004],[0.1120000000000232,-0.4480000000000075],[8.045333333333303,0],[0,1.680000000000007],[-6.850666666666655,0],[1.007999999999981,-0.7653333333333308],[0.6340000000000146,1.4187000000000012],[1.269000000000005,0.8213000000000079],[1.67999999999995,0],[1.305999999999983,-0.8586999999999989],[0.7090000000000032,-1.567999999999998],[-0.1499999999999773,-2.202700000000007],[-0.7470000000000141,-1.530699999999996],[-1.382000000000005,-0.8586999999999989],[-1.791999999999973,0],[-1.269999999999982,0.8213000000000079],[-0.7469999999999573,1.306699999999992],[-1.717333333333329,-0.8400000000000034],[1.269000000000005,-1.157300000000006],[1.754000000000019,-0.6720000000000113],[2.052999999999997,0],[0,0],[0,0]],"o":[[-3.024000000000001,0],[-2.314999999999998,-1.4187000000000012],[-1.307000000000016,-2.426699999999997],[0,-3.061299999999989],[1.343999999999994,-2.352000000000004],[2.240000000000009,-1.3813000000000102],[2.276999999999987,0],[1.791999999999973,0.7839999999999918],[1.231999999999971,1.344000000000008],[0.6719999999999686,1.7547],[0,0.4852999999999952],[-0.03800000000001091,0.5227000000000004],[-8.045333333333303,0],[0,-1.680000000000007],[6.850666666666655,0],[-1.007999999999981,0.7653333333333308],[0.3730000000000473,-1.829300000000003],[-0.5979999999999563,-1.456000000000003],[-1.232000000000028,-0.8586999999999989],[-1.680000000000007,0],[-1.307000000000016,0.8213000000000079],[-0.7100000000000364,1.530699999999996],[-0.186999999999955,2.053299999999993],[0.7839999999999918,1.53070000000001],[1.418000000000006,0.8586999999999989],[1.829000000000008,0],[1.305999999999983,-0.8212999999999937],[1.717333333333329,0.8400000000000034],[-0.5980000000000132,1.4187000000000012],[-1.232000000000028,1.11999999999999],[-1.718000000000018,0.6346999999999952],[0,0],[0,0],[0,0]]}}},{"ty":"tm","s":{"a":0,"k":0,"ix":2},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":2},"m":1},{"ty":"tr","p":{"a":0,"k":[-211.7300415039062,-77.67320251464844],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"gr","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[95.32,37.184],[100.024,35.896],[103.328,32.36800000000001],[104.56,27.216000000000008],[103.328,22.12],[100.024,18.592],[95.32,17.304],[90.56,18.592],[87.256,22.12],[86.08000000000001,27.216000000000008],[87.256,32.36800000000001],[90.50399999999999,35.896],[95.32,37.184],[95.32,37.184],[95.32,37.184]],"i":[[0,0],[-1.381,0.8586999999999989],[-0.7839999999999918,1.493299999999991],[0,1.903999999999996],[0.820999999999998,1.493299999999991],[1.419000000000011,0.8586999999999989],[1.754999999999995,0],[1.418999999999983,-0.8586999999999989],[0.7839999999999918,-1.493300000000005],[0,-1.904000000000011],[-0.7839999999999918,-1.5307000000000102],[-1.381,-0.8586999999999989],[-1.792000000000002,0],[0,0],[0,0]],"o":[[1.754999999999995,0],[1.419000000000011,-0.8586999999999989],[0.820999999999998,-1.5307000000000102],[0,-1.904000000000011],[-0.7839999999999918,-1.493300000000005],[-1.381,-0.8586999999999989],[-1.754999999999995,0],[-1.419000000000011,0.8586999999999989],[-0.7839999999999918,1.493299999999991],[0,1.903999999999996],[0.7839999999999918,1.493299999999991],[1.419000000000011,0.8586999999999989],[0,0],[0,0],[0,0]]}}},{"ty":"tm","s":{"a":0,"k":0,"ix":2},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":2},"m":1},{"ty":"tr","p":{"a":0,"k":[-211.7300415039062,-77.67320251464844],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"gr","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[94.70400000000001,43.06400000000001],[86.864,40.992],[81.43199999999999,35.28],[79.47200000000001,27.216000000000008],[81.488,19.152],[86.91999999999999,13.49600000000001],[94.648,11.424000000000007],[101.088,12.88],[105.512,16.912000000000006],[104.56,18.36800000000001],[104.56,0],[110.832,0],[110.832,42.392],[104.84,42.392],[104.84,36.232],[105.568,37.408],[101.088,41.608],[94.70400000000001,43.06400000000001],[94.70400000000001,43.06400000000001],[94.70400000000001,43.06400000000001]],"i":[[0,0],[2.314999999999998,1.381299999999996],[1.344000000000023,2.389300000000006],[0,2.986699999999999],[-1.343999999999994,2.389300000000006],[-2.276999999999987,1.381299999999996],[-2.875,0],[-1.8669999999999902,-0.9706999999999937],[-1.082999999999998,-1.717300000000009],[0.3173333333333233,-0.4853333333333296],[0,6.122666666666674],[-2.090666666666664,0],[0,-14.13066666666667],[1.99733333333333,0],[0,2.053333333333327],[-0.242666666666679,-0.3919999999999959],[1.941000000000003,-0.9707000000000079],[2.314999999999998,0],[0,0],[0,0]],"o":[[-2.912000000000006,0],[-2.277000000000015,-1.4187000000000012],[-1.306999999999988,-2.389300000000006],[0,-2.986699999999999],[1.343999999999994,-2.389300000000006],[2.277000000000015,-1.3813000000000102],[2.426999999999992,0],[1.867000000000019,0.9707000000000079],[-0.3173333333333233,0.4853333333333296],[0,-6.122666666666674],[2.090666666666664,0],[0,14.13066666666667],[-1.99733333333333,0],[0,-2.053333333333327],[0.242666666666679,0.3919999999999959],[-1.045000000000016,1.829300000000003],[-1.941000000000003,0.9706999999999937],[0,0],[0,0],[0,0]]}}},{"ty":"tm","s":{"a":0,"k":0,"ix":2},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":2},"m":1},{"ty":"tr","p":{"a":0,"k":[-211.7300415039062,-77.67320251464844],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"gr","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[57.40100000000001,43.06400000000001],[51.968999999999994,42],[48.38499999999999,38.976],[47.09700000000001,34.384],[48.161,29.960000000000008],[51.577,26.656000000000006],[57.345,24.752],[67.87299999999999,23.016000000000005],[67.87299999999999,28],[58.577,29.624],[54.881,31.248],[53.70500000000001,34.16],[54.992999999999995,37.016000000000005],[58.40899999999999,38.08],[62.88900000000001,36.96000000000001],[65.91300000000001,33.992],[66.977,29.792],[66.977,22.008],[65.297,18.36800000000001],[60.929,16.912000000000006],[56.505,18.256],[53.761,21.616],[48.496999999999986,18.98400000000001],[51.240999999999985,15.064000000000007],[55.66499999999999,12.376],[61.09700000000001,11.424000000000007],[67.42500000000001,12.768],[71.737,16.52],[73.305,22.008],[73.305,42.392],[67.257,42.392],[67.257,36.904],[68.54499999999999,37.072],[65.80099999999999,40.264],[62.04900000000001,42.336],[57.40100000000001,43.06400000000001],[57.40100000000001,43.06400000000001],[57.40100000000001,43.06400000000001]],"i":[[0,0],[1.568000000000012,0.7092999999999989],[0.8590000000000089,1.2693000000000012],[0,1.7547],[-0.7090000000000032,1.306699999999992],[-1.531000000000006,0.8960000000000008],[-2.314999999999998,0.3733000000000004],[-3.509333333333331,0.5786666666666633],[0,-1.661333333333332],[3.098666666666674,-0.541333333333327],[0.7839999999999918,-0.784000000000006],[0,-1.194699999999997],[-0.8590000000000089,-0.7467000000000041],[-1.381,0],[-1.269000000000005,0.7466999999999899],[-0.7090000000000032,1.2319999999999993],[0,1.530699999999996],[0,2.594666666666669],[1.120000000000005,0.9332999999999885],[1.829000000000008,0],[1.269000000000005,-0.8960000000000008],[0.5970000000000084,-1.381299999999996],[1.754666666666679,0.8773333333333255],[-1.268999999999977,1.11999999999999],[-1.680000000000007,0.6346999999999952],[-1.903999999999996,0],[-1.829000000000008,-0.8960000000000008],[-1.0080000000000098,-1.6053],[0,-2.090699999999998],[0,-6.794666666666672],[2.015999999999991,0],[0,1.829333333333338],[-0.429333333333318,-0.05599999999999739],[1.120000000000005,-0.8959999999999866],[1.418999999999983,-0.4852999999999952],[1.716999999999985,0],[0,0],[0,0]],"o":[[-2.053000000000026,0],[-1.531000000000006,-0.7467000000000041],[-0.8589999999999804,-1.306699999999992],[0,-1.642700000000005],[0.7469999999999857,-1.306700000000006],[1.531000000000006,-0.8960000000000008],[3.509333333333331,-0.5786666666666633],[0,1.661333333333332],[-3.098666666666674,0.541333333333327],[-1.680000000000007,0.2987000000000108],[-0.7839999999999918,0.7467000000000041],[0,1.157300000000006],[0.896000000000015,0.7092999999999989],[1.717000000000013,0],[1.306999999999988,-0.7467000000000041],[0.7089999999999748,-1.2693000000000012],[0,-2.594666666666669],[0,-1.493299999999991],[-1.082999999999998,-0.9707000000000079],[-1.680000000000007,0],[-1.2319999999999993,0.8586999999999989],[-1.754666666666679,-0.8773333333333255],[0.5600000000000023,-1.493300000000005],[1.269000000000005,-1.157300000000006],[1.717000000000013,-0.6347000000000094],[2.388999999999982,0],[1.86699999999999,0.8960000000000008],[1.045000000000016,1.568000000000012],[0,6.794666666666672],[-2.015999999999991,0],[0,-1.829333333333338],[0.429333333333318,0.05599999999999739],[-0.7089999999999748,1.2319999999999993],[-1.082999999999998,0.8960000000000008],[-1.381,0.4853000000000094],[0,0],[0,0],[0,0]]}}},{"ty":"tm","s":{"a":0,"k":0,"ix":2},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":2},"m":1},{"ty":"tr","p":{"a":0,"k":[-211.7300415039062,-77.67320251464844],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"gr","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[0,42.392],[0,0.6720000000000041],[6.159999999999997,0.6720000000000041],[21.84,22.400000000000006],[18.75999999999999,22.400000000000006],[34.16,0.6720000000000041],[40.31999999999999,0.6720000000000041],[40.31999999999999,42.392],[33.768,42.392],[33.768,8.456000000000003],[36.232,9.128],[20.49600000000001,30.632000000000005],[19.824000000000012,30.632000000000005],[4.424000000000007,9.128],[6.608000000000004,8.456000000000003],[6.608000000000004,42.392],[0,42.392],[0,42.392],[0,42.392]],"i":[[0,0],[0,13.90666666666666],[-2.053333333333342,0],[-5.226666666666659,-7.242666666666665],[1.026666666666671,0],[-5.133333333333326,7.242666666666672],[-2.053333333333342,0],[0,-13.90666666666667],[2.183999999999997,0],[0,11.312],[-0.8213333333333424,-0.2240000000000038],[5.245333333333321,-7.168000000000006],[0.2239999999999895,0],[5.133333333333326,7.168000000000006],[-0.7280000000000086,0.2240000000000038],[0,-11.312],[2.202666666666659,0],[0,0],[0,0]],"o":[[0,-13.90666666666667],[2.053333333333342,0],[5.226666666666659,7.242666666666672],[-1.026666666666671,0],[5.133333333333326,-7.242666666666665],[2.053333333333342,0],[0,13.90666666666666],[-2.183999999999997,0],[0,-11.312],[0.8213333333333424,0.2240000000000038],[-5.245333333333321,7.168000000000006],[-0.2239999999999895,0],[-5.133333333333326,-7.168000000000006],[0.7280000000000086,-0.2240000000000038],[0,11.312],[-2.202666666666659,0],[0,0],[0,0],[0,0]]}}},{"ty":"tm","s":{"a":0,"k":0,"ix":2},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":2},"m":1},{"ty":"tr","p":{"a":0,"k":[-211.7300415039062,-77.67320251464844],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"fl","c":{"a":0,"k":[1,1,1],"ix":2},"o":{"a":0,"k":100,"ix":2},"r":1,"bm":0},{"ty":"tr","p":{"a":0,"k":[2.91259765625,56.001014709472656],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[99.99999403953552,99.99999403953552],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[702.6863719370097,144],"ix":2},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":72,"ix":2}},{"ty":"fl","c":{"a":0,"k":[0,0,0],"ix":2},"o":{"a":0,"k":100,"ix":2},"r":1,"bm":0},{"ty":"tm","s":{"a":0,"k":0,"ix":2},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":2},"m":1},{"ty":"tr","p":{"a":0,"k":[56.54167175292969,-0.000022762338630855083],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[99.99999403953552,99.99999403953552],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":80,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"tr","p":{"a":0,"k":[122.0000003294881,25.00000012138912],"ix":2},"a":{"a":0,"k":[56.54167175292969,-0.00002288818359375],"ix":2},"s":{"a":0,"k":[34.403572049765366,34.403572049765366],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]}],"ip":0,"op":101,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":3,"nm":"","sr":1,"ks":{"p":{"a":0,"k":[-29.82349395751953,-25.66876983642578],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[119.882333278656,119.882333278656],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}},"ao":0,"ip":0,"op":101,"st":0,"bm":0},{"ddd":0,"refId":"0","w":52,"h":93,"ind":8,"ty":0,"nm":"ball4 (In/Out)","sr":1,"ks":{"p":{"a":0,"k":[197,103],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":1,"k":[{"t":0,"s":[0],"h":1},{"t":52,"s":[100],"h":1}],"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}},"ao":0,"ip":0,"op":101,"st":0,"bm":0,"parent":7},{"ddd":0,"ind":9,"ty":3,"nm":"","sr":1,"ks":{"p":{"a":0,"k":[-29.82349395751953,-25.66876983642578],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[119.882333278656,119.882333278656],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}},"ao":0,"ip":0,"op":101,"st":0,"bm":0},{"ddd":0,"refId":"1","w":52,"h":93,"ind":10,"ty":0,"nm":"ball 4 (In/Out)","sr":1,"ks":{"p":{"a":0,"k":[124,103],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":1,"k":[{"t":0,"s":[0],"h":1},{"t":43,"s":[100],"h":1}],"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}},"ao":0,"ip":0,"op":101,"st":0,"bm":0,"parent":9},{"ddd":0,"ind":11,"ty":3,"nm":"","sr":1,"ks":{"p":{"a":0,"k":[-29.82349395751953,-25.66876983642578],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[119.882333278656,119.882333278656],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}},"ao":0,"ip":0,"op":101,"st":0,"bm":0},{"ddd":0,"refId":"2","w":52,"h":93,"ind":12,"ty":0,"nm":"ball 3 (In/Out)","sr":1,"ks":{"p":{"a":0,"k":[51,103],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":1,"k":[{"t":0,"s":[0],"h":1},{"t":35,"s":[100],"h":1}],"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}},"ao":0,"ip":0,"op":101,"st":0,"bm":0,"parent":11},{"ddd":0,"ind":13,"ty":3,"nm":"","sr":1,"ks":{"p":{"a":0,"k":[-29.82349395751953,-25.66876983642578],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[119.882333278656,119.882333278656],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}},"ao":0,"ip":0,"op":101,"st":0,"bm":0},{"ddd":0,"refId":"3","w":52,"h":93,"ind":14,"ty":0,"nm":"ball3 (In/Out)","sr":1,"ks":{"p":{"a":0,"k":[197,103],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":1,"k":[{"t":0,"s":[100],"h":1},{"t":52,"s":[0],"h":1}],"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}},"ao":0,"ip":0,"op":101,"st":0,"bm":0,"parent":13},{"ddd":0,"ind":15,"ty":3,"nm":"","sr":1,"ks":{"p":{"a":0,"k":[-29.82349395751953,-25.66876983642578],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[119.882333278656,119.882333278656],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}},"ao":0,"ip":0,"op":101,"st":0,"bm":0},{"ddd":0,"refId":"4","w":52,"h":93,"ind":16,"ty":0,"nm":"ball 2 (In/Out)","sr":1,"ks":{"p":{"a":0,"k":[124,103],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":1,"k":[{"t":-8,"s":[100],"h":1},{"t":43,"s":[0],"h":1}],"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}},"ao":0,"ip":0,"op":101,"st":0,"bm":0,"parent":15},{"ddd":0,"ind":17,"ty":3,"nm":"","sr":1,"ks":{"p":{"a":0,"k":[-29.82349395751953,-25.66876983642578],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[119.882333278656,119.882333278656],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}},"ao":0,"ip":0,"op":101,"st":0,"bm":0},{"ddd":0,"refId":"5","w":52,"h":93,"ind":18,"ty":0,"nm":"ball 1 (In/Out)","sr":1,"ks":{"p":{"a":0,"k":[51,103],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":1,"k":[{"t":-17,"s":[100],"h":1},{"t":35,"s":[0],"h":1}],"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}},"ao":0,"ip":0,"op":101,"st":0,"bm":0,"parent":17}],"markers":[]} \ No newline at end of file diff --git a/frontend/public/lotties/user.json b/frontend/public/lotties/user.json new file mode 100644 index 000000000..7a58c45f8 --- /dev/null +++ b/frontend/public/lotties/user.json @@ -0,0 +1 @@ +{"v":"5.7.5","fr":100,"ip":0,"op":150,"w":500,"h":500,"nm":"Comp 1","ddd":0,"metadata":{},"assets":[{"id":"0","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Body","sr":1,"ks":{"p":{"a":0,"k":[-399,-399],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}},"ao":0,"shapes":[{"ty":"gr","nm":"Body","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":false,"v":[[-207.06,75.05],[0,-75.06],[207.06,75.05],[207.06,75.06]],"i":[[0,0],[-96.65,0],[-28.46,-87.15],[0,0]],"o":[[28.46,-87.15],[96.65,0],[0,0],[0,0]]}}},{"ty":"st","c":{"a":0,"k":[1,1,1],"ix":2},"o":{"a":0,"k":100,"ix":2},"w":{"a":0,"k":40,"ix":2},"lc":1,"lj":1,"ml":4},{"ty":"tr","p":{"a":1,"k":[{"t":70,"s":[750,957.834],"i":{"x":[0.27],"y":[1]},"o":{"x":[0.68],"y":[0]}},{"t":130,"s":[1277,957.834],"i":{"x":[0.75],"y":[0.75]},"o":{"x":[0.25],"y":[0.25]}}],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]}],"ip":0,"op":151,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Layer 2 - box","sr":1,"ks":{"p":{"a":0,"k":[-399,-399],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[702,702],"ix":2},"p":{"a":0,"k":[750,750],"ix":2},"r":{"a":0,"k":0,"ix":2}},{"ty":"fl","c":{"a":0,"k":[0,0,0],"ix":2},"o":{"a":0,"k":0,"ix":2},"r":1,"bm":0}],"ip":0,"op":151,"st":0,"bm":0}]},{"id":"1","layers":[{"ddd":0,"ind":3,"ty":4,"nm":"Layer 2","sr":1,"ks":{"p":{"a":0,"k":[-399,-399],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}},"td":1,"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","nm":"Group 1","it":[{"ty":"el","d":1,"s":{"a":0,"k":[701.102,701.102],"ix":2},"p":{"a":0,"k":[0,0],"ix":2}},{"ty":"fl","c":{"a":0,"k":[1,1,1],"ix":2},"o":{"a":0,"k":100,"ix":2},"r":1,"bm":0},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"tr","p":{"a":0,"k":[750,750],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]}],"ip":0,"op":151,"st":0,"bm":0},{"ddd":0,"refId":"0","w":702,"h":702,"ind":4,"ty":0,"nm":"Body (Masked)","sr":1,"ks":{"p":{"a":0,"k":[750,750],"ix":2},"a":{"a":0,"k":[750,750],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}},"ao":0,"ip":0,"op":151,"st":0,"bm":0,"tt":1}]},{"id":"2","layers":[{"ddd":0,"ind":5,"ty":4,"nm":"Head","sr":1,"ks":{"p":{"a":0,"k":[-399,-399],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}},"ao":0,"shapes":[{"ty":"gr","nm":"Head","it":[{"ty":"el","d":1,"s":{"a":0,"k":[238.478,238.478],"ix":2},"p":{"a":0,"k":[0,0],"ix":2}},{"ty":"st","c":{"a":0,"k":[1,1,1],"ix":2},"o":{"a":0,"k":100,"ix":2},"w":{"a":0,"k":40,"ix":2},"lc":1,"lj":1,"ml":4},{"ty":"tr","p":{"a":1,"k":[{"t":39,"s":[750,702.735],"i":{"x":[0.27],"y":[1]},"o":{"x":[0.68],"y":[0]}},{"t":101,"s":[1258,702.735],"i":{"x":[0.75],"y":[0.75]},"o":{"x":[0.25],"y":[0.25]}}],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]}],"ip":0,"op":151,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Layer 1 - box","sr":1,"ks":{"p":{"a":0,"k":[-399,-399],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[702,702],"ix":2},"p":{"a":0,"k":[750,750],"ix":2},"r":{"a":0,"k":0,"ix":2}},{"ty":"fl","c":{"a":0,"k":[0,0,0],"ix":2},"o":{"a":0,"k":0,"ix":2},"r":1,"bm":0}],"ip":0,"op":151,"st":0,"bm":0}]},{"id":"3","layers":[{"ddd":0,"ind":7,"ty":4,"nm":"Layer 1","sr":1,"ks":{"p":{"a":0,"k":[-399,-399],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}},"td":1,"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","nm":"Group 1","it":[{"ty":"el","d":1,"s":{"a":0,"k":[701.102,701.102],"ix":2},"p":{"a":0,"k":[0,0],"ix":2}},{"ty":"fl","c":{"a":0,"k":[1,1,1],"ix":2},"o":{"a":0,"k":100,"ix":2},"r":1,"bm":0},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"tr","p":{"a":0,"k":[750,750],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]}],"ip":0,"op":151,"st":0,"bm":0},{"ddd":0,"refId":"2","w":702,"h":702,"ind":8,"ty":0,"nm":"Head (Masked)","sr":1,"ks":{"p":{"a":0,"k":[750,750],"ix":2},"a":{"a":0,"k":[750,750],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}},"ao":0,"ip":0,"op":151,"st":0,"bm":0,"tt":1}]}],"layers":[{"ddd":0,"ind":12345679,"ty":4,"nm":"Group Layer 8","sr":1,"ks":{"p":{"a":0,"k":[365,464.38524590163934,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[51.229508196721305,51.229508196721305,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[220.741,37.184],[225.501,35.896],[228.749,32.36800000000001],[229.981,27.216000000000008],[228.749,22.12],[225.501,18.592],[220.741,17.304],[215.981,18.592],[212.677,22.12],[211.501,27.216000000000008],[212.677,32.36800000000001],[215.981,35.896],[220.741,37.184],[220.741,37.184],[220.741,37.184]],"i":[[0,0],[-1.380999999999972,0.8586999999999989],[-0.7839999999999918,1.493299999999991],[0,1.903999999999996],[0.8220000000000027,1.493299999999991],[1.382000000000062,0.8586999999999989],[1.79200000000003,0],[1.418999999999983,-0.8586999999999989],[0.8220000000000027,-1.493300000000005],[0,-1.904000000000011],[-0.7839999999999918,-1.5307000000000102],[-1.380999999999972,-0.8586999999999989],[-1.754000000000019,0],[0,0],[0,0]],"o":[[1.79200000000003,0],[1.382000000000062,-0.8586999999999989],[0.8220000000000027,-1.5307000000000102],[0,-1.904000000000011],[-0.7839999999999918,-1.493300000000005],[-1.380999999999972,-0.8586999999999989],[-1.754000000000019,0],[-1.380999999999972,0.8586999999999989],[-0.7839999999999918,1.493299999999991],[0,1.903999999999996],[0.8220000000000027,1.493299999999991],[1.418999999999983,0.8586999999999989],[0,0],[0,0],[0,0]]}}},{"ty":"tm","s":{"a":0,"k":0,"ix":2},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":2},"m":1},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"gr","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[221.357,43.06400000000001],[214.917,41.608],[210.49300000000005,37.408],[211.221,36.232],[211.221,42.392],[205.173,42.392],[205.173,0],[211.501,0],[211.501,18.36800000000001],[210.49300000000005,16.912000000000006],[214.973,12.88],[221.357,11.424000000000007],[229.085,13.49600000000001],[234.51700000000005,19.152],[236.533,27.216000000000008],[234.51700000000005,35.28],[229.141,40.992],[221.357,43.06400000000001],[221.357,43.06400000000001],[221.357,43.06400000000001]],"i":[[0,0],[1.942000000000007,0.9706999999999937],[1.045999999999935,1.829300000000003],[-0.2426666666666506,0.3919999999999959],[0,-2.053333333333327],[2.015999999999963,0],[0,14.13066666666667],[-2.109333333333325,0],[0,-6.122666666666674],[0.3360000000000127,0.4853333333333296],[-1.865999999999985,0.9707000000000079],[-2.38900000000001,0],[-2.277000000000044,-1.3813000000000102],[-1.30600000000004,-2.389300000000006],[0,-2.986699999999999],[1.343999999999937,-2.389300000000006],[2.27800000000002,-1.4187000000000012],[2.912000000000035,0],[0,0],[0,0]],"o":[[-2.351999999999975,0],[-1.903999999999996,-0.9707000000000079],[0.2426666666666506,-0.3919999999999959],[0,2.053333333333327],[-2.015999999999963,0],[0,-14.13066666666667],[2.109333333333325,0],[0,6.122666666666667],[-0.3360000000000127,-0.4853333333333296],[1.120000000000005,-1.717300000000009],[1.867000000000075,-0.9706999999999937],[2.875,0],[2.314999999999941,1.381299999999996],[1.343999999999937,2.389300000000006],[0,2.986699999999999],[-1.30600000000004,2.389300000000006],[-2.27699999999993,1.381299999999996],[0,0],[0,0],[0,0]]}}},{"ty":"tm","s":{"a":0,"k":0,"ix":2},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":2},"m":1},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"gr","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[181.87,43.06400000000001],[176.438,42],[172.854,38.976],[171.566,34.384],[172.63,29.960000000000008],[176.046,26.656000000000006],[181.814,24.752],[192.342,23.016000000000005],[192.342,28],[183.046,29.624],[179.35,31.248],[178.174,34.16],[179.462,37.016000000000005],[182.878,38.08],[187.35799999999995,36.96000000000001],[190.38199999999995,33.992],[191.446,29.792],[191.446,22.008],[189.766,18.36800000000001],[185.398,16.912000000000006],[180.974,18.256],[178.23,21.616],[172.966,18.98400000000001],[175.71,15.064000000000007],[180.134,12.376],[185.566,11.424000000000007],[191.894,12.768],[196.206,16.52],[197.774,22.008],[197.774,42.392],[191.726,42.392],[191.726,36.904],[193.014,37.072],[190.27,40.264],[186.518,42.336],[181.87,43.06400000000001],[181.87,43.06400000000001],[181.87,43.06400000000001]],"i":[[0,0],[1.567999999999984,0.7092999999999989],[0.8589999999999236,1.2693000000000012],[0,1.7547],[-0.7089999999999463,1.306699999999992],[-1.530000000000086,0.8960000000000008],[-2.313999999999965,0.3733000000000004],[-3.509333333333302,0.5786666666666633],[0,-1.661333333333332],[3.098666666666645,-0.541333333333327],[0.7839999999999918,-0.784000000000006],[0,-1.194699999999997],[-0.8579999999999472,-0.7467000000000041],[-1.381000000000085,0],[-1.268999999999892,0.7466999999999899],[-0.7089999999999463,1.2319999999999993],[0,1.530699999999996],[0,2.594666666666669],[1.120000000000005,0.9332999999999885],[1.829999999999927,0],[1.269999999999982,-0.8960000000000008],[0.5979999999999563,-1.381299999999996],[1.754666666666708,0.8773333333333255],[-1.269000000000005,1.11999999999999],[-1.680000000000064,0.6346999999999952],[-1.903999999999996,0],[-1.828999999999951,-0.8960000000000008],[-1.008000000000038,-1.6053],[0,-2.090699999999998],[0,-6.794666666666672],[2.015999999999963,0],[0,1.829333333333338],[-0.4293333333333749,-0.05599999999999739],[1.120000000000005,-0.8959999999999866],[1.418999999999983,-0.4852999999999952],[1.717999999999961,0],[0,0],[0,0]],"o":[[-2.052999999999997,0],[-1.529999999999973,-0.7467000000000041],[-0.8580000000000609,-1.306699999999992],[0,-1.642700000000005],[0.7469999999999573,-1.306700000000006],[1.530999999999949,-0.8960000000000008],[3.509333333333302,-0.5786666666666633],[0,1.661333333333332],[-3.098666666666645,0.541333333333327],[-1.680000000000064,0.2987000000000108],[-0.7839999999999918,0.7467000000000041],[0,1.157300000000006],[0.8959999999999582,0.7092999999999989],[1.717999999999961,0],[1.307000000000016,-0.7467000000000041],[0.7100000000000364,-1.2693000000000012],[0,-2.594666666666669],[0,-1.493299999999991],[-1.081999999999994,-0.9707000000000079],[-1.680000000000064,0],[-1.232000000000085,0.8586999999999989],[-1.754666666666708,-0.8773333333333255],[0.5599999999999454,-1.493300000000005],[1.269999999999982,-1.157300000000006],[1.717999999999961,-0.6347000000000094],[2.389999999999986,0],[1.866999999999962,0.8960000000000008],[1.045999999999935,1.568000000000012],[0,6.794666666666672],[-2.015999999999963,0],[0,-1.829333333333338],[0.4293333333333749,0.05599999999999739],[-0.70900000000006,1.2319999999999993],[-1.081999999999994,0.8960000000000008],[-1.380999999999972,0.4853000000000094],[0,0],[0,0],[0,0]]}}},{"ty":"tm","s":{"a":0,"k":0,"ix":2},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":2},"m":1},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"gr","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[159.072,42.392],[159.072,0],[165.4,0],[165.4,42.392],[159.072,42.392],[159.072,42.392],[159.072,42.392]],"i":[[0,0],[0,14.13066666666667],[-2.109333333333325,0],[0,-14.13066666666667],[2.109333333333325,0],[0,0],[0,0]],"o":[[0,-14.13066666666667],[2.109333333333325,0],[0,14.13066666666667],[-2.109333333333325,0],[0,0],[0,0],[0,0]]}}},{"ty":"tm","s":{"a":0,"k":0,"ix":2},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":2},"m":1},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"gr","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[138.952,43.06400000000001],[130.888,40.992],[125.456,35.28],[123.496,27.16],[125.456,19.040000000000006],[130.832,13.49600000000001],[138.448,11.424000000000007],[144.552,12.600000000000009],[149.088,15.848],[151.888,20.49600000000001],[152.896,26.096],[152.84,27.608],[152.616,29.064000000000007],[128.48,29.064000000000007],[128.48,24.024],[149.032,24.024],[146.008,26.320000000000007],[145.616,21.448000000000008],[142.816,18.032],[138.448,16.744],[133.968,18.032],[130.944,21.616],[130.104,27.216000000000008],[130.944,32.592],[134.192,36.176],[139.008,37.464],[143.65599999999995,36.232],[146.736,33.040000000000006],[151.888,35.56],[149.088,39.42400000000001],[144.60799999999995,42.11200000000001],[138.952,43.06400000000001],[138.952,43.06400000000001],[138.952,43.06400000000001]],"i":[[0,0],[2.351999999999975,1.381299999999996],[1.307000000000016,2.389300000000006],[0,2.986699999999999],[-1.307000000000016,2.35199999999999],[-2.240000000000009,1.343999999999994],[-2.836999999999989,0],[-1.79200000000003,-0.784000000000006],[-1.231999999999971,-1.381299999999996],[-0.6349999999999909,-1.754700000000014],[0,-1.978700000000003],[0.03699999999992087,-0.5227000000000004],[0.1119999999999663,-0.4480000000000075],[8.04533333333336,0],[0,1.680000000000007],[-6.850666666666712,0],[1.008000000000038,-0.7653333333333308],[0.6349999999999909,1.4187000000000012],[1.269000000000005,0.8213000000000079],[1.680000000000064,0],[1.307000000000016,-0.8586999999999989],[0.70900000000006,-1.567999999999998],[-0.1490000000000009,-2.202700000000007],[-0.7469999999999573,-1.530699999999996],[-1.380999999999972,-0.8586999999999989],[-1.79200000000003,0],[-1.268999999999892,0.8213000000000079],[-0.7469999999999573,1.306699999999992],[-1.717333333333386,-0.8400000000000034],[1.269000000000005,-1.157300000000006],[1.755000000000109,-0.6720000000000113],[2.052999999999997,0],[0,0],[0,0]],"o":[[-3.024000000000001,0],[-2.315000000000055,-1.4187000000000012],[-1.307000000000016,-2.426699999999997],[0,-3.061299999999989],[1.343999999999937,-2.352000000000004],[2.240000000000009,-1.3813000000000102],[2.277000000000044,0],[1.79200000000003,0.7839999999999918],[1.232000000000085,1.344000000000008],[0.6720000000000255,1.7547],[0,0.4852999999999952],[-0.03700000000003456,0.5227000000000004],[-8.04533333333336,0],[0,-1.680000000000007],[6.850666666666712,0],[-1.008000000000038,0.7653333333333308],[0.3729999999999336,-1.829300000000003],[-0.59699999999998,-1.456000000000003],[-1.232000000000085,-0.8586999999999989],[-1.67999999999995,0],[-1.306999999999903,0.8213000000000079],[-0.7089999999999463,1.530699999999996],[-0.1870000000000118,2.053299999999993],[0.7839999999999918,1.53070000000001],[1.418999999999983,0.8586999999999989],[1.828999999999951,0],[1.307000000000016,-0.8212999999999937],[1.717333333333386,0.8400000000000034],[-0.59699999999998,1.4187000000000012],[-1.231999999999971,1.11999999999999],[-1.716999999999985,0.6346999999999952],[0,0],[0,0],[0,0]]}}},{"ty":"tm","s":{"a":0,"k":0,"ix":2},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":2},"m":1},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"gr","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[111.001,7.951999999999998],[111.001,0.6720000000000041],[117.329,0.6720000000000041],[117.329,7.951999999999998],[111.001,7.951999999999998],[111.001,7.951999999999998],[111.001,7.951999999999998]],"i":[[0,0],[0,2.426666666666662],[-2.109333333333325,0],[0,-2.426666666666662],[2.109333333333325,0],[0,0],[0,0]],"o":[[0,-2.426666666666662],[2.109333333333325,0],[0,2.426666666666662],[-2.109333333333325,0],[0,0],[0,0],[0,0]]}}},{"ty":"tm","s":{"a":0,"k":0,"ix":2},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":2},"m":1},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"gr","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[111.001,42.392],[111.001,12.096],[117.329,12.096],[117.329,42.392],[111.001,42.392],[111.001,42.392],[111.001,42.392]],"i":[[0,0],[0,10.09866666666667],[-2.109333333333325,0],[0,-10.09866666666667],[2.109333333333325,0],[0,0],[0,0]],"o":[[0,-10.09866666666666],[2.109333333333325,0],[0,10.09866666666666],[-2.109333333333325,0],[0,0],[0,0],[0,0]]}}},{"ty":"tm","s":{"a":0,"k":0,"ix":2},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":2},"m":1},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"gr","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[101.41,42.72800000000001],[94.01800000000003,40.040000000000006],[91.38599999999997,32.48],[91.38599999999997,17.808000000000007],[86.06600000000003,17.808000000000007],[86.06600000000003,12.096],[86.90599999999995,12.096],[90.21000000000004,10.864],[91.38599999999997,7.504000000000005],[91.38599999999997,5.152000000000001],[97.71400000000006,5.152000000000001],[97.71400000000006,12.096],[104.602,12.096],[104.602,17.808000000000007],[97.71400000000006,17.808000000000007],[97.71400000000006,32.2],[98.21799999999996,34.888000000000005],[99.84199999999998,36.568],[102.754,37.128],[103.76200000000006,37.072],[104.826,36.96000000000001],[104.826,42.392],[103.09,42.616],[101.41,42.72800000000001],[101.41,42.72800000000001],[101.41,42.72800000000001]],"i":[[0,0],[1.754999999999995,1.792000000000002],[0,3.248000000000005],[0,4.890666666666661],[1.773333333333312,0],[0,1.903999999999996],[-0.2799999999999727,0],[-0.7839999999999918,0.8212999999999937],[0,1.4187000000000012],[0,0.7839999999999989],[-2.109333333333325,0],[0,-2.314666666666668],[-2.295999999999935,0],[0,-1.903999999999996],[2.295999999999935,0],[0,-4.797333333333327],[-0.3360000000000127,-0.7467000000000041],[-0.7469999999999573,-0.4106999999999914],[-1.19500000000005,0],[-0.3730000000000473,0.03730000000000189],[-0.3360000000000127,0.03729999999998768],[0,-1.810666666666663],[0.6349999999999909,-0.07469999999999288],[0.4850000000000136,0],[0,0],[0,0]],"o":[[-3.173000000000002,0],[-1.754999999999995,-1.792000000000002],[0,-4.890666666666661],[-1.773333333333312,0],[0,-1.903999999999996],[0.2799999999999727,0],[1.419000000000096,0],[0.7839999999999918,-0.8213000000000079],[0,-0.7839999999999989],[2.109333333333325,0],[0,2.314666666666668],[2.295999999999935,0],[0,1.903999999999996],[-2.295999999999935,0],[0,4.797333333333327],[0,1.045299999999997],[0.3360000000000127,0.7092999999999989],[0.7470000000000709,0.3733000000000004],[0.2989999999999782,0],[0.3729999999999336,-0.03730000000000189],[0,1.810666666666663],[-0.5230000000000246,0.0747000000000071],[-0.6349999999999909,0.0747000000000071],[0,0],[0,0],[0,0]]}}},{"ty":"tm","s":{"a":0,"k":0,"ix":2},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":2},"m":1},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"gr","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[78.71499999999997,42.72800000000001],[71.32299999999998,40.040000000000006],[68.69100000000003,32.48],[68.69100000000003,17.808000000000007],[63.37099999999998,17.808000000000007],[63.37099999999998,12.096],[64.21100000000001,12.096],[67.51499999999999,10.864],[68.69100000000003,7.504000000000005],[68.69100000000003,5.152000000000001],[75.019,5.152000000000001],[75.019,12.096],[81.90700000000004,12.096],[81.90700000000004,17.808000000000007],[75.019,17.808000000000007],[75.019,32.2],[75.52300000000002,34.888000000000005],[77.14699999999999,36.568],[80.05900000000003,37.128],[81.06700000000001,37.072],[82.13099999999997,36.96000000000001],[82.13099999999997,42.392],[80.39499999999998,42.616],[78.71499999999997,42.72800000000001],[78.71499999999997,42.72800000000001],[78.71499999999997,42.72800000000001]],"i":[[0,0],[1.754000000000019,1.792000000000002],[0,3.248000000000005],[0,4.890666666666661],[1.773333333333369,0],[0,1.903999999999996],[-0.2800000000000296,0],[-0.7839999999999918,0.8212999999999937],[0,1.4187000000000012],[0,0.7839999999999989],[-2.109333333333325,0],[0,-2.314666666666668],[-2.295999999999992,0],[0,-1.903999999999996],[2.295999999999992,0],[0,-4.797333333333327],[-0.3360000000000127,-0.7467000000000041],[-0.7470000000000141,-0.4106999999999914],[-1.19500000000005,0],[-0.3740000000000236,0.03730000000000189],[-0.3360000000000127,0.03729999999998768],[0,-1.810666666666663],[0.6340000000000146,-0.07469999999999288],[0.4850000000000136,0],[0,0],[0,0]],"o":[[-3.173999999999978,0],[-1.754999999999995,-1.792000000000002],[0,-4.890666666666661],[-1.773333333333369,0],[0,-1.903999999999996],[0.2800000000000296,0],[1.418000000000006,0],[0.7839999999999918,-0.8213000000000079],[0,-0.7839999999999989],[2.109333333333325,0],[0,2.314666666666668],[2.295999999999992,0],[0,1.903999999999996],[-2.295999999999992,0],[0,4.797333333333327],[0,1.045299999999997],[0.3359999999999559,0.7092999999999989],[0.7460000000000377,0.3733000000000004],[0.297999999999945,0],[0.3730000000000473,-0.03730000000000189],[0,1.810666666666663],[-0.5230000000000246,0.0747000000000071],[-0.6349999999999909,0.0747000000000071],[0,0],[0,0],[0,0]]}}},{"ty":"tm","s":{"a":0,"k":0,"ix":2},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":2},"m":1},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"gr","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[44.18799999999999,37.184],[48.94799999999998,35.896],[52.19600000000003,32.36800000000001],[53.428,27.216000000000008],[52.19600000000003,22.12],[48.94799999999998,18.592],[44.18799999999999,17.304],[39.428,18.592],[36.12400000000002,22.12],[34.94799999999998,27.216000000000008],[36.12400000000002,32.36800000000001],[39.428,35.896],[44.18799999999999,37.184],[44.18799999999999,37.184],[44.18799999999999,37.184]],"i":[[0,0],[-1.381999999999948,0.8586999999999989],[-0.7840000000000487,1.493299999999991],[0,1.903999999999996],[0.8209999999999695,1.493299999999991],[1.381000000000029,0.8586999999999989],[1.79200000000003,0],[1.418000000000006,-0.8586999999999989],[0.8209999999999695,-1.493300000000005],[0,-1.904000000000011],[-0.7840000000000487,-1.5307000000000102],[-1.382000000000005,-0.8586999999999989],[-1.754999999999995,0],[0,0],[0,0]],"o":[[1.79200000000003,0],[1.381000000000029,-0.8586999999999989],[0.8209999999999695,-1.5307000000000102],[0,-1.904000000000011],[-0.7840000000000487,-1.493300000000005],[-1.381999999999948,-0.8586999999999989],[-1.754999999999995,0],[-1.382000000000005,0.8586999999999989],[-0.7840000000000487,1.493299999999991],[0,1.903999999999996],[0.8209999999999695,1.493299999999991],[1.418000000000006,0.8586999999999989],[0,0],[0,0],[0,0]]}}},{"ty":"tm","s":{"a":0,"k":0,"ix":2},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":2},"m":1},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"gr","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[44.18799999999999,43.06400000000001],[36.18000000000001,40.992],[30.46800000000002,35.336],[28.33999999999997,27.216000000000008],[30.46800000000002,19.096],[36.18000000000001,13.49600000000001],[44.18799999999999,11.424000000000007],[52.19600000000003,13.49600000000001],[57.85199999999998,19.096],[59.98000000000002,27.216000000000008],[57.85199999999998,35.392],[52.139999999999986,41.048],[44.18799999999999,43.06400000000001],[44.18799999999999,43.06400000000001],[44.18799999999999,43.06400000000001]],"i":[[0,0],[2.425999999999988,1.381299999999996],[1.418000000000006,2.389300000000006],[0,3.024000000000001],[-1.41900000000004,2.352000000000004],[-2.389999999999986,1.343999999999994],[-2.949999999999989,0],[-2.352000000000032,-1.3813000000000102],[-1.381999999999948,-2.389300000000006],[0,-3.061300000000003],[1.418000000000006,-2.389299999999992],[2.38900000000001,-1.381299999999996],[2.912000000000035,0],[0,0],[0,0]],"o":[[-2.911999999999978,0],[-2.389999999999986,-1.381299999999996],[-1.41900000000004,-2.389299999999992],[0,-3.061300000000003],[1.418000000000006,-2.389300000000006],[2.38900000000001,-1.3813000000000102],[2.98599999999999,0],[2.388999999999953,1.343999999999994],[1.418000000000006,2.352000000000004],[0,3.061299999999989],[-1.418999999999983,2.389300000000006],[-2.389999999999986,1.343999999999994],[0,0],[0,0],[0,0]]}}},{"ty":"tm","s":{"a":0,"k":0,"ix":2},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":2},"m":1},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"gr","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[0,42.392],[0,0.6720000000000041],[6.608000000000004,0.6720000000000041],[6.608000000000004,36.512],[24.639999999999986,36.512],[24.639999999999986,42.392],[0,42.392],[0,42.392],[0,42.392]],"i":[[0,0],[0,13.90666666666666],[-2.202666666666687,0],[0,-11.94666666666666],[-6.01066666666668,0],[0,-1.959999999999994],[8.21333333333331,0],[0,0],[0,0]],"o":[[0,-13.90666666666667],[2.202666666666687,0],[0,11.94666666666667],[6.01066666666668,0],[0,1.959999999999994],[-8.21333333333331,0],[0,0],[0,0],[0,0]]}}},{"ty":"tm","s":{"a":0,"k":0,"ix":2},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":2},"m":1},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"fl","c":{"a":0,"k":[1,1,1],"ix":2},"o":{"a":0,"k":100,"ix":2},"r":1,"bm":0},{"ty":"tr","p":{"a":0,"k":[98.08047485351562,-21.67217254638672],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[99.99999403953552,99.99999403953552],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[246.681,42.392],[246.681,0],[253.009,0],[253.009,18.032],[252.001,17.248],[255.585,12.936000000000007],[261.297,11.424000000000007],[267.23299999999995,12.88],[271.265,16.912000000000006],[272.721,22.792],[272.721,42.392],[266.449,42.392],[266.449,24.528000000000006],[265.553,20.664],[263.201,18.2],[259.729,17.304],[256.25699999999995,18.2],[253.849,20.664],[253.009,24.528000000000006],[253.009,42.392],[246.681,42.392],[246.681,42.392],[246.681,42.392]],"i":[[0,0],[0,14.13066666666667],[-2.109333333333325,0],[0,-6.010666666666665],[0.3360000000000127,0.2613333333333259],[-1.643000000000029,0.9706999999999937],[-2.166000000000054,0],[-1.717999999999961,-0.9706999999999937],[-0.9710000000000036,-1.717300000000009],[0,-2.202699999999993],[0,-6.533333333333331],[2.090666666666721,0],[0,5.954666666666668],[0.59699999999998,1.045299999999997],[1.007999999999925,0.5600000000000023],[1.305999999999926,0],[1.045000000000073,-0.5973000000000042],[0.59699999999998,-1.082700000000003],[0,-1.493300000000005],[0,-5.954666666666668],[2.109333333333325,0],[0,0],[0,0]],"o":[[0,-14.13066666666667],[2.109333333333325,0],[0,6.010666666666665],[-0.3360000000000127,-0.2613333333333259],[0.7459999999999809,-1.903999999999996],[1.641999999999967,-1.0080000000000098],[2.240000000000009,0],[1.717000000000098,0.9707000000000079],[0.9700000000000273,1.717299999999994],[0,6.533333333333331],[-2.090666666666721,0],[0,-5.954666666666668],[0,-1.5307000000000102],[-0.5599999999999454,-1.082700000000003],[-1.008000000000038,-0.5973000000000042],[-1.270000000000095,0],[-1.007999999999953,0.5600000000000023],[-0.5600000000000023,1.082700000000003],[0,5.954666666666668],[-2.109333333333325,0],[0,0],[0,0],[0,0]]}}},{"ty":"tm","s":{"a":0,"k":0,"ix":2},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":2},"m":1},{"ty":"tr","p":{"a":0,"k":[-354.5325317382812,-77.50520324707031],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"gr","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[237.089,42.72800000000001],[229.697,40.040000000000006],[227.065,32.48],[227.065,17.808000000000007],[221.745,17.808000000000007],[221.745,12.096],[222.585,12.096],[225.889,10.864],[227.065,7.504000000000005],[227.065,5.152000000000001],[233.393,5.152000000000001],[233.393,12.096],[240.281,12.096],[240.281,17.808000000000007],[233.393,17.808000000000007],[233.393,32.2],[233.897,34.888000000000005],[235.521,36.568],[238.433,37.128],[239.441,37.072],[240.505,36.96000000000001],[240.505,42.392],[238.769,42.616],[237.089,42.72800000000001],[237.089,42.72800000000001],[237.089,42.72800000000001]],"i":[[0,0],[1.755000000000052,1.792000000000002],[0,3.248000000000005],[0,4.890666666666661],[1.773333333333369,0],[0,1.903999999999996],[-0.2800000000000296,0],[-0.7839999999999918,0.8212999999999937],[0,1.4187000000000012],[0,0.7839999999999989],[-2.109333333333325,0],[0,-2.314666666666668],[-2.295999999999992,0],[0,-1.903999999999996],[2.295999999999992,0],[0,-4.797333333333327],[-0.3360000000000127,-0.7467000000000041],[-0.7459999999999809,-0.4106999999999914],[-1.194000000000017,0],[-0.3729999999999905,0.03730000000000189],[-0.3360000000000127,0.03729999999998768],[0,-1.810666666666663],[0.6350000000000477,-0.07469999999999288],[0.48599999999999,0],[0,0],[0,0]],"o":[[-3.173000000000002,0],[-1.753999999999962,-1.792000000000002],[0,-4.890666666666661],[-1.773333333333369,0],[0,-1.903999999999996],[0.2800000000000296,0],[1.418999999999983,0],[0.7839999999999918,-0.8213000000000079],[0,-0.7839999999999989],[2.109333333333325,0],[0,2.314666666666668],[2.295999999999992,0],[0,1.903999999999996],[-2.295999999999992,0],[0,4.797333333333327],[0,1.045299999999997],[0.3359999999999559,0.7092999999999989],[0.7470000000000141,0.3733000000000004],[0.2989999999999782,0],[0.3740000000000236,-0.03730000000000189],[0,1.810666666666663],[-0.5220000000000482,0.0747000000000071],[-0.6339999999999577,0.0747000000000071],[0,0],[0,0],[0,0]]}}},{"ty":"tm","s":{"a":0,"k":0,"ix":2},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":2},"m":1},{"ty":"tr","p":{"a":0,"k":[-354.5325317382812,-77.50520324707031],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"gr","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[210.259,7.951999999999998],[210.259,0.6720000000000041],[216.587,0.6720000000000041],[216.587,7.951999999999998],[210.259,7.951999999999998],[210.259,7.951999999999998],[210.259,7.951999999999998]],"i":[[0,0],[0,2.426666666666662],[-2.109333333333325,0],[0,-2.426666666666662],[2.109333333333325,0],[0,0],[0,0]],"o":[[0,-2.426666666666662],[2.109333333333325,0],[0,2.426666666666662],[-2.109333333333325,0],[0,0],[0,0],[0,0]]}}},{"ty":"tm","s":{"a":0,"k":0,"ix":2},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":2},"m":1},{"ty":"tr","p":{"a":0,"k":[-354.5325317382812,-77.50520324707031],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"gr","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[210.259,42.392],[210.259,12.096],[216.587,12.096],[216.587,42.392],[210.259,42.392],[210.259,42.392],[210.259,42.392]],"i":[[0,0],[0,10.09866666666667],[-2.109333333333325,0],[0,-10.09866666666667],[2.109333333333325,0],[0,0],[0,0]],"o":[[0,-10.09866666666666],[2.109333333333325,0],[0,10.09866666666666],[-2.109333333333325,0],[0,0],[0,0],[0,0]]}}},{"ty":"tm","s":{"a":0,"k":0,"ix":2},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":2},"m":1},{"ty":"tr","p":{"a":0,"k":[-354.5325317382812,-77.50520324707031],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"gr","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[169.688,42.392],[159.272,12.096],[165.992,12.096],[173.944,36.232],[171.592,36.232],[179.712,12.096],[185.48,12.096],[193.544,36.232],[191.192,36.232],[199.2,12.096],[205.92,12.096],[195.448,42.392],[189.736,42.392],[181.56,17.696],[183.632,17.696],[175.456,42.392],[169.688,42.392],[169.688,42.392],[169.688,42.392]],"i":[[0,0],[3.47199999999998,10.09866666666667],[-2.240000000000009,0],[-2.650666666666666,-8.045333333333332],[0.7839999999999918,0],[-2.706666666666649,8.045333333333332],[-1.922666666666657,0],[-2.687999999999988,-8.045333333333332],[0.7839999999999918,0],[-2.669333333333327,8.045333333333332],[-2.240000000000009,0],[3.490666666666641,-10.09866666666667],[1.903999999999996,0],[2.725333333333367,8.232],[-0.6906666666666865,0],[2.72533333333331,-8.232],[1.922666666666657,0],[0,0],[0,0]],"o":[[-3.47199999999998,-10.09866666666666],[2.240000000000009,0],[2.650666666666666,8.045333333333332],[-0.7839999999999918,0],[2.706666666666649,-8.045333333333332],[1.922666666666657,0],[2.687999999999988,8.045333333333332],[-0.7839999999999918,0],[2.669333333333327,-8.045333333333332],[2.240000000000009,0],[-3.490666666666641,10.09866666666666],[-1.903999999999996,0],[-2.725333333333367,-8.232],[0.6906666666666865,0],[-2.72533333333331,8.232],[-1.922666666666657,0],[0,0],[0,0],[0,0]]}}},{"ty":"tm","s":{"a":0,"k":0,"ix":2},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":2},"m":1},{"ty":"tr","p":{"a":0,"k":[-354.5325317382812,-77.50520324707031],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"fl","c":{"a":0,"k":[1,1,1],"ix":2},"o":{"a":0,"k":100,"ix":2},"r":1,"bm":0},{"ty":"tr","p":{"a":0,"k":[155.86146545410156,56.001014709472656],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[99.99999403953552,99.99999403953552],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[132.444,43.06400000000001],[124.38,40.992],[118.948,35.28],[116.988,27.16],[118.948,19.040000000000006],[124.324,13.49600000000001],[131.94,11.424000000000007],[138.044,12.600000000000009],[142.58,15.848],[145.38,20.49600000000001],[146.388,26.096],[146.332,27.608],[146.108,29.064000000000007],[121.972,29.064000000000007],[121.972,24.024],[142.524,24.024],[139.5,26.320000000000007],[139.108,21.448000000000008],[136.308,18.032],[131.94,16.744],[127.46,18.032],[124.436,21.616],[123.596,27.216000000000008],[124.436,32.592],[127.684,36.176],[132.5,37.464],[137.148,36.232],[140.228,33.040000000000006],[145.38,35.56],[142.58,39.42400000000001],[138.1,42.11200000000001],[132.444,43.06400000000001],[132.444,43.06400000000001],[132.444,43.06400000000001]],"i":[[0,0],[2.351999999999975,1.381299999999996],[1.305999999999983,2.389300000000006],[0,2.986699999999999],[-1.307000000000016,2.35199999999999],[-2.240000000000009,1.343999999999994],[-2.838000000000022,0],[-1.79200000000003,-0.784000000000006],[-1.232000000000028,-1.381299999999996],[-0.6350000000000477,-1.754700000000014],[0,-1.978700000000003],[0.03699999999997772,-0.5227000000000004],[0.1120000000000232,-0.4480000000000075],[8.045333333333303,0],[0,1.680000000000007],[-6.850666666666655,0],[1.007999999999981,-0.7653333333333308],[0.6340000000000146,1.4187000000000012],[1.269000000000005,0.8213000000000079],[1.67999999999995,0],[1.305999999999983,-0.8586999999999989],[0.7090000000000032,-1.567999999999998],[-0.1499999999999773,-2.202700000000007],[-0.7470000000000141,-1.530699999999996],[-1.382000000000005,-0.8586999999999989],[-1.791999999999973,0],[-1.269999999999982,0.8213000000000079],[-0.7469999999999573,1.306699999999992],[-1.717333333333329,-0.8400000000000034],[1.269000000000005,-1.157300000000006],[1.754000000000019,-0.6720000000000113],[2.052999999999997,0],[0,0],[0,0]],"o":[[-3.024000000000001,0],[-2.314999999999998,-1.4187000000000012],[-1.307000000000016,-2.426699999999997],[0,-3.061299999999989],[1.343999999999994,-2.352000000000004],[2.240000000000009,-1.3813000000000102],[2.276999999999987,0],[1.791999999999973,0.7839999999999918],[1.231999999999971,1.344000000000008],[0.6719999999999686,1.7547],[0,0.4852999999999952],[-0.03800000000001091,0.5227000000000004],[-8.045333333333303,0],[0,-1.680000000000007],[6.850666666666655,0],[-1.007999999999981,0.7653333333333308],[0.3730000000000473,-1.829300000000003],[-0.5979999999999563,-1.456000000000003],[-1.232000000000028,-0.8586999999999989],[-1.680000000000007,0],[-1.307000000000016,0.8213000000000079],[-0.7100000000000364,1.530699999999996],[-0.186999999999955,2.053299999999993],[0.7839999999999918,1.53070000000001],[1.418000000000006,0.8586999999999989],[1.829000000000008,0],[1.305999999999983,-0.8212999999999937],[1.717333333333329,0.8400000000000034],[-0.5980000000000132,1.4187000000000012],[-1.232000000000028,1.11999999999999],[-1.718000000000018,0.6346999999999952],[0,0],[0,0],[0,0]]}}},{"ty":"tm","s":{"a":0,"k":0,"ix":2},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":2},"m":1},{"ty":"tr","p":{"a":0,"k":[-211.7300415039062,-77.67320251464844],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"gr","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[95.32,37.184],[100.024,35.896],[103.328,32.36800000000001],[104.56,27.216000000000008],[103.328,22.12],[100.024,18.592],[95.32,17.304],[90.56,18.592],[87.256,22.12],[86.08000000000001,27.216000000000008],[87.256,32.36800000000001],[90.50399999999999,35.896],[95.32,37.184],[95.32,37.184],[95.32,37.184]],"i":[[0,0],[-1.381,0.8586999999999989],[-0.7839999999999918,1.493299999999991],[0,1.903999999999996],[0.820999999999998,1.493299999999991],[1.419000000000011,0.8586999999999989],[1.754999999999995,0],[1.418999999999983,-0.8586999999999989],[0.7839999999999918,-1.493300000000005],[0,-1.904000000000011],[-0.7839999999999918,-1.5307000000000102],[-1.381,-0.8586999999999989],[-1.792000000000002,0],[0,0],[0,0]],"o":[[1.754999999999995,0],[1.419000000000011,-0.8586999999999989],[0.820999999999998,-1.5307000000000102],[0,-1.904000000000011],[-0.7839999999999918,-1.493300000000005],[-1.381,-0.8586999999999989],[-1.754999999999995,0],[-1.419000000000011,0.8586999999999989],[-0.7839999999999918,1.493299999999991],[0,1.903999999999996],[0.7839999999999918,1.493299999999991],[1.419000000000011,0.8586999999999989],[0,0],[0,0],[0,0]]}}},{"ty":"tm","s":{"a":0,"k":0,"ix":2},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":2},"m":1},{"ty":"tr","p":{"a":0,"k":[-211.7300415039062,-77.67320251464844],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"gr","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[94.70400000000001,43.06400000000001],[86.864,40.992],[81.43199999999999,35.28],[79.47200000000001,27.216000000000008],[81.488,19.152],[86.91999999999999,13.49600000000001],[94.648,11.424000000000007],[101.088,12.88],[105.512,16.912000000000006],[104.56,18.36800000000001],[104.56,0],[110.832,0],[110.832,42.392],[104.84,42.392],[104.84,36.232],[105.568,37.408],[101.088,41.608],[94.70400000000001,43.06400000000001],[94.70400000000001,43.06400000000001],[94.70400000000001,43.06400000000001]],"i":[[0,0],[2.314999999999998,1.381299999999996],[1.344000000000023,2.389300000000006],[0,2.986699999999999],[-1.343999999999994,2.389300000000006],[-2.276999999999987,1.381299999999996],[-2.875,0],[-1.8669999999999902,-0.9706999999999937],[-1.082999999999998,-1.717300000000009],[0.3173333333333233,-0.4853333333333296],[0,6.122666666666674],[-2.090666666666664,0],[0,-14.13066666666667],[1.99733333333333,0],[0,2.053333333333327],[-0.242666666666679,-0.3919999999999959],[1.941000000000003,-0.9707000000000079],[2.314999999999998,0],[0,0],[0,0]],"o":[[-2.912000000000006,0],[-2.277000000000015,-1.4187000000000012],[-1.306999999999988,-2.389300000000006],[0,-2.986699999999999],[1.343999999999994,-2.389300000000006],[2.277000000000015,-1.3813000000000102],[2.426999999999992,0],[1.867000000000019,0.9707000000000079],[-0.3173333333333233,0.4853333333333296],[0,-6.122666666666674],[2.090666666666664,0],[0,14.13066666666667],[-1.99733333333333,0],[0,-2.053333333333327],[0.242666666666679,0.3919999999999959],[-1.045000000000016,1.829300000000003],[-1.941000000000003,0.9706999999999937],[0,0],[0,0],[0,0]]}}},{"ty":"tm","s":{"a":0,"k":0,"ix":2},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":2},"m":1},{"ty":"tr","p":{"a":0,"k":[-211.7300415039062,-77.67320251464844],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"gr","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[57.40100000000001,43.06400000000001],[51.968999999999994,42],[48.38499999999999,38.976],[47.09700000000001,34.384],[48.161,29.960000000000008],[51.577,26.656000000000006],[57.345,24.752],[67.87299999999999,23.016000000000005],[67.87299999999999,28],[58.577,29.624],[54.881,31.248],[53.70500000000001,34.16],[54.992999999999995,37.016000000000005],[58.40899999999999,38.08],[62.88900000000001,36.96000000000001],[65.91300000000001,33.992],[66.977,29.792],[66.977,22.008],[65.297,18.36800000000001],[60.929,16.912000000000006],[56.505,18.256],[53.761,21.616],[48.496999999999986,18.98400000000001],[51.240999999999985,15.064000000000007],[55.66499999999999,12.376],[61.09700000000001,11.424000000000007],[67.42500000000001,12.768],[71.737,16.52],[73.305,22.008],[73.305,42.392],[67.257,42.392],[67.257,36.904],[68.54499999999999,37.072],[65.80099999999999,40.264],[62.04900000000001,42.336],[57.40100000000001,43.06400000000001],[57.40100000000001,43.06400000000001],[57.40100000000001,43.06400000000001]],"i":[[0,0],[1.568000000000012,0.7092999999999989],[0.8590000000000089,1.2693000000000012],[0,1.7547],[-0.7090000000000032,1.306699999999992],[-1.531000000000006,0.8960000000000008],[-2.314999999999998,0.3733000000000004],[-3.509333333333331,0.5786666666666633],[0,-1.661333333333332],[3.098666666666674,-0.541333333333327],[0.7839999999999918,-0.784000000000006],[0,-1.194699999999997],[-0.8590000000000089,-0.7467000000000041],[-1.381,0],[-1.269000000000005,0.7466999999999899],[-0.7090000000000032,1.2319999999999993],[0,1.530699999999996],[0,2.594666666666669],[1.120000000000005,0.9332999999999885],[1.829000000000008,0],[1.269000000000005,-0.8960000000000008],[0.5970000000000084,-1.381299999999996],[1.754666666666679,0.8773333333333255],[-1.268999999999977,1.11999999999999],[-1.680000000000007,0.6346999999999952],[-1.903999999999996,0],[-1.829000000000008,-0.8960000000000008],[-1.0080000000000098,-1.6053],[0,-2.090699999999998],[0,-6.794666666666672],[2.015999999999991,0],[0,1.829333333333338],[-0.429333333333318,-0.05599999999999739],[1.120000000000005,-0.8959999999999866],[1.418999999999983,-0.4852999999999952],[1.716999999999985,0],[0,0],[0,0]],"o":[[-2.053000000000026,0],[-1.531000000000006,-0.7467000000000041],[-0.8589999999999804,-1.306699999999992],[0,-1.642700000000005],[0.7469999999999857,-1.306700000000006],[1.531000000000006,-0.8960000000000008],[3.509333333333331,-0.5786666666666633],[0,1.661333333333332],[-3.098666666666674,0.541333333333327],[-1.680000000000007,0.2987000000000108],[-0.7839999999999918,0.7467000000000041],[0,1.157300000000006],[0.896000000000015,0.7092999999999989],[1.717000000000013,0],[1.306999999999988,-0.7467000000000041],[0.7089999999999748,-1.2693000000000012],[0,-2.594666666666669],[0,-1.493299999999991],[-1.082999999999998,-0.9707000000000079],[-1.680000000000007,0],[-1.2319999999999993,0.8586999999999989],[-1.754666666666679,-0.8773333333333255],[0.5600000000000023,-1.493300000000005],[1.269000000000005,-1.157300000000006],[1.717000000000013,-0.6347000000000094],[2.388999999999982,0],[1.86699999999999,0.8960000000000008],[1.045000000000016,1.568000000000012],[0,6.794666666666672],[-2.015999999999991,0],[0,-1.829333333333338],[0.429333333333318,0.05599999999999739],[-0.7089999999999748,1.2319999999999993],[-1.082999999999998,0.8960000000000008],[-1.381,0.4853000000000094],[0,0],[0,0],[0,0]]}}},{"ty":"tm","s":{"a":0,"k":0,"ix":2},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":2},"m":1},{"ty":"tr","p":{"a":0,"k":[-211.7300415039062,-77.67320251464844],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"gr","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"v":[[0,42.392],[0,0.6720000000000041],[6.159999999999997,0.6720000000000041],[21.84,22.400000000000006],[18.75999999999999,22.400000000000006],[34.16,0.6720000000000041],[40.31999999999999,0.6720000000000041],[40.31999999999999,42.392],[33.768,42.392],[33.768,8.456000000000003],[36.232,9.128],[20.49600000000001,30.632000000000005],[19.824000000000012,30.632000000000005],[4.424000000000007,9.128],[6.608000000000004,8.456000000000003],[6.608000000000004,42.392],[0,42.392],[0,42.392],[0,42.392]],"i":[[0,0],[0,13.90666666666666],[-2.053333333333342,0],[-5.226666666666659,-7.242666666666665],[1.026666666666671,0],[-5.133333333333326,7.242666666666672],[-2.053333333333342,0],[0,-13.90666666666667],[2.183999999999997,0],[0,11.312],[-0.8213333333333424,-0.2240000000000038],[5.245333333333321,-7.168000000000006],[0.2239999999999895,0],[5.133333333333326,7.168000000000006],[-0.7280000000000086,0.2240000000000038],[0,-11.312],[2.202666666666659,0],[0,0],[0,0]],"o":[[0,-13.90666666666667],[2.053333333333342,0],[5.226666666666659,7.242666666666672],[-1.026666666666671,0],[5.133333333333326,-7.242666666666665],[2.053333333333342,0],[0,13.90666666666666],[-2.183999999999997,0],[0,-11.312],[0.8213333333333424,0.2240000000000038],[-5.245333333333321,7.168000000000006],[-0.2239999999999895,0],[-5.133333333333326,-7.168000000000006],[0.7280000000000086,-0.2240000000000038],[0,11.312],[-2.202666666666659,0],[0,0],[0,0],[0,0]]}}},{"ty":"tm","s":{"a":0,"k":0,"ix":2},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":2},"m":1},{"ty":"tr","p":{"a":0,"k":[-211.7300415039062,-77.67320251464844],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"fl","c":{"a":0,"k":[1,1,1],"ix":2},"o":{"a":0,"k":100,"ix":2},"r":1,"bm":0},{"ty":"tr","p":{"a":0,"k":[2.91259765625,56.001014709472656],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[99.99999403953552,99.99999403953552],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[702.6863719370097,144],"ix":2},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":72,"ix":2}},{"ty":"fl","c":{"a":0,"k":[0,0,0],"ix":2},"o":{"a":0,"k":100,"ix":2},"r":1,"bm":0},{"ty":"tm","s":{"a":0,"k":0,"ix":2},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":2},"m":1},{"ty":"tr","p":{"a":0,"k":[56.54167175292969,-0.000022762338630855083],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[99.99999403953552,99.99999403953552],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":80,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]},{"ty":"tr","p":{"a":0,"k":[122.0000003294881,25.00000012138912],"ix":2},"a":{"a":0,"k":[56.54167175292969,-0.00002288818359375],"ix":2},"s":{"a":0,"k":[34.403572049765366,34.403572049765366],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]}],"ip":0,"op":151,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":3,"nm":"","sr":1,"ks":{"p":{"a":1,"k":[{"t":70,"s":[-202.21206665039062,-204.2413330078125],"i":{"x":[0.75],"y":[0.75]},"o":{"x":[0.25],"y":[0.25]}},{"t":81,"s":[-201.96864318847656,-195.74130249023438],"i":{"x":[0.75],"y":[0.75]},"o":{"x":[0.25],"y":[0.25]}}],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[60.26248335838318,60.53290367126465],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}},"ao":0,"ip":0,"op":151,"st":0,"bm":0},{"ddd":0,"refId":"1","w":702,"h":702,"ind":4,"ty":0,"nm":"Body (Masked)","sr":1,"ks":{"p":{"a":0,"k":[399,399],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}},"ao":0,"ip":0,"op":151,"st":0,"bm":0,"parent":9},{"ddd":0,"ind":10,"ty":3,"nm":"","sr":1,"ks":{"p":{"a":1,"k":[{"t":39,"s":[-202.21206665039062,-204.2413330078125],"i":{"x":[0.75],"y":[0.75]},"o":{"x":[0.25],"y":[0.25]}},{"t":81,"s":[-201.96864318847656,-195.74130249023438],"i":{"x":[0.75],"y":[0.75]},"o":{"x":[0.25],"y":[0.25]}}],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[60.26248335838318,60.53290367126465],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}},"ao":0,"ip":0,"op":151,"st":0,"bm":0},{"ddd":0,"refId":"3","w":702,"h":702,"ind":8,"ty":0,"nm":"Head (Masked)","sr":1,"ks":{"p":{"a":0,"k":[399,399],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}},"ao":0,"ip":0,"op":151,"st":0,"bm":0,"parent":10},{"ddd":0,"ind":11,"ty":4,"nm":"Circle","sr":1,"ks":{"p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}},"ao":0,"shapes":[{"ty":"gr","nm":"Circle","it":[{"ty":"el","d":1,"s":{"a":0,"k":[422.5014900854009,424.39742128057475],"ix":2},"p":{"a":0,"k":[0,0],"ix":2}},{"ty":"st","c":{"a":0,"k":[1,1,1],"ix":2},"o":{"a":0,"k":100,"ix":2},"w":{"a":0,"k":21,"ix":2},"lc":1,"lj":1,"ml":4},{"ty":"tr","p":{"a":1,"k":[{"t":0,"s":[249.75657653808594,233.2445068359375],"i":{"x":[0.75],"y":[0.75]},"o":{"x":[0.25],"y":[0.25]}},{"t":81,"s":[250,241.74453735351562],"i":{"x":[0.75],"y":[0.75]},"o":{"x":[0.25],"y":[0.25]}}],"ix":2},"a":{"a":0,"k":[0,0],"ix":2},"s":{"a":0,"k":[100,100],"ix":2},"r":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":100,"ix":2},"sk":{"a":0,"k":0,"ix":2},"sa":{"a":0,"k":0,"ix":2}}]}],"ip":0,"op":151,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/frontend/src/layouts/OrganizationLayout/components/MenuIconButton/MenuIconButton.tsx b/frontend/src/layouts/OrganizationLayout/components/MenuIconButton/MenuIconButton.tsx index 4bb06022e..3d8aff590 100644 --- a/frontend/src/layouts/OrganizationLayout/components/MenuIconButton/MenuIconButton.tsx +++ b/frontend/src/layouts/OrganizationLayout/components/MenuIconButton/MenuIconButton.tsx @@ -14,8 +14,10 @@ export const MenuIconButton = ({ description, // wrapping in forward ref with generic component causes the loss of ts definitions on props inputRef, + lottieIconMode = "forward", ...props -}: MenuItemProps & ComponentPropsWithRef): JSX.Element => { +}: MenuItemProps & + ComponentPropsWithRef & { lottieIconMode?: "reverse" | "forward" }): JSX.Element => { const iconRef = useRef(null); return ( ({ src={`/lotties/${icon}.json`} loop className="h-full w-full" + mode={lottieIconMode} />
    )} diff --git a/frontend/src/layouts/OrganizationLayout/components/MinimizedOrgSidebar/MinimizedOrgSidebar.tsx b/frontend/src/layouts/OrganizationLayout/components/MinimizedOrgSidebar/MinimizedOrgSidebar.tsx index 041fe7dd4..eb4f56577 100644 --- a/frontend/src/layouts/OrganizationLayout/components/MinimizedOrgSidebar/MinimizedOrgSidebar.tsx +++ b/frontend/src/layouts/OrganizationLayout/components/MinimizedOrgSidebar/MinimizedOrgSidebar.tsx @@ -5,7 +5,6 @@ import { faBook, faCheck, faCog, - faEllipsis, faEnvelope, faInfinity, faInfo, @@ -309,11 +308,12 @@ export const MinimizedOrgSidebar = () => {
    - -
    - - More -
    + + More
    @@ -410,11 +410,7 @@ export const MinimizedOrgSidebar = () => {
    - -
    - {user?.firstName?.charAt(0)} -
    -
    + User