diff options
Diffstat (limited to 'src/screens/Messages/Temp/query/query.ts')
-rw-r--r-- | src/screens/Messages/Temp/query/query.ts | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/screens/Messages/Temp/query/query.ts b/src/screens/Messages/Temp/query/query.ts index a51929bca..a4d78e0bb 100644 --- a/src/screens/Messages/Temp/query/query.ts +++ b/src/screens/Messages/Temp/query/query.ts @@ -73,6 +73,8 @@ export function useChat(chatId: string) { const chatJson = (await chatResponse.json()) as TempDmChatGetChat.OutputSchema + queryClient.setQueryData(['chatQuery', chatId], chatJson.chat) + const newChat = { chatId, messages: messagesJson.messages, @@ -275,3 +277,25 @@ export function useListChats() { getNextPageParam: lastPage => lastPage.cursor, }) } + +export function useChatQuery(chatId: string) { + const headers = useHeaders() + const {serviceUrl} = useDmServiceUrlStorage() + + return useQuery({ + queryKey: ['chatQuery', chatId], + queryFn: async () => { + const chatResponse = await fetch( + `${serviceUrl}/xrpc/temp.dm.getChat?chatId=${chatId}`, + { + headers, + }, + ) + + if (!chatResponse.ok) throw new Error('Failed to fetch chat') + + const json = (await chatResponse.json()) as TempDmChatGetChat.OutputSchema + return json.chat + }, + }) +} |