clean pages 3 rest 3
This commit is contained in:
parent
0e238d8127
commit
4589aaab2f
@ -49,26 +49,33 @@ export function Sidebar({ isOpen, onClose }: SidebarProps) {
|
|||||||
const pathname = usePathname();
|
const pathname = usePathname();
|
||||||
|
|
||||||
// Function to check if user has a specific role
|
// Function to check if user has a specific role
|
||||||
const hasRole = (requiredRole: string | string[]) => {
|
const hasRole = (requiredRole: string | string[] | undefined) => {
|
||||||
if (!session?.user?.role) return false;
|
if (!requiredRole || !session?.user?.role) {
|
||||||
|
console.log('No required role or 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];
|
||||||
|
|
||||||
// Add console.log to debug roles
|
// Clean up user roles by removing prefixes and converting to lowercase for comparison
|
||||||
console.log('User roles:', userRoles);
|
|
||||||
console.log('Required role:', requiredRole);
|
|
||||||
|
|
||||||
// Clean up user roles by removing ROLE_ prefix and / prefix
|
|
||||||
const cleanUserRoles = userRoles.map(role =>
|
const cleanUserRoles = userRoles.map(role =>
|
||||||
role.replace('ROLE_', '').replace('/', '')
|
role.replace(/^[\/]/, '').toLowerCase()
|
||||||
);
|
);
|
||||||
|
|
||||||
|
console.log('Clean user roles:', cleanUserRoles);
|
||||||
|
|
||||||
|
// If requiredRole is an array, check if user has any of the roles
|
||||||
if (Array.isArray(requiredRole)) {
|
if (Array.isArray(requiredRole)) {
|
||||||
return requiredRole.some(role =>
|
const cleanRequiredRoles = requiredRole.map(role => role.toLowerCase());
|
||||||
cleanUserRoles.includes(role) || cleanUserRoles.includes('Admin')
|
console.log('Required roles (array):', cleanRequiredRoles);
|
||||||
|
return cleanRequiredRoles.some(role =>
|
||||||
|
cleanUserRoles.includes(role.toLowerCase()) || cleanUserRoles.includes('admin')
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return cleanUserRoles.includes(requiredRole) || cleanUserRoles.includes('Admin');
|
// For single role requirement
|
||||||
|
console.log('Required role (single):', requiredRole.toLowerCase());
|
||||||
|
return cleanUserRoles.includes(requiredRole.toLowerCase()) || cleanUserRoles.includes('admin');
|
||||||
};
|
};
|
||||||
|
|
||||||
// Base menu items (available for everyone)
|
// Base menu items (available for everyone)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user