diff --git a/frontend/src/components/v2/Breadcrumb/Breadcrumb.tsx b/frontend/src/components/v2/Breadcrumb/Breadcrumb.tsx index 0afd1bb1f..a956991fb 100644 --- a/frontend/src/components/v2/Breadcrumb/Breadcrumb.tsx +++ b/frontend/src/components/v2/Breadcrumb/Breadcrumb.tsx @@ -1,6 +1,11 @@ /* eslint-disable react/prop-types */ import React from "react"; -import { faCaretDown, faChevronRight, faEllipsis } from "@fortawesome/free-solid-svg-icons"; +import { + faCaretDown, + faChevronRight, + faEllipsis, + faSlash +} 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"; @@ -78,13 +83,14 @@ const BreadcrumbPage = React.forwardRef) => ( - ); BreadcrumbSeparator.displayName = "BreadcrumbSeparator"; diff --git a/frontend/src/components/v2/Menu/Menu.tsx b/frontend/src/components/v2/Menu/Menu.tsx index 3a9c926a2..0a03beb42 100644 --- a/frontend/src/components/v2/Menu/Menu.tsx +++ b/frontend/src/components/v2/Menu/Menu.tsx @@ -86,7 +86,7 @@ export type MenuGroupProps = { export const MenuGroup = ({ children, title }: MenuGroupProps): JSX.Element => ( <> -
  • {title}
  • +
  • {title}
  • {children} ); diff --git a/frontend/src/layouts/AdminLayout/Sidebar.tsx b/frontend/src/layouts/AdminLayout/Sidebar.tsx index db6384e68..09303731b 100644 --- a/frontend/src/layouts/AdminLayout/Sidebar.tsx +++ b/frontend/src/layouts/AdminLayout/Sidebar.tsx @@ -14,7 +14,7 @@ import { import { envConfig } from "@app/config/env"; import { ProjectType } from "@app/hooks/api/workspace/types"; -import { INFISICAL_SUPPORT_OPTIONS } from "../OrganizationLayout/components/MinimizedOrgSidebar/MinimizedOrgSidebar"; +import { INFISICAL_SUPPORT_OPTIONS } from "../OrganizationLayout/components/NavBar/Navbar"; const generalTabs = [ { diff --git a/frontend/src/layouts/OrganizationLayout/OrganizationLayout.tsx b/frontend/src/layouts/OrganizationLayout/OrganizationLayout.tsx index bd5a8f77b..cfeb6e637 100644 --- a/frontend/src/layouts/OrganizationLayout/OrganizationLayout.tsx +++ b/frontend/src/layouts/OrganizationLayout/OrganizationLayout.tsx @@ -1,25 +1,20 @@ import { useTranslation } from "react-i18next"; import { faMobile } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { linkOptions, Outlet, useLocation, useRouterState } from "@tanstack/react-router"; +import { Outlet } from "@tanstack/react-router"; import { twMerge } from "tailwind-merge"; import { CreateOrgModal } from "@app/components/organization/CreateOrgModal"; import { Banner } from "@app/components/page-frames/Banner"; -import { BreadcrumbContainer, TBreadcrumbFormat } from "@app/components/v2"; import { OrgPermissionSubjects, useOrgPermission, useServerConfig } from "@app/context"; import { OrgPermissionSecretShareAction } from "@app/context/OrgPermissionContext/types"; import { usePopUp } from "@app/hooks"; -import { ProjectType } from "@app/hooks/api/workspace/types"; import { InsecureConnectionBanner } from "./components/InsecureConnectionBanner"; import { OrgSidebar } from "./components/OrgSidebar"; -import { DefaultSideBar, ProjectOverviewSideBar, SecretSharingSideBar } from "./ProductsSideBar"; import { Navbar } from "./components/NavBar"; export const OrganizationLayout = () => { - const matches = useRouterState({ select: (s) => s.matches.at(-1)?.context }); - const location = useLocation(); const { config } = useServerConfig(); const { permission } = useOrgPermission(); @@ -28,12 +23,6 @@ export const OrganizationLayout = () => { OrgPermissionSubjects.SecretShare ); - const isOrganizationSpecificPage = location.pathname.startsWith("/organization"); - const breadcrumbs = - isOrganizationSpecificPage && matches && "breadcrumbs" in matches - ? matches.breadcrumbs - : undefined; - const { popUp, handlePopUpToggle } = usePopUp(["createOrg"] as const); const { t } = useTranslation(); @@ -50,15 +39,7 @@ export const OrganizationLayout = () => { {!window.isSecureContext && }
    -
    - {breadcrumbs ? ( - - ) : null} +
    diff --git a/frontend/src/layouts/OrganizationLayout/components/NavBar/Navbar.tsx b/frontend/src/layouts/OrganizationLayout/components/NavBar/Navbar.tsx index 68962dea0..ce57a440a 100644 --- a/frontend/src/layouts/OrganizationLayout/components/NavBar/Navbar.tsx +++ b/frontend/src/layouts/OrganizationLayout/components/NavBar/Navbar.tsx @@ -15,28 +15,25 @@ import { import { faCircleQuestion } from "@fortawesome/free-regular-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { useQueryClient } from "@tanstack/react-query"; -import { Link, useNavigate, useRouter } from "@tanstack/react-router"; +import { Link, useNavigate, useRouter, useRouterState } from "@tanstack/react-router"; import { Mfa } from "@app/components/auth/Mfa"; import SecurityClient from "@app/components/utilities/SecurityClient"; import { + BreadcrumbContainer, Button, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, - Lottie + Lottie, + TBreadcrumbFormat } from "@app/components/v2"; import { envConfig } from "@app/config/env"; import { useOrganization, useSubscription, useUser } from "@app/context"; import { isInfisicalCloud } from "@app/helpers/platform"; import { useToggle } from "@app/hooks"; -import { - useGetOrganizations, - useGetOrgTrialUrl, - useLogoutUser, - workspaceKeys -} from "@app/hooks/api"; +import { useGetOrganizations, useLogoutUser, workspaceKeys } from "@app/hooks/api"; import { authKeys, selectOrganization } from "@app/hooks/api/auth/queries"; import { MfaMethod } from "@app/hooks/api/auth/types"; import { SubscriptionPlan } from "@app/hooks/api/types"; @@ -83,8 +80,6 @@ export const Navbar = () => { const { currentOrg } = useOrganization(); const [openSupport, setOpenSupport] = useState(false); const [openUser, setOpenUser] = useState(false); - const [showAdminsModal, setShowAdminsModal] = useState(false); - const { mutateAsync } = useGetOrgTrialUrl(); const { data: orgs } = useGetOrganizations(); const navigate = useNavigate(); @@ -94,6 +89,9 @@ export const Navbar = () => { const router = useRouter(); const queryClient = useQueryClient(); + const matches = useRouterState({ select: (s) => s.matches.at(-1)?.context }); + const breadcrumbs = matches && "breadcrumbs" in matches ? matches.breadcrumbs : undefined; + const handleOrgChange = async (orgId: string) => { queryClient.removeQueries({ queryKey: authKeys.getAuthToken }); queryClient.removeQueries({ queryKey: workspaceKeys.getAllUserWorkspace() }); @@ -140,7 +138,7 @@ export const Navbar = () => { } return ( -
    +
    infisical logo @@ -159,9 +157,7 @@ export const Navbar = () => {
    {getPlan(subscription)}
    -
    - -
    +
    { + +
    +
    + {breadcrumbs ? ( + + ) : null}
    diff --git a/frontend/src/layouts/OrganizationLayout/components/OrgSidebar/OrgSidebar.tsx b/frontend/src/layouts/OrganizationLayout/components/OrgSidebar/OrgSidebar.tsx index 413068061..b01f3c431 100644 --- a/frontend/src/layouts/OrganizationLayout/components/OrgSidebar/OrgSidebar.tsx +++ b/frontend/src/layouts/OrganizationLayout/components/OrgSidebar/OrgSidebar.tsx @@ -1,179 +1,36 @@ import { useState } from "react"; -import { faGithub, faSlack } from "@fortawesome/free-brands-svg-icons"; import { - faArrowUpRightFromSquare, faBook, - faCheck, faCheckCircle, faCog, faDoorClosed, - faEnvelope, faInfinity, - faInfo, - faInfoCircle, faMoneyBill, faPlug, - faSignOut, - faUser, faUserCog, faUsers } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { useQueryClient } from "@tanstack/react-query"; -import { Link, linkOptions, useLocation, useNavigate, useRouter } from "@tanstack/react-router"; +import { Link } from "@tanstack/react-router"; -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, - Menu, - MenuGroup, - MenuItem, - Modal, - ModalContent, - Tooltip -} from "@app/components/v2"; -import { envConfig } from "@app/config/env"; +import { Menu, MenuGroup, MenuItem, Modal, ModalContent, Tooltip } from "@app/components/v2"; import { useOrganization, useSubscription, useUser } from "@app/context"; -import { isInfisicalCloud } from "@app/helpers/platform"; -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 { SubscriptionPlan } from "@app/hooks/api/types"; -import { AuthMethod } from "@app/hooks/api/users/types"; -import { ProjectType } from "@app/hooks/api/workspace/types"; -import { navigateUserToOrg } from "@app/pages/auth/LoginPage/Login.utils"; +import { usePopUp } from "@app/hooks"; +import { useGetOrgTrialUrl } from "@app/hooks/api"; -import { MenuIconButton } from "../MenuIconButton"; import { ServerAdminsPanel } from "../ServerAdminsPanel/ServerAdminsPanel"; -const getPlan = (subscription: SubscriptionPlan) => { - if (subscription.groups) 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" - ], - [ - , - "Instance Admins", - "server-admins" - ] -]; - export const OrgSidebar = () => { - const [shouldShowMfa, toggleShowMfa] = useToggle(false); - const [requiredMfaMethod, setRequiredMfaMethod] = useState(MfaMethod.EMAIL); - const [mfaSuccessCallback, setMfaSuccessCallback] = useState<() => void>(() => {}); const { subscription } = useSubscription(); - const [open, setOpen] = useState(false); - const [openSupport, setOpenSupport] = useState(false); - const [openUser, setOpenUser] = useState(false); - const [openOrg, setOpenOrg] = useState(false); const [showAdminsModal, setShowAdminsModal] = useState(false); 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 location = useLocation(); - const queryClient = useQueryClient(); - - const isMoreSelected = ( - [ - linkOptions({ to: "/organization/access-management" }).to, - linkOptions({ to: "/organization/app-connections" }).to, - linkOptions({ to: "/organization/billing" }).to, - linkOptions({ to: "/organization/sso" }).to, - linkOptions({ to: "/organization/gateways" }).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() }); - - 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 ( <> @@ -188,13 +45,6 @@ export const OrgSidebar = () => { )} - - {({ isActive }) => ( - - Share Secret - - )} - {({ isActive }) => ( @@ -205,26 +55,6 @@ export const OrgSidebar = () => { )} - - {({ isActive }) => ( - -
    - - App Connections -
    -
    - )} - - - {({ isActive }) => ( - -
    - - Gateways -
    -
    - )} - {({ isActive }) => ( @@ -266,6 +96,28 @@ export const OrgSidebar = () => { )} + + + {({ isActive }) => ( + +
    + + App Connections +
    +
    + )} + + + {({ isActive }) => ( + +
    + + Gateways +
    +
    + )} + +
    {user?.superAdmin && ( @@ -290,6 +142,15 @@ export const OrgSidebar = () => { )} + + + {({ isActive }) => ( + + Share Secret + + )} + +
    ({ breadcrumbs: [ - { - label: "Home", - icon: () => , - link: linkOptions({ to: "/" }) - }, { label: "Access Control" } diff --git a/frontend/src/pages/organization/AdminPage/route.tsx b/frontend/src/pages/organization/AdminPage/route.tsx index f0d6b4985..1ed4e370e 100644 --- a/frontend/src/pages/organization/AdminPage/route.tsx +++ b/frontend/src/pages/organization/AdminPage/route.tsx @@ -1,6 +1,4 @@ -import { faHome } from "@fortawesome/free-solid-svg-icons"; -import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { createFileRoute, linkOptions } from "@tanstack/react-router"; +import { createFileRoute } from "@tanstack/react-router"; import { AdminPage } from "./AdminPage"; @@ -10,11 +8,6 @@ export const Route = createFileRoute( component: AdminPage, context: () => ({ breadcrumbs: [ - { - label: "Home", - icon: () => , - link: linkOptions({ to: "/organization/secret-manager/overview" }) - }, { label: "Admin Console" } diff --git a/frontend/src/pages/organization/AppConnections/AppConnectionsPage/route.tsx b/frontend/src/pages/organization/AppConnections/AppConnectionsPage/route.tsx index 3b4205656..ea24aa679 100644 --- a/frontend/src/pages/organization/AppConnections/AppConnectionsPage/route.tsx +++ b/frontend/src/pages/organization/AppConnections/AppConnectionsPage/route.tsx @@ -1,6 +1,4 @@ -import { faHome } from "@fortawesome/free-solid-svg-icons"; -import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { createFileRoute, linkOptions } from "@tanstack/react-router"; +import { createFileRoute } from "@tanstack/react-router"; import { AppConnectionsPage } from "./AppConnectionsPage"; @@ -10,11 +8,6 @@ export const Route = createFileRoute( component: AppConnectionsPage, context: () => ({ breadcrumbs: [ - { - label: "Home", - icon: () => , - link: linkOptions({ to: "/organization/secret-manager/overview" }) - }, { label: "App Connections" } diff --git a/frontend/src/pages/organization/AuditLogsPage/route.tsx b/frontend/src/pages/organization/AuditLogsPage/route.tsx index 11b2eea70..3646b4d16 100644 --- a/frontend/src/pages/organization/AuditLogsPage/route.tsx +++ b/frontend/src/pages/organization/AuditLogsPage/route.tsx @@ -1,6 +1,4 @@ -import { faHome } from "@fortawesome/free-solid-svg-icons"; -import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { createFileRoute, linkOptions } from "@tanstack/react-router"; +import { createFileRoute } from "@tanstack/react-router"; import { AuditLogsPage } from "./AuditLogsPage"; @@ -10,11 +8,6 @@ export const Route = createFileRoute( component: AuditLogsPage, context: () => ({ breadcrumbs: [ - { - label: "Home", - icon: () => , - 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 92fd906e8..1e3673189 100644 --- a/frontend/src/pages/organization/CertManagerOverviewPage/route.tsx +++ b/frontend/src/pages/organization/CertManagerOverviewPage/route.tsx @@ -1,5 +1,3 @@ -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"; @@ -10,10 +8,6 @@ export const Route = createFileRoute( component: CertManagerOverviewPage, context: () => ({ breadcrumbs: [ - { - label: "Products", - icon: () => - }, { label: "Cert Management", link: linkOptions({ to: "/organization/cert-manager/overview" }) diff --git a/frontend/src/pages/organization/CertManagerSettingsPage/route.tsx b/frontend/src/pages/organization/CertManagerSettingsPage/route.tsx index aaccee4bf..f4e87892e 100644 --- a/frontend/src/pages/organization/CertManagerSettingsPage/route.tsx +++ b/frontend/src/pages/organization/CertManagerSettingsPage/route.tsx @@ -1,5 +1,3 @@ -import { faHome } from "@fortawesome/free-solid-svg-icons"; -import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { CertManagerSettingsPage } from "./CertManagerSettingsPage"; @@ -10,10 +8,6 @@ export const Route = createFileRoute( component: CertManagerSettingsPage, context: () => ({ breadcrumbs: [ - { - label: "Products", - icon: () => - }, { label: "Cert Management", link: linkOptions({ to: "/organization/cert-manager/overview" }) diff --git a/frontend/src/pages/organization/Gateways/GatewayListPage/route.tsx b/frontend/src/pages/organization/Gateways/GatewayListPage/route.tsx index ab03869a3..88a263b4c 100644 --- a/frontend/src/pages/organization/Gateways/GatewayListPage/route.tsx +++ b/frontend/src/pages/organization/Gateways/GatewayListPage/route.tsx @@ -1,6 +1,4 @@ -import { faHome } from "@fortawesome/free-solid-svg-icons"; -import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { createFileRoute, linkOptions } from "@tanstack/react-router"; +import { createFileRoute } from "@tanstack/react-router"; import { GatewayListPage } from "./GatewayListPage"; @@ -10,11 +8,6 @@ export const Route = createFileRoute( component: GatewayListPage, context: () => ({ breadcrumbs: [ - { - label: "Home", - icon: () => , - link: linkOptions({ to: "/organization/secret-manager/overview" }) - }, { label: "Gateways" } diff --git a/frontend/src/pages/organization/GroupDetailsByIDPage/route.tsx b/frontend/src/pages/organization/GroupDetailsByIDPage/route.tsx index 83ead0221..3e6e53cb6 100644 --- a/frontend/src/pages/organization/GroupDetailsByIDPage/route.tsx +++ b/frontend/src/pages/organization/GroupDetailsByIDPage/route.tsx @@ -1,5 +1,3 @@ -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"; @@ -10,11 +8,6 @@ export const Route = createFileRoute( component: GroupDetailsByIDPage, context: () => ({ breadcrumbs: [ - { - label: "Home", - icon: () => , - link: linkOptions({ to: "/organization/secret-manager/overview" }) - }, { label: "Access Control", link: linkOptions({ to: "/organization/access-management" }) diff --git a/frontend/src/pages/organization/IdentityDetailsByIDPage/route.tsx b/frontend/src/pages/organization/IdentityDetailsByIDPage/route.tsx index fd4a86260..137ef08a8 100644 --- a/frontend/src/pages/organization/IdentityDetailsByIDPage/route.tsx +++ b/frontend/src/pages/organization/IdentityDetailsByIDPage/route.tsx @@ -1,5 +1,3 @@ -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"; @@ -10,11 +8,6 @@ export const Route = createFileRoute( component: IdentityDetailsByIDPage, context: () => ({ breadcrumbs: [ - { - label: "Home", - icon: () => , - link: linkOptions({ to: "/organization/secret-manager/overview" }) - }, { label: "Access Control", link: linkOptions({ to: "/organization/access-management" }) diff --git a/frontend/src/pages/organization/KmsOverviewPage/route.tsx b/frontend/src/pages/organization/KmsOverviewPage/route.tsx index dcce98bd4..08f7ddf4a 100644 --- a/frontend/src/pages/organization/KmsOverviewPage/route.tsx +++ b/frontend/src/pages/organization/KmsOverviewPage/route.tsx @@ -1,5 +1,3 @@ -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"; @@ -10,10 +8,6 @@ export const Route = createFileRoute( component: KmsOverviewPage, context: () => ({ breadcrumbs: [ - { - label: "Products", - icon: () => - }, { label: "KMS", link: linkOptions({ to: "/organization/kms/overview" }) diff --git a/frontend/src/pages/organization/KmsSettingsPage/route.tsx b/frontend/src/pages/organization/KmsSettingsPage/route.tsx index 17b0d6687..ebabb01f7 100644 --- a/frontend/src/pages/organization/KmsSettingsPage/route.tsx +++ b/frontend/src/pages/organization/KmsSettingsPage/route.tsx @@ -1,5 +1,3 @@ -import { faHome } from "@fortawesome/free-solid-svg-icons"; -import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { KmsSettingsPage } from "./KmsSettingsPage"; @@ -10,10 +8,6 @@ export const Route = createFileRoute( component: KmsSettingsPage, context: () => ({ breadcrumbs: [ - { - label: "Products", - icon: () => - }, { label: "KMS", link: linkOptions({ to: "/organization/kms/overview" }) diff --git a/frontend/src/pages/organization/RoleByIDPage/route.tsx b/frontend/src/pages/organization/RoleByIDPage/route.tsx index bf6ba92d1..c9036c500 100644 --- a/frontend/src/pages/organization/RoleByIDPage/route.tsx +++ b/frontend/src/pages/organization/RoleByIDPage/route.tsx @@ -1,5 +1,3 @@ -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"; @@ -10,11 +8,6 @@ export const Route = createFileRoute( component: RoleByIDPage, context: () => ({ breadcrumbs: [ - { - label: "Home", - icon: () => , - link: linkOptions({ to: "/organization/secret-manager/overview" }) - }, { label: "Access Control", link: linkOptions({ to: "/organization/access-management" }) diff --git a/frontend/src/pages/organization/SecretManagerOverviewPage/route.tsx b/frontend/src/pages/organization/SecretManagerOverviewPage/route.tsx index 9dc554a65..daf048881 100644 --- a/frontend/src/pages/organization/SecretManagerOverviewPage/route.tsx +++ b/frontend/src/pages/organization/SecretManagerOverviewPage/route.tsx @@ -1,5 +1,3 @@ -import { faHome } from "@fortawesome/free-solid-svg-icons"; -import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { createFileRoute } from "@tanstack/react-router"; import { SecretManagerOverviewPage } from "./SecretManagerOverviewPage"; @@ -10,10 +8,6 @@ export const Route = createFileRoute( component: SecretManagerOverviewPage, context: () => ({ breadcrumbs: [ - { - label: "Products", - icon: () => - }, { label: "Secret Management" } diff --git a/frontend/src/pages/organization/SecretManagerSettingsPage/route.tsx b/frontend/src/pages/organization/SecretManagerSettingsPage/route.tsx index 8e4d6851a..83f6d0992 100644 --- a/frontend/src/pages/organization/SecretManagerSettingsPage/route.tsx +++ b/frontend/src/pages/organization/SecretManagerSettingsPage/route.tsx @@ -1,5 +1,3 @@ -import { faHome } from "@fortawesome/free-solid-svg-icons"; -import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { SecretManagerSettingsPage } from "./SecretManagerSettingsPage"; @@ -10,10 +8,6 @@ export const Route = createFileRoute( component: SecretManagerSettingsPage, context: () => ({ breadcrumbs: [ - { - label: "Products", - icon: () => - }, { label: "Secret Management", link: linkOptions({ to: "/organization/secret-manager/overview" }) diff --git a/frontend/src/pages/organization/SecretScanningOverviewPage/route.tsx b/frontend/src/pages/organization/SecretScanningOverviewPage/route.tsx index 4ba20b622..a42b42b9b 100644 --- a/frontend/src/pages/organization/SecretScanningOverviewPage/route.tsx +++ b/frontend/src/pages/organization/SecretScanningOverviewPage/route.tsx @@ -1,5 +1,3 @@ -import { faHome } from "@fortawesome/free-solid-svg-icons"; -import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { SecretScanningOverviewPage } from "./SecretScanningOverviewPage"; @@ -10,10 +8,6 @@ export const Route = createFileRoute( component: SecretScanningOverviewPage, context: () => ({ breadcrumbs: [ - { - label: "Products", - icon: () => - }, { label: "Secret Scanning", link: linkOptions({ to: "/organization/secret-scanning/overview" }) diff --git a/frontend/src/pages/organization/SecretScanningSettingsPage/route.tsx b/frontend/src/pages/organization/SecretScanningSettingsPage/route.tsx index 0a9fc4254..43d763c8a 100644 --- a/frontend/src/pages/organization/SecretScanningSettingsPage/route.tsx +++ b/frontend/src/pages/organization/SecretScanningSettingsPage/route.tsx @@ -1,5 +1,3 @@ -import { faHome } from "@fortawesome/free-solid-svg-icons"; -import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { SecretScanningSettingsPage } from "./SecretScanningSettingsPage"; @@ -10,10 +8,6 @@ export const Route = createFileRoute( component: SecretScanningSettingsPage, context: () => ({ breadcrumbs: [ - { - label: "Products", - icon: () => - }, { label: "Secret Scanning", link: linkOptions({ to: "/organization/secret-scanning/overview" }) diff --git a/frontend/src/pages/organization/SecretSharingPage/route.tsx b/frontend/src/pages/organization/SecretSharingPage/route.tsx index 2040fd1bb..728fce0b6 100644 --- a/frontend/src/pages/organization/SecretSharingPage/route.tsx +++ b/frontend/src/pages/organization/SecretSharingPage/route.tsx @@ -1,6 +1,4 @@ -import { faHome } from "@fortawesome/free-solid-svg-icons"; -import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { createFileRoute, linkOptions, stripSearchParams } from "@tanstack/react-router"; +import { createFileRoute, stripSearchParams } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -21,11 +19,6 @@ export const Route = createFileRoute( }, context: () => ({ breadcrumbs: [ - { - label: "Home", - icon: () => , - link: linkOptions({ to: "/" }) - }, { label: "Secret Sharing" } diff --git a/frontend/src/pages/organization/SecretSharingSettingsPage/route.tsx b/frontend/src/pages/organization/SecretSharingSettingsPage/route.tsx index b7a9e128d..b938abd2e 100644 --- a/frontend/src/pages/organization/SecretSharingSettingsPage/route.tsx +++ b/frontend/src/pages/organization/SecretSharingSettingsPage/route.tsx @@ -1,5 +1,3 @@ -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"; @@ -20,11 +18,6 @@ export const Route = createFileRoute( }, context: () => ({ breadcrumbs: [ - { - label: "Home", - icon: () => , - link: linkOptions({ to: "/" }) - }, { label: "Secret Sharing", link: linkOptions({ to: "/organization/secret-sharing" }) diff --git a/frontend/src/pages/organization/SettingsPage/route.tsx b/frontend/src/pages/organization/SettingsPage/route.tsx index 3f7beb4e8..ca104cf4f 100644 --- a/frontend/src/pages/organization/SettingsPage/route.tsx +++ b/frontend/src/pages/organization/SettingsPage/route.tsx @@ -1,6 +1,4 @@ -import { faHome } from "@fortawesome/free-solid-svg-icons"; -import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { createFileRoute, linkOptions, stripSearchParams } from "@tanstack/react-router"; +import { createFileRoute, stripSearchParams } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -20,11 +18,6 @@ export const Route = createFileRoute( }, context: () => ({ breadcrumbs: [ - { - label: "Home", - icon: () => , - link: linkOptions({ to: "/" }) - }, { label: "Settings" } diff --git a/frontend/src/pages/organization/SshOverviewPage/route.tsx b/frontend/src/pages/organization/SshOverviewPage/route.tsx index 9ae5ebe7e..287151325 100644 --- a/frontend/src/pages/organization/SshOverviewPage/route.tsx +++ b/frontend/src/pages/organization/SshOverviewPage/route.tsx @@ -1,5 +1,3 @@ -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"; @@ -10,10 +8,6 @@ export const Route = createFileRoute( component: SshOverviewPage, context: () => ({ breadcrumbs: [ - { - label: "Products", - icon: () => - }, { label: "SSH", link: linkOptions({ to: "/organization/ssh/overview" }) diff --git a/frontend/src/pages/organization/SshSettingsPage/route.tsx b/frontend/src/pages/organization/SshSettingsPage/route.tsx index c6c65293d..fd55f84f5 100644 --- a/frontend/src/pages/organization/SshSettingsPage/route.tsx +++ b/frontend/src/pages/organization/SshSettingsPage/route.tsx @@ -1,5 +1,3 @@ -import { faHome } from "@fortawesome/free-solid-svg-icons"; -import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { createFileRoute, linkOptions } from "@tanstack/react-router"; import { SshSettingsPage } from "./SshSettingsPage"; @@ -10,10 +8,6 @@ export const Route = createFileRoute( component: SshSettingsPage, context: () => ({ breadcrumbs: [ - { - label: "Products", - icon: () => - }, { label: "SSH", link: linkOptions({ to: "/organization/ssh/overview" }) diff --git a/frontend/src/pages/organization/SsoPage/route.tsx b/frontend/src/pages/organization/SsoPage/route.tsx index c3b144573..92d989569 100644 --- a/frontend/src/pages/organization/SsoPage/route.tsx +++ b/frontend/src/pages/organization/SsoPage/route.tsx @@ -1,6 +1,4 @@ -import { faHome } from "@fortawesome/free-solid-svg-icons"; -import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { createFileRoute, linkOptions, stripSearchParams } from "@tanstack/react-router"; +import { createFileRoute, stripSearchParams } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; @@ -20,11 +18,6 @@ export const Route = createFileRoute( }, context: () => ({ breadcrumbs: [ - { - label: "Home", - icon: () => , - link: linkOptions({ to: "/" }) - }, { label: "Single Sign-On (SSO)" } diff --git a/frontend/src/pages/organization/UserDetailsByIDPage/route.tsx b/frontend/src/pages/organization/UserDetailsByIDPage/route.tsx index 2792bebfc..4b733029b 100644 --- a/frontend/src/pages/organization/UserDetailsByIDPage/route.tsx +++ b/frontend/src/pages/organization/UserDetailsByIDPage/route.tsx @@ -1,5 +1,3 @@ -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"; @@ -10,11 +8,6 @@ export const Route = createFileRoute( component: UserDetailsByIDPage, context: () => ({ breadcrumbs: [ - { - label: "Home", - icon: () => , - link: linkOptions({ to: "/organization/secret-manager/overview" }) - }, { label: "Access Control", link: linkOptions({ to: "/organization/access-management" }) diff --git a/frontend/src/pages/project/GroupDetailsByIDPage/route.tsx b/frontend/src/pages/project/GroupDetailsByIDPage/route.tsx index 83ead0221..3e6e53cb6 100644 --- a/frontend/src/pages/project/GroupDetailsByIDPage/route.tsx +++ b/frontend/src/pages/project/GroupDetailsByIDPage/route.tsx @@ -1,5 +1,3 @@ -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"; @@ -10,11 +8,6 @@ export const Route = createFileRoute( component: GroupDetailsByIDPage, context: () => ({ breadcrumbs: [ - { - label: "Home", - icon: () => , - link: linkOptions({ to: "/organization/secret-manager/overview" }) - }, { label: "Access Control", link: linkOptions({ to: "/organization/access-management" })