fix leftnav

This commit is contained in:
Ishaan Jaffer 2026-01-27 17:21:05 -08:00
parent 8e976fff29
commit a55912d56e
2 changed files with 29 additions and 6 deletions

View file

@ -17,15 +17,25 @@ const SidebarProvider = ({ setPage, defaultSelectedKey, sidebarCollapsed }: Side
useEffect(() => {
const fetchUISettings = async () => {
if (!accessToken) return;
if (!accessToken) {
console.log("[SidebarProvider] No access token, skipping UI settings fetch");
return;
}
try {
console.log("[SidebarProvider] Fetching UI settings from /get/ui_settings");
const settings = await getUISettings(accessToken);
if (settings?.settings?.enabled_ui_pages_internal_users !== undefined) {
setEnabledPagesInternalUsers(settings.settings.enabled_ui_pages_internal_users);
console.log("[SidebarProvider] UI settings response:", settings);
// API returns 'values' not 'settings'
if (settings?.values?.enabled_ui_pages_internal_users !== undefined) {
console.log("[SidebarProvider] Setting enabled pages:", settings.values.enabled_ui_pages_internal_users);
setEnabledPagesInternalUsers(settings.values.enabled_ui_pages_internal_users);
} else {
console.log("[SidebarProvider] No enabled_ui_pages_internal_users in response (all pages visible by default)");
}
} catch (error) {
console.error("Failed to fetch UI settings:", error);
console.error("[SidebarProvider] Failed to fetch UI settings:", error);
}
};

View file

@ -342,6 +342,15 @@ const Sidebar: React.FC<SidebarProps> = ({ setPage, defaultSelectedKey, collapse
const filterItemsByRole = (items: MenuItem[]): MenuItem[] => {
const isAdmin = isAdminRole(userRole);
// Debug logging
if (enabledPagesInternalUsers !== null && enabledPagesInternalUsers !== undefined) {
console.log("[LeftNav] Filtering with enabled pages:", {
userRole,
isAdmin,
enabledPagesInternalUsers,
});
}
return items
.filter((item) => {
// Special handling for organizations menu item - allow org_admins
@ -351,7 +360,9 @@ const Sidebar: React.FC<SidebarProps> = ({ setPage, defaultSelectedKey, collapse
// Check enabled pages for internal users (non-admins)
if (!isAdmin && enabledPagesInternalUsers !== null && enabledPagesInternalUsers !== undefined) {
return enabledPagesInternalUsers.includes(item.page);
const isIncluded = enabledPagesInternalUsers.includes(item.page);
console.log(`[LeftNav] Page "${item.page}" (${item.key}): ${isIncluded ? "VISIBLE" : "HIDDEN"}`);
return isIncluded;
}
return true;
}
@ -361,7 +372,9 @@ const Sidebar: React.FC<SidebarProps> = ({ setPage, defaultSelectedKey, collapse
// Check enabled pages for internal users (non-admins)
if (!isAdmin && enabledPagesInternalUsers !== null && enabledPagesInternalUsers !== undefined) {
return enabledPagesInternalUsers.includes(item.page);
const isIncluded = enabledPagesInternalUsers.includes(item.page);
console.log(`[LeftNav] Page "${item.page}" (${item.key}): ${isIncluded ? "VISIBLE" : "HIDDEN"}`);
return isIncluded;
}
return true;