refactor: add reusable select controls and enhance data table columns
This commit is contained in:
@@ -22,6 +22,20 @@ export function hasPermissionValue({
|
||||
return normalizedPermissions.has(permissions.toLowerCase());
|
||||
}
|
||||
|
||||
function hasAnyPermissionValue({
|
||||
grantedPermissions,
|
||||
permissions,
|
||||
}: {
|
||||
grantedPermissions: string[];
|
||||
permissions: PermissionInput[];
|
||||
}) {
|
||||
if (permissions.length === 0) return true;
|
||||
|
||||
return permissions.some((permission) =>
|
||||
hasPermissionValue({ grantedPermissions, permissions: permission }),
|
||||
);
|
||||
}
|
||||
|
||||
export function usePermissions() {
|
||||
const grantedPermissions = useAppStore((state) => state.permissions);
|
||||
|
||||
@@ -33,6 +47,8 @@ export function usePermissions() {
|
||||
grantedPermissions,
|
||||
permissions,
|
||||
}),
|
||||
hasAnyPermission: (permissions: PermissionInput[]) =>
|
||||
hasAnyPermissionValue({ grantedPermissions, permissions }),
|
||||
}),
|
||||
[grantedPermissions],
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user