diff --git a/studio/src/components/layout/dashboard-layout.tsx b/studio/src/components/layout/dashboard-layout.tsx
index fda8e16132..f4d52827be 100644
--- a/studio/src/components/layout/dashboard-layout.tsx
+++ b/studio/src/components/layout/dashboard-layout.tsx
@@ -247,9 +247,20 @@ export const DashboardLayout = ({ children }: LayoutProps) => {
title: "Account",
},
{
- title: "Invitations",
+ title: (
+ <>
+ Invitations
+ {user?.invitations?.length ? (
+
+ ) : null}
+ >
+ ),
href: "/account/invitations",
icon: ,
+ className: 'flex justify-between items-center w-full gap-x-1',
},
{
title: "Manage",
@@ -265,6 +276,7 @@ export const DashboardLayout = ({ children }: LayoutProps) => {
user?.currentOrganization.slug,
isAdmin,
isAdminOrDeveloper,
+ user?.invitations,
]);
return (
diff --git a/studio/src/components/layout/sidenav.tsx b/studio/src/components/layout/sidenav.tsx
index 5e8b126c5d..0e92fc4db5 100644
--- a/studio/src/components/layout/sidenav.tsx
+++ b/studio/src/components/layout/sidenav.tsx
@@ -3,21 +3,13 @@ import { cn } from "@/lib/utils";
import {
CaretSortIcon,
Cross2Icon,
- EnvelopeClosedIcon,
HamburgerMenuIcon,
} from "@radix-ui/react-icons";
import Link from "next/link";
import { useRouter } from "next/router";
-import { ReactNode, useContext, useMemo, useState } from "react";
+import { ReactNode, useContext, useState } from "react";
import { UserContext } from "../app-provider";
import { Logo } from "../logo";
-import {
- Select,
- SelectContent,
- SelectItem,
- SelectTrigger,
- SelectValue,
-} from "../ui/select";
import { Separator } from "../ui/separator";
import { UserMenu, UserMenuMobile } from "../user-menu";
import { LayoutProps } from "./layout";
@@ -36,7 +28,8 @@ import {
} from "../ui/dropdown-menu";
export type NavLink = {
- title: string;
+ title: ReactNode;
+ className?: string;
href: string;
matchExact?: boolean;
icon: ReactNode;
@@ -48,6 +41,7 @@ const isActive = (path: string, currentPath: string, exact = true) => {
};
const MobileNav = () => {
+ const user = useUser();
return (
{
>