Add ability to update Group tags

This commit is contained in:
Chewbacca
2023-04-14 15:15:34 -04:00
parent 2d52c8c3e4
commit c5c5bd0d62
5 changed files with 105 additions and 59 deletions

View File

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

View File

@@ -1,17 +1,18 @@
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>(
const { updateEntity, ...rest } = useEntityActions<GroupTag>(
[Entities.GROUP_TAGS, groupId, tagId],
{ patch: `/api/mock/truth/groups/${groupId}/tags/${tagId}` },
{ schema: groupTagSchema },
{ patch: `/api/v1/groups/${groupId}/tags/${tagId}` },
);
return updateEntity;
return {
updateGroupTag: updateEntity,
...rest,
};
}
export { useUpdateGroupTag };