import { QueryClient, useQuery } from '@tanstack/react-query'
import { GlobalStoreTypes } from './types'
type ConversationTitle = {
title: string
mustUpdateTitleBasedOnSubject: boolean
}
const initialData = {
title: '',
mustUpdateTitleBasedOnSubject: true,
}
const getConversationTitle = () =>
useQuery({
queryKey: [GlobalStoreTypes.ConversationTitle],
queryFn: async (): Promise<ConversationTitle> => initialData,
enabled: false,
retry: false,
initialData: initialData,
})
export const setConversationTitle =
(queryClient: QueryClient) =>
(updater: (oldData: ConversationTitle) => ConversationTitle | undefined) => {
queryClient.setQueryData(
[GlobalStoreTypes.ConversationTitle],
(oldData: ConversationTitle) => updater(oldData),
)
}
export const useConversationTitle = (queryClient: QueryClient) => {
return {
conversationTitleData: getConversationTitle().data,
setConversationTitle: setConversationTitle(queryClient),
}
}
import { QueryClient, useQuery } from '@tanstack/react-query'
import { GlobalStoreTypes } from './types'
type ConversationTitle = {
title: string
mustUpdateTitleBasedOnSubject: boolean
}
const initialData = {
title: '',
mustUpdateTitleBasedOnSubject: true,
}
const getConversationTitle = () =>
useQuery({
queryKey: [GlobalStoreTypes.ConversationTitle],
queryFn: async (): Promise<ConversationTitle> => initialData,
enabled: false,
retry: false,
initialData: initialData,
})
export const setConversationTitle =
(queryClient: QueryClient) =>
(updater: (oldData: ConversationTitle) => ConversationTitle | undefined) => {
queryClient.setQueryData(
[GlobalStoreTypes.ConversationTitle],
(oldData: ConversationTitle) => updater(oldData),
)
}
export const useConversationTitle = (queryClient: QueryClient) => {
return {
conversationTitleData: getConversationTitle().data,
setConversationTitle: setConversationTitle(queryClient),
}
}