| import { useRecoilValue } from 'recoil'; |
| import { QueryKeys, dataService } from 'librechat-data-provider'; |
| import { useQuery } from '@tanstack/react-query'; |
| import type { QueryObserverResult, UseQueryOptions } from '@tanstack/react-query'; |
| import type t from 'librechat-data-provider'; |
| import store from '~/store'; |
|
|
| export const useGetEndpointsQuery = <TData = t.TEndpointsConfig>( |
| config?: UseQueryOptions<t.TEndpointsConfig, unknown, TData>, |
| ): QueryObserverResult<TData> => { |
| const queriesEnabled = useRecoilValue<boolean>(store.queriesEnabled); |
| return useQuery<t.TEndpointsConfig, unknown, TData>( |
| [QueryKeys.endpoints], |
| () => dataService.getAIEndpoints(), |
| { |
| staleTime: Infinity, |
| refetchOnWindowFocus: false, |
| refetchOnReconnect: false, |
| refetchOnMount: false, |
| ...config, |
| enabled: (config?.enabled ?? true) === true && queriesEnabled, |
| }, |
| ); |
| }; |
|
|
| export const useGetStartupConfig = ( |
| config?: UseQueryOptions<t.TStartupConfig>, |
| ): QueryObserverResult<t.TStartupConfig> => { |
| const queriesEnabled = useRecoilValue<boolean>(store.queriesEnabled); |
| return useQuery<t.TStartupConfig>( |
| [QueryKeys.startupConfig], |
| () => dataService.getStartupConfig(), |
| { |
| staleTime: Infinity, |
| refetchOnWindowFocus: false, |
| refetchOnReconnect: false, |
| refetchOnMount: false, |
| ...config, |
| enabled: (config?.enabled ?? true) === true && queriesEnabled, |
| }, |
| ); |
| }; |
|
|