clean sidebar role 2
This commit is contained in:
parent
788e99e9d8
commit
978aae592a
@ -105,18 +105,31 @@ export function MainNav() {
|
||||
|
||||
// Function to check if user has a specific role
|
||||
const hasRole = (requiredRoles: string[]) => {
|
||||
if (!session?.user?.role) return false;
|
||||
if (!session?.user?.role) {
|
||||
console.log('No user roles found');
|
||||
return false;
|
||||
}
|
||||
|
||||
const userRoles = Array.isArray(session.user.role) ? session.user.role : [session.user.role];
|
||||
console.log('Raw user roles:', userRoles);
|
||||
|
||||
// Add console.log to debug roles
|
||||
console.log('User roles:', userRoles);
|
||||
console.log('Required roles:', requiredRoles);
|
||||
// Clean up user roles by removing prefixes and converting to lowercase
|
||||
const cleanUserRoles = userRoles.map(role =>
|
||||
role.replace(/^[\/]/, '') // Remove leading slash
|
||||
.replace(/^ROLE_/, '') // Remove ROLE_ prefix
|
||||
.toLowerCase()
|
||||
);
|
||||
console.log('Clean user roles:', cleanUserRoles);
|
||||
|
||||
return userRoles.some(role => {
|
||||
// Remove ROLE_ prefix if it exists
|
||||
const cleanRole = role.replace('ROLE_', '');
|
||||
return requiredRoles.includes(cleanRole) || cleanRole === 'Admin';
|
||||
});
|
||||
// Clean required roles
|
||||
const cleanRequiredRoles = requiredRoles.map(role => role.toLowerCase());
|
||||
console.log('Clean required roles:', cleanRequiredRoles);
|
||||
|
||||
// Check if user has any of the required roles
|
||||
const hasAnyRole = cleanRequiredRoles.some(role => cleanUserRoles.includes(role));
|
||||
console.log('Has any role:', hasAnyRole);
|
||||
|
||||
return hasAnyRole;
|
||||
};
|
||||
|
||||
// Status configurations
|
||||
|
||||
Loading…
Reference in New Issue
Block a user