diff --git a/packages/features/users/components/UserTable/UserListTable.tsx b/packages/features/users/components/UserTable/UserListTable.tsx index 4c69aff04b..5208be795a 100644 --- a/packages/features/users/components/UserTable/UserListTable.tsx +++ b/packages/features/users/components/UserTable/UserListTable.tsx @@ -207,6 +207,12 @@ export function UserListTable() { ); }, filterFn: (rows, id, filterValue) => { + if (filterValue.includes("PENDING")) { + if (filterValue.length === 1) return !rows.original.accepted; + else return !rows.original.accepted || filterValue.includes(rows.getValue(id)); + } + + // Show only the selected roles return filterValue.includes(rows.getValue(id)); }, }, @@ -224,7 +230,10 @@ export function UserListTable() { data-testid2={`member-${username}-pending`} variant="red" className="text-xs" - data-testid={`email-${email.replace("@", "")}-pending`}> + data-testid={`email-${email.replace("@", "")}-pending`} + onClick={() => { + table.getColumn("role")?.setFilterValue(["PENDING"]); + }}> Pending )} @@ -351,6 +360,7 @@ export function UserListTable() { { label: "Owner", value: "OWNER" }, { label: "Admin", value: "ADMIN" }, { label: "Member", value: "MEMBER" }, + { label: "Pending", value: "PENDING" }, ], }, {