Add support for Group tags

This commit is contained in:
Chewbacca
2023-03-23 15:20:19 -04:00
parent 8ec8d4a2ca
commit 2d52c8c3e4
11 changed files with 324 additions and 11 deletions

View File

@ -0,0 +1,20 @@
import { Entities } from 'soapbox/entity-store/entities';
import { useEntities } from 'soapbox/entity-store/hooks';
import { groupTagSchema } from 'soapbox/schemas';
import type { GroupTag } from 'soapbox/schemas';
function useGroupTags(groupId: string) {
const { entities, ...result } = useEntities<GroupTag>(
[Entities.GROUP_TAGS, groupId],
'/api/mock/groups/tags', // `api/v1/groups/${groupId}/tags`
{ schema: groupTagSchema },
);
return {
...result,
tags: entities,
};
}
export { useGroupTags };

View File

@ -0,0 +1,17 @@
import { Entities } from 'soapbox/entity-store/entities';
import { useEntityActions } from 'soapbox/entity-store/hooks';
import { groupTagSchema } from 'soapbox/schemas';
import type { GroupTag } from 'soapbox/schemas';
function useUpdateGroupTag(groupId: string, tagId: string) {
const { updateEntity } = useEntityActions<GroupTag>(
[Entities.GROUP_TAGS, groupId, tagId],
{ patch: `/api/mock/truth/groups/${groupId}/tags/${tagId}` },
{ schema: groupTagSchema },
);
return updateEntity;
}
export { useUpdateGroupTag };