Skip to content

Commit

Permalink
Show active tab in deployment view
Browse files Browse the repository at this point in the history
  • Loading branch information
jsbroks committed Oct 19, 2024
1 parent c23de51 commit e65fd8b
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 30 deletions.
Original file line number Diff line number Diff line change
@@ -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<NavigationMenuTabProps> = ({
children,
href,
exact = false,
}) => {
const pathname = usePathname();
return (
<Link href={href} legacyBehavior passHref>
<NavigationMenuLink
className={navigationMenuTriggerStyle()}
active={exact ? pathname === href : pathname.includes(href)}
>
{children}
</NavigationMenuLink>
</Link>
);
};
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,7 @@ import { Badge } from "@ctrlplane/ui/badge";
import {
NavigationMenu,
NavigationMenuItem,
NavigationMenuLink,
NavigationMenuList,
navigationMenuTriggerStyle,
} from "@ctrlplane/ui/navigation-menu";
import {
Tooltip,
Expand All @@ -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 = [
Expand Down Expand Up @@ -92,38 +91,25 @@ export default async function DeploymentLayout({
<NavigationMenu>
<NavigationMenuList>
<NavigationMenuItem>
<Link href={releasesUrl} legacyBehavior passHref>
<NavigationMenuLink className={navigationMenuTriggerStyle()}>
Releases
<Badge
variant="outline"
className="ml-1.5 rounded-full text-muted-foreground"
>
{nFormatter(releases.total, 1)}
</Badge>
</NavigationMenuLink>
</Link>
</NavigationMenuItem>
<NavigationMenuItem>
<Link href={variablesUrl} legacyBehavior passHref>
<NavigationMenuLink className={navigationMenuTriggerStyle()}>
Variables
</NavigationMenuLink>
</Link>
<NavigationMenuTab href={releasesUrl}>
Releases
<Badge
variant="outline"
className="ml-1.5 rounded-full text-muted-foreground"
>
{nFormatter(releases.total, 1)}
</Badge>
</NavigationMenuTab>
</NavigationMenuItem>
<NavigationMenuItem>
<Link href={variablesUrl} legacyBehavior passHref>
<NavigationMenuLink className={navigationMenuTriggerStyle()}>
Jobs
</NavigationMenuLink>
</Link>
<NavigationMenuTab href={variablesUrl}>
Variables
</NavigationMenuTab>
</NavigationMenuItem>
<NavigationMenuItem>
<Link href={overviewUrl} legacyBehavior passHref>
<NavigationMenuLink className={navigationMenuTriggerStyle()}>
Settings
</NavigationMenuLink>
</Link>
<NavigationMenuTab href={overviewUrl} exact>
Settings
</NavigationMenuTab>
</NavigationMenuItem>
</NavigationMenuList>
</NavigationMenu>
Expand Down

0 comments on commit e65fd8b

Please sign in to comment.