refactor: consolidate permission hooks and gate role filter behind read permission in UsersTable
This commit is contained in:
parent
3479c1943a
commit
f76bbc6f65
@ -30,7 +30,10 @@ import { useAppTheme } from "@/hooks/useAppTheme";
|
||||
import { usePermissions } from "@/hooks/usePermissions";
|
||||
|
||||
// Helper function to get user initials
|
||||
const getUserInitials = (firstName: string | null | undefined, lastName: string | null | undefined): string => {
|
||||
const getUserInitials = (
|
||||
firstName: string | null | undefined,
|
||||
lastName: string | null | undefined,
|
||||
): string => {
|
||||
const first = (firstName || "").trim().slice(0, 1);
|
||||
const last = (lastName || "").trim().slice(0, 1);
|
||||
return `${first}${last}`.toUpperCase() || "?";
|
||||
@ -69,9 +72,9 @@ interface UsersTableProps {
|
||||
|
||||
export const UsersTable = forwardRef<UsersTableRef, UsersTableProps>(
|
||||
({ tenantId, showHeader = true, compact = false }, ref): ReactElement => {
|
||||
const { canUpdate } = usePermissions();
|
||||
const { canUpdate, canRead, canCreate } = usePermissions();
|
||||
const { primaryColor } = useAppTheme();
|
||||
const { canCreate } = usePermissions();
|
||||
// const { canCreate } = usePermissions();
|
||||
const [users, setUsers] = useState<User[]>([]);
|
||||
const [isLoading, setIsLoading] = useState<boolean>(true);
|
||||
const [error, setError] = useState<string | null>(null);
|
||||
@ -579,6 +582,7 @@ export const UsersTable = forwardRef<UsersTableRef, UsersTableProps>(
|
||||
}}
|
||||
placeholder="All"
|
||||
/>
|
||||
{canRead("roles") && (
|
||||
<FilterDropdown
|
||||
label="Role"
|
||||
options={[
|
||||
@ -590,11 +594,14 @@ export const UsersTable = forwardRef<UsersTableRef, UsersTableProps>(
|
||||
]}
|
||||
value={roleFilter || ""}
|
||||
onChange={(value) => {
|
||||
setRoleFilter(Array.isArray(value) ? null : value || null);
|
||||
setRoleFilter(
|
||||
Array.isArray(value) ? null : value || null,
|
||||
);
|
||||
setCurrentPage(1);
|
||||
}}
|
||||
placeholder="All"
|
||||
/>
|
||||
)}
|
||||
{canCreate("users") && (
|
||||
<PrimaryButton
|
||||
size="default"
|
||||
|
||||
Loading…
Reference in New Issue
Block a user