From b70c6b6260486382211e91ee5c83b5db61a9e54a Mon Sep 17 00:00:00 2001 From: Daniel Hougaard Date: Mon, 2 Jun 2025 17:45:27 +0400 Subject: [PATCH] fix: refactored admin panel layout --- frontend/src/const/routes.ts | 2 + .../src/layouts/AdminLayout/AdminLayout.tsx | 73 +-- frontend/src/layouts/AdminLayout/Sidebar.tsx | 144 ++++++ .../AuthenticationPage/AuthenticationPage.tsx | 27 ++ .../components/AuthenticationPageForm.tsx} | 2 +- .../AuthenticationPage/components/index.ts | 1 + .../pages/admin/AuthenticationPage/route.tsx | 25 + .../pages/admin/CachingPage/CachingPage.tsx | 27 ++ .../components/CachingPageForm.tsx} | 2 +- .../admin/CachingPage/components/index.ts | 1 + .../src/pages/admin/CachingPage/route.tsx | 25 + .../admin/EncryptionPage/EncryptionPage.tsx | 27 ++ .../components/EncryptionPageForm.tsx} | 14 +- .../admin/EncryptionPage/components/index.ts | 1 + .../src/pages/admin/EncryptionPage/route.tsx | 25 + .../pages/admin/GeneralPage/GeneralPage.tsx | 27 ++ .../components/GeneralPageForm.tsx | 309 +++++++++++++ .../admin/GeneralPage/components/index.ts | 1 + .../src/pages/admin/GeneralPage/route.tsx | 23 + .../IntegrationsPage/IntegrationsPage.tsx | 27 ++ .../components/IntegrationsPageForm.tsx} | 2 +- .../MicrosoftTeamsIntegrationForm.tsx | 0 .../components/SlackIntegrationForm.tsx | 0 .../IntegrationsPage/components/index.ts | 1 + .../pages/admin/IntegrationsPage/route.tsx | 25 + .../MachineIdentitiesResourcesPage.tsx | 27 ++ .../components/MachineIdentitiesTable.tsx} | 5 +- .../components/index.tsx | 1 + .../MachineIdentitiesResourcesPage/route.tsx | 25 + .../OrganizationResourcesPage.tsx | 27 ++ .../components/OrganizationsTable.tsx} | 5 +- .../components/index.tsx | 1 + .../admin/OrganizationResourcesPage/route.tsx | 25 + .../pages/admin/OverviewPage/OverviewPage.tsx | 433 ------------------ .../src/pages/admin/OverviewPage/route.tsx | 7 - .../UserIdentitiesResourcesPage.tsx | 27 ++ .../components/UserIdentitiesTable.tsx} | 5 +- .../components/index.tsx | 1 + .../UserIdentitiesResourcesPage/route.tsx | 25 + .../pages/kms/OverviewPage/OverviewPage.tsx | 2 +- frontend/src/routeTree.gen.ts | 218 ++++++++- frontend/src/routes.ts | 11 +- 42 files changed, 1121 insertions(+), 535 deletions(-) create mode 100644 frontend/src/layouts/AdminLayout/Sidebar.tsx create mode 100644 frontend/src/pages/admin/AuthenticationPage/AuthenticationPage.tsx rename frontend/src/pages/admin/{OverviewPage/components/AuthPanel.tsx => AuthenticationPage/components/AuthenticationPageForm.tsx} (99%) create mode 100644 frontend/src/pages/admin/AuthenticationPage/components/index.ts create mode 100644 frontend/src/pages/admin/AuthenticationPage/route.tsx create mode 100644 frontend/src/pages/admin/CachingPage/CachingPage.tsx rename frontend/src/pages/admin/{OverviewPage/components/CachingPanel.tsx => CachingPage/components/CachingPageForm.tsx} (98%) create mode 100644 frontend/src/pages/admin/CachingPage/components/index.ts create mode 100644 frontend/src/pages/admin/CachingPage/route.tsx create mode 100644 frontend/src/pages/admin/EncryptionPage/EncryptionPage.tsx rename frontend/src/pages/admin/{OverviewPage/components/EncryptionPanel.tsx => EncryptionPage/components/EncryptionPageForm.tsx} (93%) create mode 100644 frontend/src/pages/admin/EncryptionPage/components/index.ts create mode 100644 frontend/src/pages/admin/EncryptionPage/route.tsx create mode 100644 frontend/src/pages/admin/GeneralPage/GeneralPage.tsx create mode 100644 frontend/src/pages/admin/GeneralPage/components/GeneralPageForm.tsx create mode 100644 frontend/src/pages/admin/GeneralPage/components/index.ts create mode 100644 frontend/src/pages/admin/GeneralPage/route.tsx create mode 100644 frontend/src/pages/admin/IntegrationsPage/IntegrationsPage.tsx rename frontend/src/pages/admin/{OverviewPage/components/IntegrationPanel.tsx => IntegrationsPage/components/IntegrationsPageForm.tsx} (95%) rename frontend/src/pages/admin/{OverviewPage => IntegrationsPage}/components/MicrosoftTeamsIntegrationForm.tsx (100%) rename frontend/src/pages/admin/{OverviewPage => IntegrationsPage}/components/SlackIntegrationForm.tsx (100%) create mode 100644 frontend/src/pages/admin/IntegrationsPage/components/index.ts create mode 100644 frontend/src/pages/admin/IntegrationsPage/route.tsx create mode 100644 frontend/src/pages/admin/MachineIdentitiesResourcesPage/MachineIdentitiesResourcesPage.tsx rename frontend/src/pages/admin/{OverviewPage/components/IdentityPanel.tsx => MachineIdentitiesResourcesPage/components/MachineIdentitiesTable.tsx} (97%) create mode 100644 frontend/src/pages/admin/MachineIdentitiesResourcesPage/components/index.tsx create mode 100644 frontend/src/pages/admin/MachineIdentitiesResourcesPage/route.tsx create mode 100644 frontend/src/pages/admin/OrganizationResourcesPage/OrganizationResourcesPage.tsx rename frontend/src/pages/admin/{OverviewPage/components/OrganizationsPanel.tsx => OrganizationResourcesPage/components/OrganizationsTable.tsx} (98%) create mode 100644 frontend/src/pages/admin/OrganizationResourcesPage/components/index.tsx create mode 100644 frontend/src/pages/admin/OrganizationResourcesPage/route.tsx delete mode 100644 frontend/src/pages/admin/OverviewPage/OverviewPage.tsx delete mode 100644 frontend/src/pages/admin/OverviewPage/route.tsx create mode 100644 frontend/src/pages/admin/UserIdentitiesResourcesPage/UserIdentitiesResourcesPage.tsx rename frontend/src/pages/admin/{OverviewPage/components/UserPanel.tsx => UserIdentitiesResourcesPage/components/UserIdentitiesTable.tsx} (98%) create mode 100644 frontend/src/pages/admin/UserIdentitiesResourcesPage/components/index.tsx create mode 100644 frontend/src/pages/admin/UserIdentitiesResourcesPage/route.tsx diff --git a/frontend/src/const/routes.ts b/frontend/src/const/routes.ts index e390fbcc6..c02e46af2 100644 --- a/frontend/src/const/routes.ts +++ b/frontend/src/const/routes.ts @@ -1,5 +1,7 @@ import { FileRouteTypes } from "@app/routeTree.gen"; +// + const setRoute = ( path: TFull, id: TId diff --git a/frontend/src/layouts/AdminLayout/AdminLayout.tsx b/frontend/src/layouts/AdminLayout/AdminLayout.tsx index 41e9e6606..097654f26 100644 --- a/frontend/src/layouts/AdminLayout/AdminLayout.tsx +++ b/frontend/src/layouts/AdminLayout/AdminLayout.tsx @@ -1,27 +1,23 @@ import { useTranslation } from "react-i18next"; -import { faArrowLeft, faInfo, faMobile, faQuestion } from "@fortawesome/free-solid-svg-icons"; +import { faMobile } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { Link, Outlet } from "@tanstack/react-router"; +import { Outlet, useRouterState } from "@tanstack/react-router"; -import { WishForm } from "@app/components/features/WishForm"; import { Banner } from "@app/components/page-frames/Banner"; -import { - DropdownMenu, - DropdownMenuContent, - DropdownMenuItem, - DropdownMenuTrigger -} from "@app/components/v2"; -import { envConfig } from "@app/config/env"; +import { BreadcrumbContainer, TBreadcrumbFormat } from "@app/components/v2"; import { useServerConfig } from "@app/context"; -import { ProjectType } from "@app/hooks/api/workspace/types"; import { InsecureConnectionBanner } from "../OrganizationLayout/components/InsecureConnectionBanner"; -import { INFISICAL_SUPPORT_OPTIONS } from "../OrganizationLayout/components/MinimizedOrgSidebar/MinimizedOrgSidebar"; +import { AdminSidebar } from "./Sidebar"; export const AdminLayout = () => { const { t } = useTranslation(); const { config } = useServerConfig(); + const matches = useRouterState({ select: (s) => s.matches.at(-1)?.context }); + + const breadcrumbs = matches && "breadcrumbs" in matches ? matches.breadcrumbs : undefined; + const containerHeight = config.pageFrameContent ? "h-[94vh]" : "h-screen"; return ( @@ -30,54 +26,11 @@ export const AdminLayout = () => {