Skip to content

Commit 4af281d

Browse files
authored
fix: search for invitation in members table (#1457)
1 parent 44a30fc commit 4af281d

2 files changed

Lines changed: 12 additions & 22 deletions

File tree

web/sdk/react/hooks/useOrganizationMembers.ts

Lines changed: 11 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@ import { useQuery } from '@connectrpc/connect-query';
66
import { FrontierServiceQueries, ListOrganizationUsersRequestSchema, ListRolesRequestSchema, ListOrganizationInvitationsRequestSchema } from '@raystack/proton/frontier';
77
import { create } from '@bufbuild/protobuf';
88

9-
10-
export type MemberWithInvite = User & Invitation & { invited?: boolean };
9+
export type MemberWithInvite = Partial<User> & Partial<Invitation> & { invited?: boolean };
1110

1211
export interface UseOrganizationMembersReturn {
1312
isFetching: boolean;
@@ -22,7 +21,6 @@ export const useOrganizationMembers = ({
2221
showInvitations = false
2322
}): UseOrganizationMembersReturn => {
2423
const [users, setUsers] = useState<User[]>([]);
25-
const [invitations, setInvitations] = useState<MemberWithInvite[]>([]);
2624

2725
const [memberRoles, setMemberRoles] = useState<Record<string, Role[]>>({});
2826

@@ -73,24 +71,19 @@ export const useOrganizationMembers = ({
7371
{ enabled: !!organization?.id && showInvitations }
7472
);
7573

76-
useEffect(() => {
77-
if (invitationsData) {
78-
const invitedUsers: MemberWithInvite[] = (invitationsData.invitations || []).map((user: User) => ({
79-
...user,
80-
invited: true
81-
}));
82-
setInvitations(invitedUsers);
83-
}
84-
}, [invitationsData]);
85-
86-
8774
const isFetching = isUsersLoading || isInvitationsLoading || isRolesLoading;
8875
const hasError = usersError || rolesError || invitationsError;
8976

90-
const updatedUsers = useMemo(() =>
91-
[...users, ...invitations],
92-
[users, invitations]
93-
);
77+
const updatedUsers = useMemo(() => {
78+
const invitations = (invitationsData?.invitations || []).map(user => {
79+
return {
80+
...user,
81+
email: user.userId,
82+
invited: true
83+
};
84+
});
85+
return [...users, ...invitations] as unknown as MemberWithInvite[];
86+
}, [users, invitationsData?.invitations]);
9487

9588
const refetch = useCallback(() => {
9689
// Trigger refetch of all queries

web/sdk/react/views/members/member-columns.tsx

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -62,12 +62,9 @@ export const getColumns = (
6262
{
6363
header: 'Title',
6464
accessorKey: 'title',
65-
6665
cell: ({ row, getValue }) => {
6766
const title = getValue() as string;
68-
const email = row.original.invited
69-
? row.original.userId
70-
: row.original.email;
67+
const email = row.original.email;
7168
return (
7269
<Flex direction="column" gap={2}>
7370
<Label style={{ fontWeight: '$500' }}>{title}</Label>

0 commit comments

Comments
 (0)