Files
ncd-fe/packages/pl-fe/src/api/hooks/groups/useGroupMembers.ts
marcin mikołajczak 4d5690d0c1 Switch to workspace
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-08-28 13:01:08 +02:00

24 lines
797 B
TypeScript

import { groupMemberSchema, type GroupMember as BaseGroupMember, type GroupRoles } from 'pl-api';
import { Entities } from 'soapbox/entity-store/entities';
import { useEntities } from 'soapbox/entity-store/hooks';
import { useClient } from 'soapbox/hooks';
import { normalizeGroupMember, type GroupMember } from 'soapbox/normalizers';
const useGroupMembers = (groupId: string, role: GroupRoles) => {
const client = useClient();
const { entities, ...result } = useEntities<BaseGroupMember, GroupMember>(
[Entities.GROUP_MEMBERSHIPS, groupId, role],
() => client.experimental.groups.getGroupMemberships(groupId, role),
{ schema: groupMemberSchema, transform: normalizeGroupMember },
);
return {
...result,
groupMembers: entities,
};
};
export { useGroupMembers };