diff --git a/client/src/components/Nav/ClearConvos.jsx b/client/src/components/Nav/ClearConvos.jsx index 3cf6291c48..31a41e831b 100644 --- a/client/src/components/Nav/ClearConvos.jsx +++ b/client/src/components/Nav/ClearConvos.jsx @@ -1,27 +1,27 @@ -import React from 'react'; +import { useEffect } from 'react'; import store from '~/store'; import TrashIcon from '../svg/TrashIcon'; -import { useSWRConfig } from 'swr'; -import manualSWR from '~/utils/fetchers'; import { Dialog, DialogTrigger } from '../ui/Dialog.tsx'; import DialogTemplate from '../ui/DialogTemplate'; +import { useDeleteConversationMutation } from '~/data-provider'; export default function ClearConvos() { const { newConversation } = store.useConversation(); const { refreshConversations } = store.useConversations(); - const { mutate } = useSWRConfig(); - - const { trigger } = manualSWR(`/api/convos/clear`, 'post', () => { - newConversation(); - refreshConversations(); - mutate(`/api/convos`); - }); + const clearConvosMutation = useDeleteConversationMutation(); const clickHandler = () => { console.log('Clearing conversations...'); - trigger({}); + clearConvosMutation.mutate({}); }; + useEffect(() => { + if (clearConvosMutation.isSuccess) { + newConversation(); + refreshConversations(); + } + }, [clearConvosMutation.isSuccess]); + return ( diff --git a/client/src/data-provider/react-query-service.ts b/client/src/data-provider/react-query-service.ts index ff05a72672..afb05d45f8 100644 --- a/client/src/data-provider/react-query-service.ts +++ b/client/src/data-provider/react-query-service.ts @@ -61,11 +61,7 @@ export const useGetConversationByIdQuery = ( export const useUpdateConversationMutation = ( id: string ): UseMutationResult< - t.TUpdateConversationResponse, - unknown, - t.TUpdateConversationRequest, - unknown -> => { + t.TUpdateConversationResponse> => { const queryClient = useQueryClient(); return useMutation( (payload: t.TUpdateConversationRequest) => @@ -80,8 +76,8 @@ export const useUpdateConversationMutation = ( }; export const useDeleteConversationMutation = ( - id: string -): UseMutationResult => { + id?: string +): UseMutationResult => { const queryClient = useQueryClient(); return useMutation( (payload: t.TDeleteConversationRequest) => @@ -95,12 +91,7 @@ export const useDeleteConversationMutation = ( ); }; -export const useUpdateCustomGptMutation = (): UseMutationResult< - t.TUpdateCustomGptResponse, - unknown, - t.TUpdateCustomGptRequest, - unknown -> => { +export const useUpdateCustomGptMutation = (): UseMutationResult => { const queryClient = useQueryClient(); return useMutation( (payload: t.TUpdateCustomGptRequest) => @@ -124,12 +115,7 @@ export const useGetCustomGptsQuery = (): QueryObserverResult< }); }; -export const useDeleteCustomGptMutation = (): UseMutationResult< - t.TDeleteCustomGptResponse, - unknown, - t.TDeleteCustomGptRequest, - unknown -> => { +export const useDeleteCustomGptMutation = (): UseMutationResult => { const queryClient = useQueryClient(); return useMutation( (payload: t.TDeleteCustomGptRequest) => @@ -142,10 +128,7 @@ export const useDeleteCustomGptMutation = (): UseMutationResult< ); }; -export const useGetModelsQuery = (): QueryObserverResult< - t.TGetModelsResponse, - unknown -> => { +export const useGetModelsQuery = (): QueryObserverResult => { return useQuery([QueryKeys.models], () => dataService.getModels(), { refetchOnWindowFocus: false, refetchOnReconnect: false, diff --git a/client/src/data-provider/types.ts b/client/src/data-provider/types.ts index 59b753c832..d430833bd0 100644 --- a/client/src/data-provider/types.ts +++ b/client/src/data-provider/types.ts @@ -158,8 +158,8 @@ export type TUpdateConversationResponse = { }; export type TDeleteConversationRequest = { - conversationId: string, - source: string + conversationId?: string, + source?: string } export type TDeleteConversationResponse = {