diff --git a/app/soapbox/hooks/api/groups/useGroupMembershipRequests.ts b/app/soapbox/hooks/api/groups/useGroupMembershipRequests.ts index 6fab87209..78a59ced6 100644 --- a/app/soapbox/hooks/api/groups/useGroupMembershipRequests.ts +++ b/app/soapbox/hooks/api/groups/useGroupMembershipRequests.ts @@ -2,6 +2,9 @@ import { Entities } from 'soapbox/entity-store/entities'; import { useEntities, useIncrementEntity } from 'soapbox/entity-store/hooks'; import { useApi } from 'soapbox/hooks/useApi'; import { accountSchema } from 'soapbox/schemas'; +import { GroupRoles } from 'soapbox/schemas/group-member'; + +import { useGroupRelationship } from './useGroups'; import type { ExpandedEntitiesPath } from 'soapbox/entity-store/hooks/types'; @@ -9,10 +12,15 @@ function useGroupMembershipRequests(groupId: string) { const api = useApi(); const path: ExpandedEntitiesPath = [Entities.ACCOUNTS, 'membership_requests', groupId]; + const { entity: relationship } = useGroupRelationship(groupId); + const { entities, invalidate, ...rest } = useEntities( path, () => api.get(`/api/v1/groups/${groupId}/membership_requests`), - { schema: accountSchema }, + { + schema: accountSchema, + enabled: relationship?.role === GroupRoles.OWNER || relationship?.role === GroupRoles.ADMIN, + }, ); const { incrementEntity: authorize } = useIncrementEntity(path, -1, async (accountId: string) => { diff --git a/app/soapbox/hooks/api/groups/useGroups.ts b/app/soapbox/hooks/api/groups/useGroups.ts index a99dd43c6..f77f66cdc 100644 --- a/app/soapbox/hooks/api/groups/useGroups.ts +++ b/app/soapbox/hooks/api/groups/useGroups.ts @@ -76,4 +76,4 @@ function useGroupRelationships(groupIds: string[]) { }; } -export { useGroup, useGroups, useGroupRelationships }; +export { useGroup, useGroups, useGroupRelationship, useGroupRelationships };