diff options
author | Samuel Newman <mozzius@protonmail.com> | 2024-05-08 21:19:45 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-08 21:19:45 +0100 |
commit | 750a5c899b31fec215064836be548aa71e83c82d (patch) | |
tree | 311801af93197207bdc50357bf306d9e332cf08f /src | |
parent | 7d06fb94322dd5141adc897081b0b9f3b26d4240 (diff) | |
download | voidsky-750a5c899b31fec215064836be548aa71e83c82d.tar.zst |
actually optimistic mark as read (#3917)
Diffstat (limited to 'src')
-rw-r--r-- | src/state/queries/messages/conversation.ts | 13 | ||||
-rw-r--r-- | src/state/queries/messages/list-converations.ts | 1 |
2 files changed, 9 insertions, 5 deletions
diff --git a/src/state/queries/messages/conversation.ts b/src/state/queries/messages/conversation.ts index 551fbe98e..b4861b572 100644 --- a/src/state/queries/messages/conversation.ts +++ b/src/state/queries/messages/conversation.ts @@ -1,8 +1,9 @@ import {BskyAgent} from '@atproto-labs/api' -import {useMutation, useQuery} from '@tanstack/react-query' +import {useMutation, useQuery, useQueryClient} from '@tanstack/react-query' import {useOnMarkAsRead} from '#/state/queries/messages/list-converations' import {useDmServiceUrlStorage} from '#/screens/Messages/Temp/useDmServiceUrlStorage' +import {RQKEY as LIST_CONVOS_KEY} from './list-converations' import {useHeaders} from './temp-headers' const RQKEY_ROOT = 'convo' @@ -28,7 +29,8 @@ export function useConvoQuery(convoId: string) { export function useMarkAsReadMutation() { const headers = useHeaders() const {serviceUrl} = useDmServiceUrlStorage() - const onMarkAsRead = useOnMarkAsRead() + const optimisticUpdate = useOnMarkAsRead() + const queryClient = useQueryClient() return useMutation({ mutationFn: async ({ @@ -50,8 +52,11 @@ export function useMarkAsReadMutation() { }, ) }, - onSuccess(_, {convoId}) { - onMarkAsRead(convoId) + onMutate({convoId}) { + optimisticUpdate(convoId) + }, + onSettled() { + queryClient.invalidateQueries({queryKey: LIST_CONVOS_KEY}) }, }) } diff --git a/src/state/queries/messages/list-converations.ts b/src/state/queries/messages/list-converations.ts index 32107c0cd..936dd3a4a 100644 --- a/src/state/queries/messages/list-converations.ts +++ b/src/state/queries/messages/list-converations.ts @@ -122,7 +122,6 @@ export function useOnMarkAsRead() { unreadCount: 0, })) }) - queryClient.invalidateQueries({queryKey: RQKEY}) }, [queryClient], ) |