From 1ba8b6394bf9b6e98215eb110de775fea45f0072 Mon Sep 17 00:00:00 2001 From: = Date: Mon, 16 Dec 2024 11:46:37 +0530 Subject: [PATCH] feat: added virtual route to mount the layout without wrapping again --- frontend-v2/package-lock.json | 2 +- frontend-v2/package.json | 1 + .../OrgPermissionContext.tsx | 13 +- frontend-v2/src/hooks/api/roles/queries.tsx | 6 +- .../PersonalSettingsLayout.tsx | 4 +- frontend-v2/src/routeTree.gen.ts | 336 ++++++++++-------- frontend-v2/src/routes/_authenticate.tsx | 43 +-- .../src/routes/_authenticate/_org_details.tsx | 22 +- .../_authenticate/_org_details/__virtual.ts | 5 + .../organization/$organizationId/index.tsx | 34 -- .../$organizationId/secret-manager.tsx | 11 - .../{_organization_layout.tsx => layout.tsx} | 2 +- .../organization/$organizationId/index.tsx | 38 ++ .../$organizationId/secret-manager.tsx | 11 + .../organization/index.tsx | 4 +- .../APIKeySection/APIKeySection.tsx | 0 .../-components/APIKeySection/APIKeyTable.tsx | 0 .../APIKeySection/AddAPIKeyModal.tsx | 0 .../-components/APIKeySection/index.tsx | 0 .../AuthMethodSection/AuthMethodSection.tsx | 0 .../-components/AuthMethodSection/index.tsx | 0 .../ChangePasswordSection.tsx | 0 .../ChangePasswordSection/index.tsx | 0 .../DeleteAccountSection.tsx | 0 .../DeleteAccountSection/index.tsx | 0 .../EmergencyKitSection.tsx | 0 .../-components/EmergencyKitSection/index.tsx | 0 .../PersonalAPIKeyTab/PersonalAPIKeyTab.tsx | 0 .../-components/PersonalAPIKeyTab/index.tsx | 0 .../PersonalAuthTab/PersonalAuthTab.tsx | 0 .../-components/PersonalAuthTab/index.tsx | 0 .../PersonalGeneralTab/PersonalGeneralTab.tsx | 0 .../-components/PersonalGeneralTab/index.tsx | 0 .../PersonalTabGroup/PersonalTabGroup.tsx | 0 .../-components/PersonalTabGroup/index.tsx | 0 .../SecuritySection/MFASection.tsx | 0 .../-components/SecuritySection/index.tsx | 0 .../SessionsSection/SessionsSection.tsx | 0 .../SessionsSection/SessionsTable.tsx | 0 .../-components/SessionsSection/index.tsx | 0 .../UserNameSection/UserNameSection.tsx | 0 .../-components/UserNameSection/index.tsx | 0 .../personal-settings/__virtual.ts | 5 + .../personal-settings/index.tsx | 2 +- .../layout.tsx} | 2 +- .../src/routes/_restrict_login_signup.tsx | 30 +- .../UserInfoSSOStep/UserInfoSSOStep.tsx | 2 +- 47 files changed, 328 insertions(+), 245 deletions(-) create mode 100644 frontend-v2/src/routes/_authenticate/_org_details/__virtual.ts delete mode 100644 frontend-v2/src/routes/_authenticate/_org_details/_organization_layout/organization/$organizationId/index.tsx delete mode 100644 frontend-v2/src/routes/_authenticate/_org_details/_organization_layout/organization/$organizationId/secret-manager.tsx rename frontend-v2/src/routes/_authenticate/_org_details/{_organization_layout.tsx => layout.tsx} (89%) create mode 100644 frontend-v2/src/routes/_authenticate/_org_details/organization/$organizationId/index.tsx create mode 100644 frontend-v2/src/routes/_authenticate/_org_details/organization/$organizationId/secret-manager.tsx rename frontend-v2/src/routes/_authenticate/_org_details/{_organization_layout => }/organization/index.tsx (72%) rename frontend-v2/src/routes/_authenticate/{_personal_settings_layout => }/personal-settings/-components/APIKeySection/APIKeySection.tsx (100%) rename frontend-v2/src/routes/_authenticate/{_personal_settings_layout => }/personal-settings/-components/APIKeySection/APIKeyTable.tsx (100%) rename frontend-v2/src/routes/_authenticate/{_personal_settings_layout => }/personal-settings/-components/APIKeySection/AddAPIKeyModal.tsx (100%) rename frontend-v2/src/routes/_authenticate/{_personal_settings_layout => }/personal-settings/-components/APIKeySection/index.tsx (100%) rename frontend-v2/src/routes/_authenticate/{_personal_settings_layout => }/personal-settings/-components/AuthMethodSection/AuthMethodSection.tsx (100%) rename frontend-v2/src/routes/_authenticate/{_personal_settings_layout => }/personal-settings/-components/AuthMethodSection/index.tsx (100%) rename frontend-v2/src/routes/_authenticate/{_personal_settings_layout => }/personal-settings/-components/ChangePasswordSection/ChangePasswordSection.tsx (100%) rename frontend-v2/src/routes/_authenticate/{_personal_settings_layout => }/personal-settings/-components/ChangePasswordSection/index.tsx (100%) rename frontend-v2/src/routes/_authenticate/{_personal_settings_layout => }/personal-settings/-components/DeleteAccountSection/DeleteAccountSection.tsx (100%) rename frontend-v2/src/routes/_authenticate/{_personal_settings_layout => }/personal-settings/-components/DeleteAccountSection/index.tsx (100%) rename frontend-v2/src/routes/_authenticate/{_personal_settings_layout => }/personal-settings/-components/EmergencyKitSection/EmergencyKitSection.tsx (100%) rename frontend-v2/src/routes/_authenticate/{_personal_settings_layout => }/personal-settings/-components/EmergencyKitSection/index.tsx (100%) rename frontend-v2/src/routes/_authenticate/{_personal_settings_layout => }/personal-settings/-components/PersonalAPIKeyTab/PersonalAPIKeyTab.tsx (100%) rename frontend-v2/src/routes/_authenticate/{_personal_settings_layout => }/personal-settings/-components/PersonalAPIKeyTab/index.tsx (100%) rename frontend-v2/src/routes/_authenticate/{_personal_settings_layout => }/personal-settings/-components/PersonalAuthTab/PersonalAuthTab.tsx (100%) rename frontend-v2/src/routes/_authenticate/{_personal_settings_layout => }/personal-settings/-components/PersonalAuthTab/index.tsx (100%) rename frontend-v2/src/routes/_authenticate/{_personal_settings_layout => }/personal-settings/-components/PersonalGeneralTab/PersonalGeneralTab.tsx (100%) rename frontend-v2/src/routes/_authenticate/{_personal_settings_layout => }/personal-settings/-components/PersonalGeneralTab/index.tsx (100%) rename frontend-v2/src/routes/_authenticate/{_personal_settings_layout => }/personal-settings/-components/PersonalTabGroup/PersonalTabGroup.tsx (100%) rename frontend-v2/src/routes/_authenticate/{_personal_settings_layout => }/personal-settings/-components/PersonalTabGroup/index.tsx (100%) rename frontend-v2/src/routes/_authenticate/{_personal_settings_layout => }/personal-settings/-components/SecuritySection/MFASection.tsx (100%) rename frontend-v2/src/routes/_authenticate/{_personal_settings_layout => }/personal-settings/-components/SecuritySection/index.tsx (100%) rename frontend-v2/src/routes/_authenticate/{_personal_settings_layout => }/personal-settings/-components/SessionsSection/SessionsSection.tsx (100%) rename frontend-v2/src/routes/_authenticate/{_personal_settings_layout => }/personal-settings/-components/SessionsSection/SessionsTable.tsx (100%) rename frontend-v2/src/routes/_authenticate/{_personal_settings_layout => }/personal-settings/-components/SessionsSection/index.tsx (100%) rename frontend-v2/src/routes/_authenticate/{_personal_settings_layout => }/personal-settings/-components/UserNameSection/UserNameSection.tsx (100%) rename frontend-v2/src/routes/_authenticate/{_personal_settings_layout => }/personal-settings/-components/UserNameSection/index.tsx (100%) create mode 100644 frontend-v2/src/routes/_authenticate/personal-settings/__virtual.ts rename frontend-v2/src/routes/_authenticate/{_personal_settings_layout => }/personal-settings/index.tsx (90%) rename frontend-v2/src/routes/_authenticate/{_personal_settings_layout.tsx => personal-settings/layout.tsx} (63%) diff --git a/frontend-v2/package-lock.json b/frontend-v2/package-lock.json index 5661b68a1..7c985708e 100644 --- a/frontend-v2/package-lock.json +++ b/frontend-v2/package-lock.json @@ -44,6 +44,7 @@ "@sindresorhus/slugify": "^2.2.1", "@tanstack/react-query": "^4.36.1", "@tanstack/react-router": "^1.87.9", + "@tanstack/virtual-file-routes": "^1.87.6", "@types/nprogress": "^0.2.3", "@ucast/mongo2js": "^1.3.4", "argon2-browser": "^1.18.0", @@ -3845,7 +3846,6 @@ "version": "1.87.6", "resolved": "https://registry.npmjs.org/@tanstack/virtual-file-routes/-/virtual-file-routes-1.87.6.tgz", "integrity": "sha512-PTpeM8SHL7AJM0pJOacFvHribbUODS51qe9NsMqku4mogh6BWObY1EeVmeGnp9o3VngAEsf+rJMs2zqIVz3WFA==", - "devOptional": true, "license": "MIT", "engines": { "node": ">=12" diff --git a/frontend-v2/package.json b/frontend-v2/package.json index 03a156324..d8d8c4fb4 100644 --- a/frontend-v2/package.json +++ b/frontend-v2/package.json @@ -48,6 +48,7 @@ "@sindresorhus/slugify": "^2.2.1", "@tanstack/react-query": "^4.36.1", "@tanstack/react-router": "^1.87.9", + "@tanstack/virtual-file-routes": "^1.87.6", "@types/nprogress": "^0.2.3", "@ucast/mongo2js": "^1.3.4", "argon2-browser": "^1.18.0", diff --git a/frontend-v2/src/context/OrgPermissionContext/OrgPermissionContext.tsx b/frontend-v2/src/context/OrgPermissionContext/OrgPermissionContext.tsx index 36422b722..a7b1e1db0 100644 --- a/frontend-v2/src/context/OrgPermissionContext/OrgPermissionContext.tsx +++ b/frontend-v2/src/context/OrgPermissionContext/OrgPermissionContext.tsx @@ -1,4 +1,5 @@ -import { createContext, ReactNode, useContext } from "react"; +import { createContext, ReactNode } from "react"; +import { useRouteContext } from "@tanstack/react-router"; import { useGetUserOrgPermissions } from "@app/hooks/api"; import { OrgUser } from "@app/hooks/api/types"; @@ -49,10 +50,10 @@ export const OrgPermissionProvider = ({ children }: Props): JSX.Element => { }; export const useOrgPermission = () => { - const ctx = useContext(OrgPermissionContext); - if (!ctx) { - throw new Error("useOrgPermission to be used within "); - } + const { permission } = useRouteContext({ + from: "/_authenticate/_org_details", + select: (el) => el.orgPermission + }); - return ctx; + return permission; }; diff --git a/frontend-v2/src/hooks/api/roles/queries.tsx b/frontend-v2/src/hooks/api/roles/queries.tsx index 7333cb4af..c69b41309 100644 --- a/frontend-v2/src/hooks/api/roles/queries.tsx +++ b/frontend-v2/src/hooks/api/roles/queries.tsx @@ -35,7 +35,7 @@ const glob: JsInterpreter> = (node, object, context) => { return picomatch.isMatch(secretPath, permissionSecretGlobPath, { strictSlashes: false }); }; -const conditionsMatcher = buildMongoQueryMatcher({ $glob }, { glob }); +export const conditionsMatcher = buildMongoQueryMatcher({ $glob }, { glob }); export const roleQueryKeys = { getProjectRoles: (projectId: string) => ["roles", { projectId }] as const, @@ -107,7 +107,7 @@ export const useGetOrgRole = (orgId: string, roleId: string) => enabled: Boolean(orgId && roleId) }); -const getUserOrgPermissions = async ({ orgId }: TGetUserOrgPermissionsDTO) => { +export const fetchUserOrgPermissions = async ({ orgId }: TGetUserOrgPermissionsDTO) => { if (orgId === "") return { permissions: [], membership: null }; const { data } = await apiRequest.get<{ @@ -121,7 +121,7 @@ const getUserOrgPermissions = async ({ orgId }: TGetUserOrgPermissionsDTO) => { export const useGetUserOrgPermissions = ({ orgId }: TGetUserOrgPermissionsDTO) => useQuery({ queryKey: roleQueryKeys.getUserOrgPermissions({ orgId }), - queryFn: () => getUserOrgPermissions({ orgId }), + queryFn: () => fetchUserOrgPermissions({ orgId }), // enabled: Boolean(orgId), select: (data) => { const rule = unpackRules>>(data.permissions); diff --git a/frontend-v2/src/layouts/PersonalSettingsLayout/PersonalSettingsLayout.tsx b/frontend-v2/src/layouts/PersonalSettingsLayout/PersonalSettingsLayout.tsx index 1b07d8f9a..31a050105 100644 --- a/frontend-v2/src/layouts/PersonalSettingsLayout/PersonalSettingsLayout.tsx +++ b/frontend-v2/src/layouts/PersonalSettingsLayout/PersonalSettingsLayout.tsx @@ -16,7 +16,9 @@ import { InsecureConnectionBanner } from "../OrganizationLayout/components/Insec import { INFISICAL_SUPPORT_OPTIONS } from "../OrganizationLayout/components/SidebarFooter/SidebarFooter"; export const PersonalSettingsLayout = () => { - const { organizationId } = useRouteContext({ from: "/_authenticate/_personal_settings_layout" }); + const { organizationId } = useRouteContext({ + from: "/_authenticate/personal-settings/_personal-settings-layout" + }); const { t } = useTranslation(); const infisicalPlatformVersion = import.meta.env.VITE_INFISICAL_PLATFORM_VERSION; diff --git a/frontend-v2/src/routeTree.gen.ts b/frontend-v2/src/routeTree.gen.ts index ff12f273a..0c3b32964 100644 --- a/frontend-v2/src/routeTree.gen.ts +++ b/frontend-v2/src/routeTree.gen.ts @@ -8,6 +8,8 @@ // You should NOT make any changes in this file as it will be overwritten. // Additionally, you should also exclude this file from your linter and/or formatter to prevent it from being checked or modified. +import { createFileRoute } from '@tanstack/react-router' + // Import Routes import { Route as rootRoute } from './routes/__root' @@ -20,21 +22,27 @@ import { Route as RestrictloginsignupRequestnewinviteImport } from './routes/_re import { Route as RestrictloginsignupPasswordResetImport } from './routes/_restrict_login_signup/password-reset' import { Route as RestrictloginsignupEmailNotVerifiedImport } from './routes/_restrict_login_signup/email-not-verified' import { Route as AuthenticateCliRedirectImport } from './routes/_authenticate/cli-redirect' -import { Route as AuthenticatePersonalsettingslayoutImport } from './routes/_authenticate/_personal_settings_layout' import { Route as AuthenticateOrgdetailsImport } from './routes/_authenticate/_org_details' import { Route as RestrictloginsignupSignupIndexImport } from './routes/_restrict_login_signup/signup/index' import { Route as RestrictloginsignupLoginIndexImport } from './routes/_restrict_login_signup/login/index' -import { Route as AuthenticateOrgdetailsOrganizationlayoutImport } from './routes/_authenticate/_org_details/_organization_layout' +import { Route as authenticatePersonalSettingsLayoutImport } from './routes/_authenticate/personal-settings/layout' +import { Route as authenticateOrgdetailsLayoutImport } from './routes/_authenticate/_org_details/layout' import { Route as RestrictloginsignupSignupSsoIndexImport } from './routes/_restrict_login_signup/signup/sso/index' import { Route as RestrictloginsignupLoginSsoIndexImport } from './routes/_restrict_login_signup/login/sso/index' import { Route as RestrictloginsignupLoginSelectOrganizationIndexImport } from './routes/_restrict_login_signup/login/select-organization/index' import { Route as RestrictloginsignupLoginLdapIndexImport } from './routes/_restrict_login_signup/login/ldap/index' -import { Route as AuthenticatePersonalsettingslayoutPersonalSettingsIndexImport } from './routes/_authenticate/_personal_settings_layout/personal-settings/index' +import { Route as authenticatePersonalSettingsIndexImport } from './routes/_authenticate/personal-settings/index' import { Route as RestrictloginsignupLoginProviderSuccessImport } from './routes/_restrict_login_signup/login/provider/success' import { Route as RestrictloginsignupLoginProviderErrorImport } from './routes/_restrict_login_signup/login/provider/error' -import { Route as AuthenticateOrgdetailsOrganizationlayoutOrganizationIndexImport } from './routes/_authenticate/_org_details/_organization_layout/organization/index' -import { Route as AuthenticateOrgdetailsOrganizationlayoutOrganizationOrganizationIdIndexImport } from './routes/_authenticate/_org_details/_organization_layout/organization/$organizationId/index' -import { Route as AuthenticateOrgdetailsOrganizationlayoutOrganizationOrganizationIdSecretManagerImport } from './routes/_authenticate/_org_details/_organization_layout/organization/$organizationId/secret-manager' +import { Route as authenticateOrgdetailsOrganizationIndexImport } from './routes/_authenticate/_org_details/organization/index' +import { Route as authenticateOrgdetailsOrganizationOrganizationIdIndexImport } from './routes/_authenticate/_org_details/organization/$organizationId/index' +import { Route as authenticateOrgdetailsOrganizationOrganizationIdSecretManagerImport } from './routes/_authenticate/_org_details/organization/$organizationId/secret-manager' + +// Create Virtual Routes + +const AuthenticatePersonalSettingsImport = createFileRoute( + '/_authenticate/personal-settings', +)() // Create/Update Routes @@ -54,6 +62,13 @@ const IndexRoute = IndexImport.update({ getParentRoute: () => rootRoute, } as any) +const AuthenticatePersonalSettingsRoute = + AuthenticatePersonalSettingsImport.update({ + id: '/personal-settings', + path: '/personal-settings', + getParentRoute: () => AuthenticateRoute, + } as any) + const RestrictloginsignupVerifyEmailRoute = RestrictloginsignupVerifyEmailImport.update({ id: '/verify-email', @@ -95,12 +110,6 @@ const AuthenticateCliRedirectRoute = AuthenticateCliRedirectImport.update({ getParentRoute: () => AuthenticateRoute, } as any) -const AuthenticatePersonalsettingslayoutRoute = - AuthenticatePersonalsettingslayoutImport.update({ - id: '/_personal_settings_layout', - getParentRoute: () => AuthenticateRoute, - } as any) - const AuthenticateOrgdetailsRoute = AuthenticateOrgdetailsImport.update({ id: '/_org_details', getParentRoute: () => AuthenticateRoute, @@ -120,9 +129,15 @@ const RestrictloginsignupLoginIndexRoute = getParentRoute: () => RestrictloginsignupRoute, } as any) -const AuthenticateOrgdetailsOrganizationlayoutRoute = - AuthenticateOrgdetailsOrganizationlayoutImport.update({ - id: '/_organization_layout', +const authenticatePersonalSettingsLayoutRoute = + authenticatePersonalSettingsLayoutImport.update({ + id: '/_personal-settings-layout', + getParentRoute: () => AuthenticatePersonalSettingsRoute, + } as any) + +const authenticateOrgdetailsLayoutRoute = + authenticateOrgdetailsLayoutImport.update({ + id: '/_org-layout', getParentRoute: () => AuthenticateOrgdetailsRoute, } as any) @@ -154,11 +169,11 @@ const RestrictloginsignupLoginLdapIndexRoute = getParentRoute: () => RestrictloginsignupRoute, } as any) -const AuthenticatePersonalsettingslayoutPersonalSettingsIndexRoute = - AuthenticatePersonalsettingslayoutPersonalSettingsIndexImport.update({ - id: '/personal-settings/', - path: '/personal-settings/', - getParentRoute: () => AuthenticatePersonalsettingslayoutRoute, +const authenticatePersonalSettingsIndexRoute = + authenticatePersonalSettingsIndexImport.update({ + id: '/', + path: '/', + getParentRoute: () => authenticatePersonalSettingsLayoutRoute, } as any) const RestrictloginsignupLoginProviderSuccessRoute = @@ -175,30 +190,26 @@ const RestrictloginsignupLoginProviderErrorRoute = getParentRoute: () => RestrictloginsignupRoute, } as any) -const AuthenticateOrgdetailsOrganizationlayoutOrganizationIndexRoute = - AuthenticateOrgdetailsOrganizationlayoutOrganizationIndexImport.update({ +const authenticateOrgdetailsOrganizationIndexRoute = + authenticateOrgdetailsOrganizationIndexImport.update({ id: '/organization/', path: '/organization/', - getParentRoute: () => AuthenticateOrgdetailsOrganizationlayoutRoute, + getParentRoute: () => authenticateOrgdetailsLayoutRoute, } as any) -const AuthenticateOrgdetailsOrganizationlayoutOrganizationOrganizationIdIndexRoute = - AuthenticateOrgdetailsOrganizationlayoutOrganizationOrganizationIdIndexImport.update( - { - id: '/organization/$organizationId/', - path: '/organization/$organizationId/', - getParentRoute: () => AuthenticateOrgdetailsOrganizationlayoutRoute, - } as any, - ) +const authenticateOrgdetailsOrganizationOrganizationIdIndexRoute = + authenticateOrgdetailsOrganizationOrganizationIdIndexImport.update({ + id: '/organization/$organizationId/', + path: '/organization/$organizationId/', + getParentRoute: () => authenticateOrgdetailsLayoutRoute, + } as any) -const AuthenticateOrgdetailsOrganizationlayoutOrganizationOrganizationIdSecretManagerRoute = - AuthenticateOrgdetailsOrganizationlayoutOrganizationOrganizationIdSecretManagerImport.update( - { - id: '/organization/$organizationId/secret-manager', - path: '/organization/$organizationId/secret-manager', - getParentRoute: () => AuthenticateOrgdetailsOrganizationlayoutRoute, - } as any, - ) +const authenticateOrgdetailsOrganizationOrganizationIdSecretManagerRoute = + authenticateOrgdetailsOrganizationOrganizationIdSecretManagerImport.update({ + id: '/organization/$organizationId/secret-manager', + path: '/organization/$organizationId/secret-manager', + getParentRoute: () => authenticateOrgdetailsLayoutRoute, + } as any) // Populate the FileRoutesByPath interface @@ -232,13 +243,6 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof AuthenticateOrgdetailsImport parentRoute: typeof AuthenticateImport } - '/_authenticate/_personal_settings_layout': { - id: '/_authenticate/_personal_settings_layout' - path: '' - fullPath: '' - preLoaderRoute: typeof AuthenticatePersonalsettingslayoutImport - parentRoute: typeof AuthenticateImport - } '/_authenticate/cli-redirect': { id: '/_authenticate/cli-redirect' path: '/cli-redirect' @@ -281,13 +285,27 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof RestrictloginsignupVerifyEmailImport parentRoute: typeof RestrictloginsignupImport } - '/_authenticate/_org_details/_organization_layout': { - id: '/_authenticate/_org_details/_organization_layout' + '/_authenticate/_org_details/_org-layout': { + id: '/_authenticate/_org_details/_org-layout' path: '' fullPath: '' - preLoaderRoute: typeof AuthenticateOrgdetailsOrganizationlayoutImport + preLoaderRoute: typeof authenticateOrgdetailsLayoutImport parentRoute: typeof AuthenticateOrgdetailsImport } + '/_authenticate/personal-settings': { + id: '/_authenticate/personal-settings' + path: '/personal-settings' + fullPath: '/personal-settings' + preLoaderRoute: typeof AuthenticatePersonalSettingsImport + parentRoute: typeof AuthenticateImport + } + '/_authenticate/personal-settings/_personal-settings-layout': { + id: '/_authenticate/personal-settings/_personal-settings-layout' + path: '/personal-settings' + fullPath: '/personal-settings' + preLoaderRoute: typeof authenticatePersonalSettingsLayoutImport + parentRoute: typeof AuthenticatePersonalSettingsRoute + } '/_restrict_login_signup/login/': { id: '/_restrict_login_signup/login/' path: '/login' @@ -316,12 +334,12 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof RestrictloginsignupLoginProviderSuccessImport parentRoute: typeof RestrictloginsignupImport } - '/_authenticate/_personal_settings_layout/personal-settings/': { - id: '/_authenticate/_personal_settings_layout/personal-settings/' - path: '/personal-settings' - fullPath: '/personal-settings' - preLoaderRoute: typeof AuthenticatePersonalsettingslayoutPersonalSettingsIndexImport - parentRoute: typeof AuthenticatePersonalsettingslayoutImport + '/_authenticate/personal-settings/_personal-settings-layout/': { + id: '/_authenticate/personal-settings/_personal-settings-layout/' + path: '/' + fullPath: '/personal-settings/' + preLoaderRoute: typeof authenticatePersonalSettingsIndexImport + parentRoute: typeof authenticatePersonalSettingsLayoutImport } '/_restrict_login_signup/login/ldap/': { id: '/_restrict_login_signup/login/ldap/' @@ -351,61 +369,61 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof RestrictloginsignupSignupSsoIndexImport parentRoute: typeof RestrictloginsignupImport } - '/_authenticate/_org_details/_organization_layout/organization/': { - id: '/_authenticate/_org_details/_organization_layout/organization/' + '/_authenticate/_org_details/_org-layout/organization/': { + id: '/_authenticate/_org_details/_org-layout/organization/' path: '/organization' fullPath: '/organization' - preLoaderRoute: typeof AuthenticateOrgdetailsOrganizationlayoutOrganizationIndexImport - parentRoute: typeof AuthenticateOrgdetailsOrganizationlayoutImport + preLoaderRoute: typeof authenticateOrgdetailsOrganizationIndexImport + parentRoute: typeof authenticateOrgdetailsLayoutImport } - '/_authenticate/_org_details/_organization_layout/organization/$organizationId/secret-manager': { - id: '/_authenticate/_org_details/_organization_layout/organization/$organizationId/secret-manager' + '/_authenticate/_org_details/_org-layout/organization/$organizationId/secret-manager': { + id: '/_authenticate/_org_details/_org-layout/organization/$organizationId/secret-manager' path: '/organization/$organizationId/secret-manager' fullPath: '/organization/$organizationId/secret-manager' - preLoaderRoute: typeof AuthenticateOrgdetailsOrganizationlayoutOrganizationOrganizationIdSecretManagerImport - parentRoute: typeof AuthenticateOrgdetailsOrganizationlayoutImport + preLoaderRoute: typeof authenticateOrgdetailsOrganizationOrganizationIdSecretManagerImport + parentRoute: typeof authenticateOrgdetailsLayoutImport } - '/_authenticate/_org_details/_organization_layout/organization/$organizationId/': { - id: '/_authenticate/_org_details/_organization_layout/organization/$organizationId/' + '/_authenticate/_org_details/_org-layout/organization/$organizationId/': { + id: '/_authenticate/_org_details/_org-layout/organization/$organizationId/' path: '/organization/$organizationId' fullPath: '/organization/$organizationId' - preLoaderRoute: typeof AuthenticateOrgdetailsOrganizationlayoutOrganizationOrganizationIdIndexImport - parentRoute: typeof AuthenticateOrgdetailsOrganizationlayoutImport + preLoaderRoute: typeof authenticateOrgdetailsOrganizationOrganizationIdIndexImport + parentRoute: typeof authenticateOrgdetailsLayoutImport } } } // Create and export the route tree -interface AuthenticateOrgdetailsOrganizationlayoutRouteChildren { - AuthenticateOrgdetailsOrganizationlayoutOrganizationIndexRoute: typeof AuthenticateOrgdetailsOrganizationlayoutOrganizationIndexRoute - AuthenticateOrgdetailsOrganizationlayoutOrganizationOrganizationIdSecretManagerRoute: typeof AuthenticateOrgdetailsOrganizationlayoutOrganizationOrganizationIdSecretManagerRoute - AuthenticateOrgdetailsOrganizationlayoutOrganizationOrganizationIdIndexRoute: typeof AuthenticateOrgdetailsOrganizationlayoutOrganizationOrganizationIdIndexRoute +interface authenticateOrgdetailsLayoutRouteChildren { + authenticateOrgdetailsOrganizationIndexRoute: typeof authenticateOrgdetailsOrganizationIndexRoute + authenticateOrgdetailsOrganizationOrganizationIdSecretManagerRoute: typeof authenticateOrgdetailsOrganizationOrganizationIdSecretManagerRoute + authenticateOrgdetailsOrganizationOrganizationIdIndexRoute: typeof authenticateOrgdetailsOrganizationOrganizationIdIndexRoute } -const AuthenticateOrgdetailsOrganizationlayoutRouteChildren: AuthenticateOrgdetailsOrganizationlayoutRouteChildren = +const authenticateOrgdetailsLayoutRouteChildren: authenticateOrgdetailsLayoutRouteChildren = { - AuthenticateOrgdetailsOrganizationlayoutOrganizationIndexRoute: - AuthenticateOrgdetailsOrganizationlayoutOrganizationIndexRoute, - AuthenticateOrgdetailsOrganizationlayoutOrganizationOrganizationIdSecretManagerRoute: - AuthenticateOrgdetailsOrganizationlayoutOrganizationOrganizationIdSecretManagerRoute, - AuthenticateOrgdetailsOrganizationlayoutOrganizationOrganizationIdIndexRoute: - AuthenticateOrgdetailsOrganizationlayoutOrganizationOrganizationIdIndexRoute, + authenticateOrgdetailsOrganizationIndexRoute: + authenticateOrgdetailsOrganizationIndexRoute, + authenticateOrgdetailsOrganizationOrganizationIdSecretManagerRoute: + authenticateOrgdetailsOrganizationOrganizationIdSecretManagerRoute, + authenticateOrgdetailsOrganizationOrganizationIdIndexRoute: + authenticateOrgdetailsOrganizationOrganizationIdIndexRoute, } -const AuthenticateOrgdetailsOrganizationlayoutRouteWithChildren = - AuthenticateOrgdetailsOrganizationlayoutRoute._addFileChildren( - AuthenticateOrgdetailsOrganizationlayoutRouteChildren, +const authenticateOrgdetailsLayoutRouteWithChildren = + authenticateOrgdetailsLayoutRoute._addFileChildren( + authenticateOrgdetailsLayoutRouteChildren, ) interface AuthenticateOrgdetailsRouteChildren { - AuthenticateOrgdetailsOrganizationlayoutRoute: typeof AuthenticateOrgdetailsOrganizationlayoutRouteWithChildren + authenticateOrgdetailsLayoutRoute: typeof authenticateOrgdetailsLayoutRouteWithChildren } const AuthenticateOrgdetailsRouteChildren: AuthenticateOrgdetailsRouteChildren = { - AuthenticateOrgdetailsOrganizationlayoutRoute: - AuthenticateOrgdetailsOrganizationlayoutRouteWithChildren, + authenticateOrgdetailsLayoutRoute: + authenticateOrgdetailsLayoutRouteWithChildren, } const AuthenticateOrgdetailsRouteWithChildren = @@ -413,32 +431,47 @@ const AuthenticateOrgdetailsRouteWithChildren = AuthenticateOrgdetailsRouteChildren, ) -interface AuthenticatePersonalsettingslayoutRouteChildren { - AuthenticatePersonalsettingslayoutPersonalSettingsIndexRoute: typeof AuthenticatePersonalsettingslayoutPersonalSettingsIndexRoute +interface authenticatePersonalSettingsLayoutRouteChildren { + authenticatePersonalSettingsIndexRoute: typeof authenticatePersonalSettingsIndexRoute } -const AuthenticatePersonalsettingslayoutRouteChildren: AuthenticatePersonalsettingslayoutRouteChildren = +const authenticatePersonalSettingsLayoutRouteChildren: authenticatePersonalSettingsLayoutRouteChildren = { - AuthenticatePersonalsettingslayoutPersonalSettingsIndexRoute: - AuthenticatePersonalsettingslayoutPersonalSettingsIndexRoute, + authenticatePersonalSettingsIndexRoute: + authenticatePersonalSettingsIndexRoute, } -const AuthenticatePersonalsettingslayoutRouteWithChildren = - AuthenticatePersonalsettingslayoutRoute._addFileChildren( - AuthenticatePersonalsettingslayoutRouteChildren, +const authenticatePersonalSettingsLayoutRouteWithChildren = + authenticatePersonalSettingsLayoutRoute._addFileChildren( + authenticatePersonalSettingsLayoutRouteChildren, + ) + +interface AuthenticatePersonalSettingsRouteChildren { + authenticatePersonalSettingsLayoutRoute: typeof authenticatePersonalSettingsLayoutRouteWithChildren +} + +const AuthenticatePersonalSettingsRouteChildren: AuthenticatePersonalSettingsRouteChildren = + { + authenticatePersonalSettingsLayoutRoute: + authenticatePersonalSettingsLayoutRouteWithChildren, + } + +const AuthenticatePersonalSettingsRouteWithChildren = + AuthenticatePersonalSettingsRoute._addFileChildren( + AuthenticatePersonalSettingsRouteChildren, ) interface AuthenticateRouteChildren { AuthenticateOrgdetailsRoute: typeof AuthenticateOrgdetailsRouteWithChildren - AuthenticatePersonalsettingslayoutRoute: typeof AuthenticatePersonalsettingslayoutRouteWithChildren AuthenticateCliRedirectRoute: typeof AuthenticateCliRedirectRoute + AuthenticatePersonalSettingsRoute: typeof AuthenticatePersonalSettingsRouteWithChildren } const AuthenticateRouteChildren: AuthenticateRouteChildren = { AuthenticateOrgdetailsRoute: AuthenticateOrgdetailsRouteWithChildren, - AuthenticatePersonalsettingslayoutRoute: - AuthenticatePersonalsettingslayoutRouteWithChildren, AuthenticateCliRedirectRoute: AuthenticateCliRedirectRoute, + AuthenticatePersonalSettingsRoute: + AuthenticatePersonalSettingsRouteWithChildren, } const AuthenticateRouteWithChildren = AuthenticateRoute._addFileChildren( @@ -489,48 +522,49 @@ const RestrictloginsignupRouteWithChildren = export interface FileRoutesByFullPath { '/': typeof IndexRoute - '': typeof AuthenticateOrgdetailsOrganizationlayoutRouteWithChildren + '': typeof authenticateOrgdetailsLayoutRouteWithChildren '/cli-redirect': typeof AuthenticateCliRedirectRoute '/email-not-verified': typeof RestrictloginsignupEmailNotVerifiedRoute '/password-reset': typeof RestrictloginsignupPasswordResetRoute '/requestnewinvite': typeof RestrictloginsignupRequestnewinviteRoute '/signupinvite': typeof RestrictloginsignupSignupinviteRoute '/verify-email': typeof RestrictloginsignupVerifyEmailRoute + '/personal-settings': typeof authenticatePersonalSettingsLayoutRouteWithChildren '/login': typeof RestrictloginsignupLoginIndexRoute '/signup': typeof RestrictloginsignupSignupIndexRoute '/login/provider/error': typeof RestrictloginsignupLoginProviderErrorRoute '/login/provider/success': typeof RestrictloginsignupLoginProviderSuccessRoute - '/personal-settings': typeof AuthenticatePersonalsettingslayoutPersonalSettingsIndexRoute + '/personal-settings/': typeof authenticatePersonalSettingsIndexRoute '/login/ldap': typeof RestrictloginsignupLoginLdapIndexRoute '/login/select-organization': typeof RestrictloginsignupLoginSelectOrganizationIndexRoute '/login/sso': typeof RestrictloginsignupLoginSsoIndexRoute '/signup/sso': typeof RestrictloginsignupSignupSsoIndexRoute - '/organization': typeof AuthenticateOrgdetailsOrganizationlayoutOrganizationIndexRoute - '/organization/$organizationId/secret-manager': typeof AuthenticateOrgdetailsOrganizationlayoutOrganizationOrganizationIdSecretManagerRoute - '/organization/$organizationId': typeof AuthenticateOrgdetailsOrganizationlayoutOrganizationOrganizationIdIndexRoute + '/organization': typeof authenticateOrgdetailsOrganizationIndexRoute + '/organization/$organizationId/secret-manager': typeof authenticateOrgdetailsOrganizationOrganizationIdSecretManagerRoute + '/organization/$organizationId': typeof authenticateOrgdetailsOrganizationOrganizationIdIndexRoute } export interface FileRoutesByTo { '/': typeof IndexRoute - '': typeof AuthenticateOrgdetailsOrganizationlayoutRouteWithChildren + '': typeof authenticateOrgdetailsLayoutRouteWithChildren '/cli-redirect': typeof AuthenticateCliRedirectRoute '/email-not-verified': typeof RestrictloginsignupEmailNotVerifiedRoute '/password-reset': typeof RestrictloginsignupPasswordResetRoute '/requestnewinvite': typeof RestrictloginsignupRequestnewinviteRoute '/signupinvite': typeof RestrictloginsignupSignupinviteRoute '/verify-email': typeof RestrictloginsignupVerifyEmailRoute + '/personal-settings': typeof authenticatePersonalSettingsIndexRoute '/login': typeof RestrictloginsignupLoginIndexRoute '/signup': typeof RestrictloginsignupSignupIndexRoute '/login/provider/error': typeof RestrictloginsignupLoginProviderErrorRoute '/login/provider/success': typeof RestrictloginsignupLoginProviderSuccessRoute - '/personal-settings': typeof AuthenticatePersonalsettingslayoutPersonalSettingsIndexRoute '/login/ldap': typeof RestrictloginsignupLoginLdapIndexRoute '/login/select-organization': typeof RestrictloginsignupLoginSelectOrganizationIndexRoute '/login/sso': typeof RestrictloginsignupLoginSsoIndexRoute '/signup/sso': typeof RestrictloginsignupSignupSsoIndexRoute - '/organization': typeof AuthenticateOrgdetailsOrganizationlayoutOrganizationIndexRoute - '/organization/$organizationId/secret-manager': typeof AuthenticateOrgdetailsOrganizationlayoutOrganizationOrganizationIdSecretManagerRoute - '/organization/$organizationId': typeof AuthenticateOrgdetailsOrganizationlayoutOrganizationOrganizationIdIndexRoute + '/organization': typeof authenticateOrgdetailsOrganizationIndexRoute + '/organization/$organizationId/secret-manager': typeof authenticateOrgdetailsOrganizationOrganizationIdSecretManagerRoute + '/organization/$organizationId': typeof authenticateOrgdetailsOrganizationOrganizationIdIndexRoute } export interface FileRoutesById { @@ -539,26 +573,27 @@ export interface FileRoutesById { '/_authenticate': typeof AuthenticateRouteWithChildren '/_restrict_login_signup': typeof RestrictloginsignupRouteWithChildren '/_authenticate/_org_details': typeof AuthenticateOrgdetailsRouteWithChildren - '/_authenticate/_personal_settings_layout': typeof AuthenticatePersonalsettingslayoutRouteWithChildren '/_authenticate/cli-redirect': typeof AuthenticateCliRedirectRoute '/_restrict_login_signup/email-not-verified': typeof RestrictloginsignupEmailNotVerifiedRoute '/_restrict_login_signup/password-reset': typeof RestrictloginsignupPasswordResetRoute '/_restrict_login_signup/requestnewinvite': typeof RestrictloginsignupRequestnewinviteRoute '/_restrict_login_signup/signupinvite': typeof RestrictloginsignupSignupinviteRoute '/_restrict_login_signup/verify-email': typeof RestrictloginsignupVerifyEmailRoute - '/_authenticate/_org_details/_organization_layout': typeof AuthenticateOrgdetailsOrganizationlayoutRouteWithChildren + '/_authenticate/_org_details/_org-layout': typeof authenticateOrgdetailsLayoutRouteWithChildren + '/_authenticate/personal-settings': typeof AuthenticatePersonalSettingsRouteWithChildren + '/_authenticate/personal-settings/_personal-settings-layout': typeof authenticatePersonalSettingsLayoutRouteWithChildren '/_restrict_login_signup/login/': typeof RestrictloginsignupLoginIndexRoute '/_restrict_login_signup/signup/': typeof RestrictloginsignupSignupIndexRoute '/_restrict_login_signup/login/provider/error': typeof RestrictloginsignupLoginProviderErrorRoute '/_restrict_login_signup/login/provider/success': typeof RestrictloginsignupLoginProviderSuccessRoute - '/_authenticate/_personal_settings_layout/personal-settings/': typeof AuthenticatePersonalsettingslayoutPersonalSettingsIndexRoute + '/_authenticate/personal-settings/_personal-settings-layout/': typeof authenticatePersonalSettingsIndexRoute '/_restrict_login_signup/login/ldap/': typeof RestrictloginsignupLoginLdapIndexRoute '/_restrict_login_signup/login/select-organization/': typeof RestrictloginsignupLoginSelectOrganizationIndexRoute '/_restrict_login_signup/login/sso/': typeof RestrictloginsignupLoginSsoIndexRoute '/_restrict_login_signup/signup/sso/': typeof RestrictloginsignupSignupSsoIndexRoute - '/_authenticate/_org_details/_organization_layout/organization/': typeof AuthenticateOrgdetailsOrganizationlayoutOrganizationIndexRoute - '/_authenticate/_org_details/_organization_layout/organization/$organizationId/secret-manager': typeof AuthenticateOrgdetailsOrganizationlayoutOrganizationOrganizationIdSecretManagerRoute - '/_authenticate/_org_details/_organization_layout/organization/$organizationId/': typeof AuthenticateOrgdetailsOrganizationlayoutOrganizationOrganizationIdIndexRoute + '/_authenticate/_org_details/_org-layout/organization/': typeof authenticateOrgdetailsOrganizationIndexRoute + '/_authenticate/_org_details/_org-layout/organization/$organizationId/secret-manager': typeof authenticateOrgdetailsOrganizationOrganizationIdSecretManagerRoute + '/_authenticate/_org_details/_org-layout/organization/$organizationId/': typeof authenticateOrgdetailsOrganizationOrganizationIdIndexRoute } export interface FileRouteTypes { @@ -572,11 +607,12 @@ export interface FileRouteTypes { | '/requestnewinvite' | '/signupinvite' | '/verify-email' + | '/personal-settings' | '/login' | '/signup' | '/login/provider/error' | '/login/provider/success' - | '/personal-settings' + | '/personal-settings/' | '/login/ldap' | '/login/select-organization' | '/login/sso' @@ -594,11 +630,11 @@ export interface FileRouteTypes { | '/requestnewinvite' | '/signupinvite' | '/verify-email' + | '/personal-settings' | '/login' | '/signup' | '/login/provider/error' | '/login/provider/success' - | '/personal-settings' | '/login/ldap' | '/login/select-organization' | '/login/sso' @@ -612,26 +648,27 @@ export interface FileRouteTypes { | '/_authenticate' | '/_restrict_login_signup' | '/_authenticate/_org_details' - | '/_authenticate/_personal_settings_layout' | '/_authenticate/cli-redirect' | '/_restrict_login_signup/email-not-verified' | '/_restrict_login_signup/password-reset' | '/_restrict_login_signup/requestnewinvite' | '/_restrict_login_signup/signupinvite' | '/_restrict_login_signup/verify-email' - | '/_authenticate/_org_details/_organization_layout' + | '/_authenticate/_org_details/_org-layout' + | '/_authenticate/personal-settings' + | '/_authenticate/personal-settings/_personal-settings-layout' | '/_restrict_login_signup/login/' | '/_restrict_login_signup/signup/' | '/_restrict_login_signup/login/provider/error' | '/_restrict_login_signup/login/provider/success' - | '/_authenticate/_personal_settings_layout/personal-settings/' + | '/_authenticate/personal-settings/_personal-settings-layout/' | '/_restrict_login_signup/login/ldap/' | '/_restrict_login_signup/login/select-organization/' | '/_restrict_login_signup/login/sso/' | '/_restrict_login_signup/signup/sso/' - | '/_authenticate/_org_details/_organization_layout/organization/' - | '/_authenticate/_org_details/_organization_layout/organization/$organizationId/secret-manager' - | '/_authenticate/_org_details/_organization_layout/organization/$organizationId/' + | '/_authenticate/_org_details/_org-layout/organization/' + | '/_authenticate/_org_details/_org-layout/organization/$organizationId/secret-manager' + | '/_authenticate/_org_details/_org-layout/organization/$organizationId/' fileRoutesById: FileRoutesById } @@ -669,8 +706,8 @@ export const routeTree = rootRoute "filePath": "_authenticate.tsx", "children": [ "/_authenticate/_org_details", - "/_authenticate/_personal_settings_layout", - "/_authenticate/cli-redirect" + "/_authenticate/cli-redirect", + "/_authenticate/personal-settings" ] }, "/_restrict_login_signup": { @@ -695,14 +732,7 @@ export const routeTree = rootRoute "filePath": "_authenticate/_org_details.tsx", "parent": "/_authenticate", "children": [ - "/_authenticate/_org_details/_organization_layout" - ] - }, - "/_authenticate/_personal_settings_layout": { - "filePath": "_authenticate/_personal_settings_layout.tsx", - "parent": "/_authenticate", - "children": [ - "/_authenticate/_personal_settings_layout/personal-settings/" + "/_authenticate/_org_details/_org-layout" ] }, "/_authenticate/cli-redirect": { @@ -729,13 +759,27 @@ export const routeTree = rootRoute "filePath": "_restrict_login_signup/verify-email.tsx", "parent": "/_restrict_login_signup" }, - "/_authenticate/_org_details/_organization_layout": { - "filePath": "_authenticate/_org_details/_organization_layout.tsx", + "/_authenticate/_org_details/_org-layout": { + "filePath": "_authenticate/_org_details/layout.tsx", "parent": "/_authenticate/_org_details", "children": [ - "/_authenticate/_org_details/_organization_layout/organization/", - "/_authenticate/_org_details/_organization_layout/organization/$organizationId/secret-manager", - "/_authenticate/_org_details/_organization_layout/organization/$organizationId/" + "/_authenticate/_org_details/_org-layout/organization/", + "/_authenticate/_org_details/_org-layout/organization/$organizationId/secret-manager", + "/_authenticate/_org_details/_org-layout/organization/$organizationId/" + ] + }, + "/_authenticate/personal-settings": { + "filePath": "_authenticate/personal-settings", + "parent": "/_authenticate", + "children": [ + "/_authenticate/personal-settings/_personal-settings-layout" + ] + }, + "/_authenticate/personal-settings/_personal-settings-layout": { + "filePath": "_authenticate/personal-settings/layout.tsx", + "parent": "/_authenticate/personal-settings", + "children": [ + "/_authenticate/personal-settings/_personal-settings-layout/" ] }, "/_restrict_login_signup/login/": { @@ -754,9 +798,9 @@ export const routeTree = rootRoute "filePath": "_restrict_login_signup/login/provider/success.tsx", "parent": "/_restrict_login_signup" }, - "/_authenticate/_personal_settings_layout/personal-settings/": { - "filePath": "_authenticate/_personal_settings_layout/personal-settings/index.tsx", - "parent": "/_authenticate/_personal_settings_layout" + "/_authenticate/personal-settings/_personal-settings-layout/": { + "filePath": "_authenticate/personal-settings/index.tsx", + "parent": "/_authenticate/personal-settings/_personal-settings-layout" }, "/_restrict_login_signup/login/ldap/": { "filePath": "_restrict_login_signup/login/ldap/index.tsx", @@ -774,17 +818,17 @@ export const routeTree = rootRoute "filePath": "_restrict_login_signup/signup/sso/index.tsx", "parent": "/_restrict_login_signup" }, - "/_authenticate/_org_details/_organization_layout/organization/": { - "filePath": "_authenticate/_org_details/_organization_layout/organization/index.tsx", - "parent": "/_authenticate/_org_details/_organization_layout" + "/_authenticate/_org_details/_org-layout/organization/": { + "filePath": "_authenticate/_org_details/organization/index.tsx", + "parent": "/_authenticate/_org_details/_org-layout" }, - "/_authenticate/_org_details/_organization_layout/organization/$organizationId/secret-manager": { - "filePath": "_authenticate/_org_details/_organization_layout/organization/$organizationId/secret-manager.tsx", - "parent": "/_authenticate/_org_details/_organization_layout" + "/_authenticate/_org_details/_org-layout/organization/$organizationId/secret-manager": { + "filePath": "_authenticate/_org_details/organization/$organizationId/secret-manager.tsx", + "parent": "/_authenticate/_org_details/_org-layout" }, - "/_authenticate/_org_details/_organization_layout/organization/$organizationId/": { - "filePath": "_authenticate/_org_details/_organization_layout/organization/$organizationId/index.tsx", - "parent": "/_authenticate/_org_details/_organization_layout" + "/_authenticate/_org_details/_org-layout/organization/$organizationId/": { + "filePath": "_authenticate/_org_details/organization/$organizationId/index.tsx", + "parent": "/_authenticate/_org_details/_org-layout" } } } diff --git a/frontend-v2/src/routes/_authenticate.tsx b/frontend-v2/src/routes/_authenticate.tsx index d7826e610..b16407721 100644 --- a/frontend-v2/src/routes/_authenticate.tsx +++ b/frontend-v2/src/routes/_authenticate.tsx @@ -8,31 +8,32 @@ import { fetchUserDetails } from "@app/hooks/api/users/queries"; export const Route = createFileRoute("/_authenticate")({ beforeLoad: async ({ context }) => { - try { - const data = await context.queryClient.fetchQuery({ + const data = await context.queryClient + .fetchQuery({ queryKey: authKeys.getAuthToken, queryFn: fetchAuthToken - }); - setAuthToken(data.token); - if (!data.organizationId) { - throw redirect({ to: "/login/select-organization" }); - } - - const user = await context.queryClient.fetchQuery({ - queryKey: userKeys.getUser, - queryFn: fetchUserDetails + }) + .catch(() => { + createNotification({ + type: "error", + title: "Access Restricted", + text: " You need to log in to access this page. Please log in to continue." + }); + throw redirect({ + to: "/login" + }); }); - return { organizationId: data.organizationId as string, isAuthenticated: true, user }; - } catch { - createNotification({ - type: "error", - title: "Access Restricted", - text: " You need to log in to access this page. Please log in to continue." - }); - throw redirect({ - to: "/login" - }); + setAuthToken(data.token); + if (!data.organizationId) { + throw redirect({ to: "/login/select-organization" }); } + + const user = await context.queryClient.fetchQuery({ + queryKey: userKeys.getUser, + queryFn: fetchUserDetails + }); + + return { organizationId: data.organizationId as string, isAuthenticated: true, user }; } }); diff --git a/frontend-v2/src/routes/_authenticate/_org_details.tsx b/frontend-v2/src/routes/_authenticate/_org_details.tsx index 14ca962d7..8c4f0601b 100644 --- a/frontend-v2/src/routes/_authenticate/_org_details.tsx +++ b/frontend-v2/src/routes/_authenticate/_org_details.tsx @@ -1,6 +1,14 @@ +import { createMongoAbility, MongoAbility, RawRuleOf } from "@casl/ability"; +import { unpackRules } from "@casl/ability/extra"; import { createFileRoute } from "@tanstack/react-router"; +import { OrgPermissionSet } from "@app/context/OrgPermissionContext/types"; import { fetchOrganizationById, organizationKeys } from "@app/hooks/api/organization/queries"; +import { + conditionsMatcher, + fetchUserOrgPermissions, + roleQueryKeys +} from "@app/hooks/api/roles/queries"; import { fetchOrgSubscription, subscriptionQueryKeys } from "@app/hooks/api/subscriptions/queries"; export const Route = createFileRoute("/_authenticate/_org_details")({ @@ -16,6 +24,18 @@ export const Route = createFileRoute("/_authenticate/_org_details")({ queryFn: () => fetchOrgSubscription(organizationId) }); - return { organization: orgDetails, subscription }; + const orgPermission = await context.queryClient.fetchQuery({ + queryKey: roleQueryKeys.getUserOrgPermissions({ orgId: organizationId }), + queryFn: () => fetchUserOrgPermissions({ orgId: organizationId }) + }); + + const rule = unpackRules>>(orgPermission.permissions); + const ability = createMongoAbility(rule, { conditionsMatcher }); + + return { + organization: orgDetails, + subscription, + orgPermission: { permission: ability, membership: orgPermission.membership } + }; } }); diff --git a/frontend-v2/src/routes/_authenticate/_org_details/__virtual.ts b/frontend-v2/src/routes/_authenticate/_org_details/__virtual.ts new file mode 100644 index 000000000..3ac2c9d71 --- /dev/null +++ b/frontend-v2/src/routes/_authenticate/_org_details/__virtual.ts @@ -0,0 +1,5 @@ +import { defineVirtualSubtreeConfig, layout, physical } from "@tanstack/virtual-file-routes"; + +export default defineVirtualSubtreeConfig([ + layout("org-layout", "layout.tsx", [physical("/organization", "organization")]) +]); diff --git a/frontend-v2/src/routes/_authenticate/_org_details/_organization_layout/organization/$organizationId/index.tsx b/frontend-v2/src/routes/_authenticate/_org_details/_organization_layout/organization/$organizationId/index.tsx deleted file mode 100644 index 3a4eafb4c..000000000 --- a/frontend-v2/src/routes/_authenticate/_org_details/_organization_layout/organization/$organizationId/index.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import { createFileRoute, useRouteContext, useRouter } from "@tanstack/react-router"; - -function RouteComponent() { - const user = useRouteContext({ - from: "/_authenticate", - select: (el) => el.user - }); - const router = useRouter(); - - return ( -
- Hello {user?.email}! - -
- ); -} - -export const Route = createFileRoute( - "/_authenticate/_org_details/_organization_layout/organization/$organizationId/" -)({ - component: RouteComponent -}); diff --git a/frontend-v2/src/routes/_authenticate/_org_details/_organization_layout/organization/$organizationId/secret-manager.tsx b/frontend-v2/src/routes/_authenticate/_org_details/_organization_layout/organization/$organizationId/secret-manager.tsx deleted file mode 100644 index 3bb0da130..000000000 --- a/frontend-v2/src/routes/_authenticate/_org_details/_organization_layout/organization/$organizationId/secret-manager.tsx +++ /dev/null @@ -1,11 +0,0 @@ -import { createFileRoute } from "@tanstack/react-router"; - -function SecretManagerOverviewPage() { - return
Hello "/organization/secret-manager"!
; -} - -export const Route = createFileRoute( - "/_authenticate/_org_details/_organization_layout/organization/$organizationId/secret-manager" -)({ - component: SecretManagerOverviewPage -}); diff --git a/frontend-v2/src/routes/_authenticate/_org_details/_organization_layout.tsx b/frontend-v2/src/routes/_authenticate/_org_details/layout.tsx similarity index 89% rename from frontend-v2/src/routes/_authenticate/_org_details/_organization_layout.tsx rename to frontend-v2/src/routes/_authenticate/_org_details/layout.tsx index 1df97722c..452bc15de 100644 --- a/frontend-v2/src/routes/_authenticate/_org_details/_organization_layout.tsx +++ b/frontend-v2/src/routes/_authenticate/_org_details/layout.tsx @@ -2,6 +2,6 @@ import { createFileRoute } from "@tanstack/react-router"; import { OrganizationLayout } from "@app/layouts/OrganizationLayout"; -export const Route = createFileRoute("/_authenticate/_org_details/_organization_layout")({ +export const Route = createFileRoute("/_authenticate/_org_details/_org-layout")({ component: OrganizationLayout }); diff --git a/frontend-v2/src/routes/_authenticate/_org_details/organization/$organizationId/index.tsx b/frontend-v2/src/routes/_authenticate/_org_details/organization/$organizationId/index.tsx new file mode 100644 index 000000000..d1bd04080 --- /dev/null +++ b/frontend-v2/src/routes/_authenticate/_org_details/organization/$organizationId/index.tsx @@ -0,0 +1,38 @@ +import { + createFileRoute, + useRouteContext, + useRouter, +} from '@tanstack/react-router' + +function RouteComponent() { + const user = useRouteContext({ + from: '/_authenticate', + select: (el) => el.user, + }) + const router = useRouter() + + return ( +
+ Hello {user?.email}! + +
+ ) +} + +export const Route = createFileRoute( + '/_authenticate/_org_details/_org-layout/organization/$organizationId/', +)({ + component: RouteComponent, +}) diff --git a/frontend-v2/src/routes/_authenticate/_org_details/organization/$organizationId/secret-manager.tsx b/frontend-v2/src/routes/_authenticate/_org_details/organization/$organizationId/secret-manager.tsx new file mode 100644 index 000000000..202a5c053 --- /dev/null +++ b/frontend-v2/src/routes/_authenticate/_org_details/organization/$organizationId/secret-manager.tsx @@ -0,0 +1,11 @@ +import { createFileRoute } from '@tanstack/react-router' + +function SecretManagerOverviewPage() { + return
Hello "/organization/secret-manager"!
+} + +export const Route = createFileRoute( + '/_authenticate/_org_details/_org-layout/organization/$organizationId/secret-manager', +)({ + component: SecretManagerOverviewPage, +}) diff --git a/frontend-v2/src/routes/_authenticate/_org_details/_organization_layout/organization/index.tsx b/frontend-v2/src/routes/_authenticate/_org_details/organization/index.tsx similarity index 72% rename from frontend-v2/src/routes/_authenticate/_org_details/_organization_layout/organization/index.tsx rename to frontend-v2/src/routes/_authenticate/_org_details/organization/index.tsx index d65497888..53140938e 100644 --- a/frontend-v2/src/routes/_authenticate/_org_details/_organization_layout/organization/index.tsx +++ b/frontend-v2/src/routes/_authenticate/_org_details/organization/index.tsx @@ -1,8 +1,6 @@ import { createFileRoute, redirect } from "@tanstack/react-router"; -export const Route = createFileRoute( - "/_authenticate/_org_details/_organization_layout/organization/" -)({ +export const Route = createFileRoute("/_authenticate/_org_details/_org-layout/organization/")({ beforeLoad: ({ context }) => { redirect({ throw: true, diff --git a/frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/APIKeySection/APIKeySection.tsx b/frontend-v2/src/routes/_authenticate/personal-settings/-components/APIKeySection/APIKeySection.tsx similarity index 100% rename from frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/APIKeySection/APIKeySection.tsx rename to frontend-v2/src/routes/_authenticate/personal-settings/-components/APIKeySection/APIKeySection.tsx diff --git a/frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/APIKeySection/APIKeyTable.tsx b/frontend-v2/src/routes/_authenticate/personal-settings/-components/APIKeySection/APIKeyTable.tsx similarity index 100% rename from frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/APIKeySection/APIKeyTable.tsx rename to frontend-v2/src/routes/_authenticate/personal-settings/-components/APIKeySection/APIKeyTable.tsx diff --git a/frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/APIKeySection/AddAPIKeyModal.tsx b/frontend-v2/src/routes/_authenticate/personal-settings/-components/APIKeySection/AddAPIKeyModal.tsx similarity index 100% rename from frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/APIKeySection/AddAPIKeyModal.tsx rename to frontend-v2/src/routes/_authenticate/personal-settings/-components/APIKeySection/AddAPIKeyModal.tsx diff --git a/frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/APIKeySection/index.tsx b/frontend-v2/src/routes/_authenticate/personal-settings/-components/APIKeySection/index.tsx similarity index 100% rename from frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/APIKeySection/index.tsx rename to frontend-v2/src/routes/_authenticate/personal-settings/-components/APIKeySection/index.tsx diff --git a/frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/AuthMethodSection/AuthMethodSection.tsx b/frontend-v2/src/routes/_authenticate/personal-settings/-components/AuthMethodSection/AuthMethodSection.tsx similarity index 100% rename from frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/AuthMethodSection/AuthMethodSection.tsx rename to frontend-v2/src/routes/_authenticate/personal-settings/-components/AuthMethodSection/AuthMethodSection.tsx diff --git a/frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/AuthMethodSection/index.tsx b/frontend-v2/src/routes/_authenticate/personal-settings/-components/AuthMethodSection/index.tsx similarity index 100% rename from frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/AuthMethodSection/index.tsx rename to frontend-v2/src/routes/_authenticate/personal-settings/-components/AuthMethodSection/index.tsx diff --git a/frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/ChangePasswordSection/ChangePasswordSection.tsx b/frontend-v2/src/routes/_authenticate/personal-settings/-components/ChangePasswordSection/ChangePasswordSection.tsx similarity index 100% rename from frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/ChangePasswordSection/ChangePasswordSection.tsx rename to frontend-v2/src/routes/_authenticate/personal-settings/-components/ChangePasswordSection/ChangePasswordSection.tsx diff --git a/frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/ChangePasswordSection/index.tsx b/frontend-v2/src/routes/_authenticate/personal-settings/-components/ChangePasswordSection/index.tsx similarity index 100% rename from frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/ChangePasswordSection/index.tsx rename to frontend-v2/src/routes/_authenticate/personal-settings/-components/ChangePasswordSection/index.tsx diff --git a/frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/DeleteAccountSection/DeleteAccountSection.tsx b/frontend-v2/src/routes/_authenticate/personal-settings/-components/DeleteAccountSection/DeleteAccountSection.tsx similarity index 100% rename from frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/DeleteAccountSection/DeleteAccountSection.tsx rename to frontend-v2/src/routes/_authenticate/personal-settings/-components/DeleteAccountSection/DeleteAccountSection.tsx diff --git a/frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/DeleteAccountSection/index.tsx b/frontend-v2/src/routes/_authenticate/personal-settings/-components/DeleteAccountSection/index.tsx similarity index 100% rename from frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/DeleteAccountSection/index.tsx rename to frontend-v2/src/routes/_authenticate/personal-settings/-components/DeleteAccountSection/index.tsx diff --git a/frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/EmergencyKitSection/EmergencyKitSection.tsx b/frontend-v2/src/routes/_authenticate/personal-settings/-components/EmergencyKitSection/EmergencyKitSection.tsx similarity index 100% rename from frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/EmergencyKitSection/EmergencyKitSection.tsx rename to frontend-v2/src/routes/_authenticate/personal-settings/-components/EmergencyKitSection/EmergencyKitSection.tsx diff --git a/frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/EmergencyKitSection/index.tsx b/frontend-v2/src/routes/_authenticate/personal-settings/-components/EmergencyKitSection/index.tsx similarity index 100% rename from frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/EmergencyKitSection/index.tsx rename to frontend-v2/src/routes/_authenticate/personal-settings/-components/EmergencyKitSection/index.tsx diff --git a/frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/PersonalAPIKeyTab/PersonalAPIKeyTab.tsx b/frontend-v2/src/routes/_authenticate/personal-settings/-components/PersonalAPIKeyTab/PersonalAPIKeyTab.tsx similarity index 100% rename from frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/PersonalAPIKeyTab/PersonalAPIKeyTab.tsx rename to frontend-v2/src/routes/_authenticate/personal-settings/-components/PersonalAPIKeyTab/PersonalAPIKeyTab.tsx diff --git a/frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/PersonalAPIKeyTab/index.tsx b/frontend-v2/src/routes/_authenticate/personal-settings/-components/PersonalAPIKeyTab/index.tsx similarity index 100% rename from frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/PersonalAPIKeyTab/index.tsx rename to frontend-v2/src/routes/_authenticate/personal-settings/-components/PersonalAPIKeyTab/index.tsx diff --git a/frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/PersonalAuthTab/PersonalAuthTab.tsx b/frontend-v2/src/routes/_authenticate/personal-settings/-components/PersonalAuthTab/PersonalAuthTab.tsx similarity index 100% rename from frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/PersonalAuthTab/PersonalAuthTab.tsx rename to frontend-v2/src/routes/_authenticate/personal-settings/-components/PersonalAuthTab/PersonalAuthTab.tsx diff --git a/frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/PersonalAuthTab/index.tsx b/frontend-v2/src/routes/_authenticate/personal-settings/-components/PersonalAuthTab/index.tsx similarity index 100% rename from frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/PersonalAuthTab/index.tsx rename to frontend-v2/src/routes/_authenticate/personal-settings/-components/PersonalAuthTab/index.tsx diff --git a/frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/PersonalGeneralTab/PersonalGeneralTab.tsx b/frontend-v2/src/routes/_authenticate/personal-settings/-components/PersonalGeneralTab/PersonalGeneralTab.tsx similarity index 100% rename from frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/PersonalGeneralTab/PersonalGeneralTab.tsx rename to frontend-v2/src/routes/_authenticate/personal-settings/-components/PersonalGeneralTab/PersonalGeneralTab.tsx diff --git a/frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/PersonalGeneralTab/index.tsx b/frontend-v2/src/routes/_authenticate/personal-settings/-components/PersonalGeneralTab/index.tsx similarity index 100% rename from frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/PersonalGeneralTab/index.tsx rename to frontend-v2/src/routes/_authenticate/personal-settings/-components/PersonalGeneralTab/index.tsx diff --git a/frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/PersonalTabGroup/PersonalTabGroup.tsx b/frontend-v2/src/routes/_authenticate/personal-settings/-components/PersonalTabGroup/PersonalTabGroup.tsx similarity index 100% rename from frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/PersonalTabGroup/PersonalTabGroup.tsx rename to frontend-v2/src/routes/_authenticate/personal-settings/-components/PersonalTabGroup/PersonalTabGroup.tsx diff --git a/frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/PersonalTabGroup/index.tsx b/frontend-v2/src/routes/_authenticate/personal-settings/-components/PersonalTabGroup/index.tsx similarity index 100% rename from frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/PersonalTabGroup/index.tsx rename to frontend-v2/src/routes/_authenticate/personal-settings/-components/PersonalTabGroup/index.tsx diff --git a/frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/SecuritySection/MFASection.tsx b/frontend-v2/src/routes/_authenticate/personal-settings/-components/SecuritySection/MFASection.tsx similarity index 100% rename from frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/SecuritySection/MFASection.tsx rename to frontend-v2/src/routes/_authenticate/personal-settings/-components/SecuritySection/MFASection.tsx diff --git a/frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/SecuritySection/index.tsx b/frontend-v2/src/routes/_authenticate/personal-settings/-components/SecuritySection/index.tsx similarity index 100% rename from frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/SecuritySection/index.tsx rename to frontend-v2/src/routes/_authenticate/personal-settings/-components/SecuritySection/index.tsx diff --git a/frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/SessionsSection/SessionsSection.tsx b/frontend-v2/src/routes/_authenticate/personal-settings/-components/SessionsSection/SessionsSection.tsx similarity index 100% rename from frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/SessionsSection/SessionsSection.tsx rename to frontend-v2/src/routes/_authenticate/personal-settings/-components/SessionsSection/SessionsSection.tsx diff --git a/frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/SessionsSection/SessionsTable.tsx b/frontend-v2/src/routes/_authenticate/personal-settings/-components/SessionsSection/SessionsTable.tsx similarity index 100% rename from frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/SessionsSection/SessionsTable.tsx rename to frontend-v2/src/routes/_authenticate/personal-settings/-components/SessionsSection/SessionsTable.tsx diff --git a/frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/SessionsSection/index.tsx b/frontend-v2/src/routes/_authenticate/personal-settings/-components/SessionsSection/index.tsx similarity index 100% rename from frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/SessionsSection/index.tsx rename to frontend-v2/src/routes/_authenticate/personal-settings/-components/SessionsSection/index.tsx diff --git a/frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/UserNameSection/UserNameSection.tsx b/frontend-v2/src/routes/_authenticate/personal-settings/-components/UserNameSection/UserNameSection.tsx similarity index 100% rename from frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/UserNameSection/UserNameSection.tsx rename to frontend-v2/src/routes/_authenticate/personal-settings/-components/UserNameSection/UserNameSection.tsx diff --git a/frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/UserNameSection/index.tsx b/frontend-v2/src/routes/_authenticate/personal-settings/-components/UserNameSection/index.tsx similarity index 100% rename from frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/-components/UserNameSection/index.tsx rename to frontend-v2/src/routes/_authenticate/personal-settings/-components/UserNameSection/index.tsx diff --git a/frontend-v2/src/routes/_authenticate/personal-settings/__virtual.ts b/frontend-v2/src/routes/_authenticate/personal-settings/__virtual.ts new file mode 100644 index 000000000..f9a70ce2c --- /dev/null +++ b/frontend-v2/src/routes/_authenticate/personal-settings/__virtual.ts @@ -0,0 +1,5 @@ +import { defineVirtualSubtreeConfig, index, layout } from "@tanstack/virtual-file-routes"; + +export default defineVirtualSubtreeConfig([ + layout("personal-settings-layout", "layout.tsx", [index("index.tsx")]) +]); diff --git a/frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/index.tsx b/frontend-v2/src/routes/_authenticate/personal-settings/index.tsx similarity index 90% rename from frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/index.tsx rename to frontend-v2/src/routes/_authenticate/personal-settings/index.tsx index 41677bafe..8519b2005 100644 --- a/frontend-v2/src/routes/_authenticate/_personal_settings_layout/personal-settings/index.tsx +++ b/frontend-v2/src/routes/_authenticate/personal-settings/index.tsx @@ -25,7 +25,7 @@ const PersonalSettingsPage = () => { ); }; -export const Route = createFileRoute("/_authenticate/_personal_settings_layout/personal-settings/")( +export const Route = createFileRoute("/_authenticate/personal-settings/_personal-settings-layout/")( { component: PersonalSettingsPage } diff --git a/frontend-v2/src/routes/_authenticate/_personal_settings_layout.tsx b/frontend-v2/src/routes/_authenticate/personal-settings/layout.tsx similarity index 63% rename from frontend-v2/src/routes/_authenticate/_personal_settings_layout.tsx rename to frontend-v2/src/routes/_authenticate/personal-settings/layout.tsx index 9e524a4f1..e25580027 100644 --- a/frontend-v2/src/routes/_authenticate/_personal_settings_layout.tsx +++ b/frontend-v2/src/routes/_authenticate/personal-settings/layout.tsx @@ -2,6 +2,6 @@ import { createFileRoute } from "@tanstack/react-router"; import { PersonalSettingsLayout } from "@app/layouts/PersonalSettingsLayout"; -export const Route = createFileRoute("/_authenticate/_personal_settings_layout")({ +export const Route = createFileRoute("/_authenticate/personal-settings/_personal-settings-layout")({ component: PersonalSettingsLayout }); diff --git a/frontend-v2/src/routes/_restrict_login_signup.tsx b/frontend-v2/src/routes/_restrict_login_signup.tsx index 2de490f59..003ff9022 100644 --- a/frontend-v2/src/routes/_restrict_login_signup.tsx +++ b/frontend-v2/src/routes/_restrict_login_signup.tsx @@ -5,23 +5,25 @@ import { setAuthToken } from "@app/hooks/api/reactQuery"; export const Route = createFileRoute("/_restrict_login_signup")({ beforeLoad: async ({ context }) => { - try { - const data = await context.queryClient.fetchQuery({ + const data = await context.queryClient + .fetchQuery({ queryKey: authKeys.getAuthToken, queryFn: fetchAuthToken + }) + .catch(() => { + return null; }); - setAuthToken(data.token); - if (!data.organizationId) { - throw redirect({ to: "/login/select-organization" }); - } - throw redirect({ - to: "/organization/$organizationId/secret-manager", - params: { - organizationId: data.organizationId - } - }); - } catch (err) { - console.error(err); + if (!data) return; + + setAuthToken(data.token); + if (!data.organizationId) { + throw redirect({ to: "/login/select-organization" }); } + throw redirect({ + to: "/organization/$organizationId/secret-manager", + params: { + organizationId: data.organizationId + } + }); } }); diff --git a/frontend-v2/src/routes/_restrict_login_signup/signup/sso/-components/UserInfoSSOStep/UserInfoSSOStep.tsx b/frontend-v2/src/routes/_restrict_login_signup/signup/sso/-components/UserInfoSSOStep/UserInfoSSOStep.tsx index 096d7af7c..e741eccdc 100644 --- a/frontend-v2/src/routes/_restrict_login_signup/signup/sso/-components/UserInfoSSOStep/UserInfoSSOStep.tsx +++ b/frontend-v2/src/routes/_restrict_login_signup/signup/sso/-components/UserInfoSSOStep/UserInfoSSOStep.tsx @@ -15,8 +15,8 @@ import { useToggle } from "@app/hooks"; import { completeAccountSignup, useSelectOrganization } from "@app/hooks/api/auth/queries"; import { MfaMethod } from "@app/hooks/api/auth/types"; import { fetchOrganizations } from "@app/hooks/api/organization/queries"; -import { Mfa } from "@app/routes/login/-components/Mfa"; import ProjectService from "@app/services/ProjectService"; +import { Mfa } from "@app/components/auth/Mfa"; // eslint-disable-next-line new-cap const client = new jsrp.client();