diff options
Diffstat (limited to 'src/state/queries/messages/leave-conversation.ts')
-rw-r--r-- | src/state/queries/messages/leave-conversation.ts | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/src/state/queries/messages/leave-conversation.ts b/src/state/queries/messages/leave-conversation.ts index 21cd1f18c..b17e515be 100644 --- a/src/state/queries/messages/leave-conversation.ts +++ b/src/state/queries/messages/leave-conversation.ts @@ -1,3 +1,4 @@ +import {useMemo} from 'react' import {ChatBskyConvoLeaveConvo, ChatBskyConvoListConvos} from '@atproto/api' import { useMutation, @@ -8,7 +9,7 @@ import { import {logger} from '#/logger' import {DM_SERVICE_HEADERS} from '#/state/queries/messages/const' import {useAgent} from '#/state/session' -import {RQKEY as CONVO_LIST_KEY} from './list-conversations' +import {RQKEY_ROOT as CONVO_LIST_KEY} from './list-conversations' const RQKEY_ROOT = 'leave-convo' export function RQKEY(convoId: string | undefined) { @@ -35,7 +36,7 @@ export function useLeaveConvo( mutationFn: async () => { if (!convoId) throw new Error('No convoId provided') - const {data} = await agent.api.chat.bsky.convo.leaveConvo( + const {data} = await agent.chat.bsky.convo.leaveConvo( {convoId}, {headers: DM_SERVICE_HEADERS, encoding: 'application/json'}, ) @@ -45,7 +46,7 @@ export function useLeaveConvo( onMutate: () => { let prevPages: ChatBskyConvoListConvos.OutputSchema[] = [] queryClient.setQueryData( - CONVO_LIST_KEY, + [CONVO_LIST_KEY], (old?: { pageParams: Array<string | undefined> pages: Array<ChatBskyConvoListConvos.OutputSchema> @@ -67,13 +68,13 @@ export function useLeaveConvo( return {prevPages} }, onSuccess: data => { - queryClient.invalidateQueries({queryKey: CONVO_LIST_KEY}) + queryClient.invalidateQueries({queryKey: [CONVO_LIST_KEY]}) onSuccess?.(data) }, onError: (error, _, context) => { logger.error(error) queryClient.setQueryData( - CONVO_LIST_KEY, + [CONVO_LIST_KEY], (old?: { pageParams: Array<string | undefined> pages: Array<ChatBskyConvoListConvos.OutputSchema> @@ -85,7 +86,7 @@ export function useLeaveConvo( } }, ) - queryClient.invalidateQueries({queryKey: CONVO_LIST_KEY}) + queryClient.invalidateQueries({queryKey: [CONVO_LIST_KEY]}) onError?.(error) }, }) @@ -105,5 +106,8 @@ export function useLeftConvos() { filters: {mutationKey: [RQKEY_ROOT], status: 'success'}, select: mutation => mutation.options.mutationKey?.[1] as string | undefined, }) - return [...pending, ...success].filter(id => id !== undefined) + return useMemo( + () => [...pending, ...success].filter(id => id !== undefined), + [pending, success], + ) } |