Fix Admin sidebar item visibility for self-hosted deployments (#189)

Co-authored-by: KMKoushik <24666922+KMKoushik@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
This commit is contained in:
Copilot
2025-07-27 00:40:34 +10:00
committed by GitHub
parent c1431e4af1
commit 1f646473b3

View File

@@ -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,12 +200,21 @@ export function AppSidebar() {
{settingsItems.map((item) => {
const isActive = pathname?.startsWith(item.url);
// 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 (
<SidebarMenuItem key={item.title}>
<SidebarMenuButton