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
|
// Function to check if user has a specific role
|
||||||
const hasRole = (requiredRoles: string[]) => {
|
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];
|
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
|
// Clean up user roles by removing prefixes and converting to lowercase
|
||||||
console.log('User roles:', userRoles);
|
const cleanUserRoles = userRoles.map(role =>
|
||||||
console.log('Required roles:', requiredRoles);
|
role.replace(/^[\/]/, '') // Remove leading slash
|
||||||
|
.replace(/^ROLE_/, '') // Remove ROLE_ prefix
|
||||||
|
.toLowerCase()
|
||||||
|
);
|
||||||
|
console.log('Clean user roles:', cleanUserRoles);
|
||||||
|
|
||||||
return userRoles.some(role => {
|
// Clean required roles
|
||||||
// Remove ROLE_ prefix if it exists
|
const cleanRequiredRoles = requiredRoles.map(role => role.toLowerCase());
|
||||||
const cleanRole = role.replace('ROLE_', '');
|
console.log('Clean required roles:', cleanRequiredRoles);
|
||||||
return requiredRoles.includes(cleanRole) || cleanRole === 'Admin';
|
|
||||||
});
|
// 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
|
// Status configurations
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user