From e65fd8bc01049ad2de69f21faf74ffab7ec8e899 Mon Sep 17 00:00:00 2001 From: Justin Brooks Date: Sat, 19 Oct 2024 00:48:17 -0400 Subject: [PATCH] Show active tab in deployment view --- .../[deploymentSlug]/NavigationMenuTab.tsx | 33 +++++++++++++ .../deployments/[deploymentSlug]/layout.tsx | 46 +++++++------------ 2 files changed, 49 insertions(+), 30 deletions(-) create mode 100644 apps/webservice/src/app/[workspaceSlug]/systems/[systemSlug]/deployments/[deploymentSlug]/NavigationMenuTab.tsx diff --git a/apps/webservice/src/app/[workspaceSlug]/systems/[systemSlug]/deployments/[deploymentSlug]/NavigationMenuTab.tsx b/apps/webservice/src/app/[workspaceSlug]/systems/[systemSlug]/deployments/[deploymentSlug]/NavigationMenuTab.tsx new file mode 100644 index 00000000..459074e1 --- /dev/null +++ b/apps/webservice/src/app/[workspaceSlug]/systems/[systemSlug]/deployments/[deploymentSlug]/NavigationMenuTab.tsx @@ -0,0 +1,33 @@ +"use client"; + +import Link from "next/link"; +import { usePathname } from "next/navigation"; + +import { + NavigationMenuLink, + navigationMenuTriggerStyle, +} from "@ctrlplane/ui/navigation-menu"; + +interface NavigationMenuTabProps { + href: string; + children?: React.ReactNode; + exact?: boolean; +} + +export const NavigationMenuTab: React.FC = ({ + children, + href, + exact = false, +}) => { + const pathname = usePathname(); + return ( + + + {children} + + + ); +}; diff --git a/apps/webservice/src/app/[workspaceSlug]/systems/[systemSlug]/deployments/[deploymentSlug]/layout.tsx b/apps/webservice/src/app/[workspaceSlug]/systems/[systemSlug]/deployments/[deploymentSlug]/layout.tsx index f8d7dfec..fc5caf02 100644 --- a/apps/webservice/src/app/[workspaceSlug]/systems/[systemSlug]/deployments/[deploymentSlug]/layout.tsx +++ b/apps/webservice/src/app/[workspaceSlug]/systems/[systemSlug]/deployments/[deploymentSlug]/layout.tsx @@ -6,9 +6,7 @@ import { Badge } from "@ctrlplane/ui/badge"; import { NavigationMenu, NavigationMenuItem, - NavigationMenuLink, NavigationMenuList, - navigationMenuTriggerStyle, } from "@ctrlplane/ui/navigation-menu"; import { Tooltip, @@ -21,6 +19,7 @@ import { api } from "~/trpc/server"; import { SystemBreadcrumbNavbar } from "../../../SystemsBreadcrumb"; import { TopNav } from "../../../TopNav"; import { NavigationMenuAction } from "./NavigationMenuAction"; +import { NavigationMenuTab } from "./NavigationMenuTab"; function nFormatter(num: number, digits: number) { const lookup = [ @@ -92,38 +91,25 @@ export default async function DeploymentLayout({ - - - Releases - - {nFormatter(releases.total, 1)} - - - - - - - - Variables - - + + Releases + + {nFormatter(releases.total, 1)} + + - - - Jobs - - + + Variables + - - - Settings - - + + Settings +