diff --git a/components/sidebar.tsx b/components/sidebar.tsx index cdfbfe5c..d57c1b14 100644 --- a/components/sidebar.tsx +++ b/components/sidebar.tsx @@ -45,27 +45,10 @@ interface MenuItem { } export function Sidebar({ isOpen, onClose }: SidebarProps) { - const { data: session, status, update } = useSession(); + const { data: session, status } = useSession(); const router = useRouter(); const pathname = usePathname(); - // Debug session data - console.log('Session state:', { - status, - hasSession: !!session, - user: session?.user, - roles: session?.user?.role, - rawRoles: session?.user?.role, - pathname - }); - - // Function to manually refresh the session from the server - const refreshSession = async () => { - console.log('Manually refreshing session...'); - await update(); // Force update the session - console.log('Session refreshed!'); - }; - // Show loading state while session is being checked if (status === 'loading') { return null; @@ -85,7 +68,6 @@ export function Sidebar({ isOpen, onClose }: SidebarProps) { // If no session or user roles, deny access if (!session?.user?.role) { - console.log('No user roles found in session'); return false; } @@ -108,15 +90,6 @@ export function Sidebar({ isOpen, onClose }: SidebarProps) { }) .filter(role => role !== ''); // Remove empty strings - // For debugging only - if (process.env.NODE_ENV === 'development') { - console.log(`Role check for: ${JSON.stringify(requiredRole)}`, { - userRoles, - ignoredRoles, - cleanUserRoles, - }); - } - // Check against array of required roles if (Array.isArray(requiredRole)) { const cleanRequiredRoles = requiredRole @@ -124,17 +97,13 @@ export function Sidebar({ isOpen, onClose }: SidebarProps) { .map(role => typeof role === 'string' ? role.toLowerCase() : '') .filter(role => role !== ''); - const hasRequiredRole = cleanRequiredRoles.some(role => cleanUserRoles.includes(role)); - console.log(`Array role check: Required ${JSON.stringify(cleanRequiredRoles)}, Has any: ${hasRequiredRole}`); - return hasRequiredRole; + return cleanRequiredRoles.some(role => cleanUserRoles.includes(role)); } // Check against single required role if (typeof requiredRole === 'string') { const cleanRequiredRole = requiredRole.toLowerCase(); - const hasRequiredRole = cleanUserRoles.includes(cleanRequiredRole); - console.log(`Single role check: Required "${cleanRequiredRole}", Has: ${hasRequiredRole}`); - return hasRequiredRole; + return cleanUserRoles.includes(cleanRequiredRole); } return false; @@ -228,7 +197,6 @@ export function Sidebar({ isOpen, onClose }: SidebarProps) { ...baseMenuItems, ...roleSpecificItems.filter(item => { const isVisible = hasRole(item.requiredRole); - console.log(`Item ${item.title} with requiredRole ${JSON.stringify(item.requiredRole)} is ${isVisible ? 'visible' : 'hidden'}`); return isVisible; }) ]; @@ -277,14 +245,6 @@ export function Sidebar({ isOpen, onClose }: SidebarProps) { height={16.5} className="text-black" /> - {/* Add session refresh button */} - {/* Menu Items */} @@ -303,63 +263,6 @@ export function Sidebar({ isOpen, onClose }: SidebarProps) { {item.title} ))} - - {/* Debug display only in development */} - {process.env.NODE_ENV === 'development' && ( -
-

Debug Info:

-
-

User: {session?.user?.name}

-

Email: {session?.user?.email}

- -
- User Roles -
-                      {JSON.stringify(session?.user?.role, null, 2)}
-                    
-
-
- Normalized Roles -
-                      {JSON.stringify(
-                        Array.isArray(session?.user?.role) 
-                          ? session.user.role
-                              .filter(role => typeof role === 'string')
-                              .filter(role => !['offline_access', 'uma_authorization', 'default-roles-cercle'].includes(role))
-                              .map(role => 
-                                role
-                                  .replace(/^\//, '')
-                                  .replace(/^ROLE_/i, '')
-                                  .replace(/^default-roles-[^/]*\//i, '')
-                                  .toLowerCase()
-                              )
-                          : []
-                        , null, 2)}
-                    
-
-
- Role-Based Items -
- {roleSpecificItems.map(item => { - const isVisible = hasRole(item.requiredRole); - return ( -
-

Item: {item.title}

-

Required Role: {JSON.stringify(item.requiredRole)}

-

Visible: {isVisible ? '✅' : '❌'}

-
- ); - })} -
-
-
-
- )}