diff --git a/apps/web/src/components/AppSideBar.tsx b/apps/web/src/components/AppSideBar.tsx index 317c9ad..6a54a7f 100644 --- a/apps/web/src/components/AppSideBar.tsx +++ b/apps/web/src/components/AppSideBar.tsx @@ -109,7 +109,7 @@ const settingsItems = [ url: "/settings", icon: Cog, }, - // TODO: Add conditional logic for Admin item based on isSelfHosted() || session?.user.isAdmin + // Admin item shows if user is admin OR if it's self-hosted { title: "Admin", url: "/admin", @@ -200,11 +200,20 @@ export function AppSidebar() { {settingsItems.map((item) => { const isActive = pathname?.startsWith(item.url); - if (item.isAdmin && !session?.user.isAdmin) { - return null; - } - if (item.isSelfHosted && !isSelfHosted()) { - return null; + // Special case for Admin item: show if user is admin OR if it's self-hosted + if (item.isAdmin && item.isSelfHosted) { + if (!session?.user.isAdmin && !isSelfHosted()) { + return null; + } + } else { + // Regular admin-only items + if (item.isAdmin && !session?.user.isAdmin) { + return null; + } + // Regular self-hosted-only items + if (item.isSelfHosted && !isSelfHosted()) { + return null; + } } return (