Download client/src/hooks/Config/useConfigOverride.ts from Zhitomir/chat: direct link, hf CLI and curl.
- Browser
- Download file 1.54 kB
-
https://huggingface.co/spaces/Zhitomir/chat/resolve/main/client/src/hooks/Config/useConfigOverride.ts
- Command line
-
hf download hf://spaces/Zhitomir/chat/client/src/hooks/Config/useConfigOverride.ts
-
curl -L -o useConfigOverride.ts https://huggingface.co/spaces/Zhitomir/chat/resolve/main/client/src/hooks/Config/useConfigOverride.ts
1.54 kB
| import { useSetRecoilState } from 'recoil'; | |
| import { useEffect, useCallback } from 'react'; | |
| import { useQueryClient } from '@tanstack/react-query'; | |
| import type { TEndpointsConfig, TModelsConfig } from 'librechat-data-provider'; | |
| import { useGetEndpointsConfigOverride } from '~/data-provider'; | |
| import { QueryKeys } from 'librechat-data-provider'; | |
| import store from '~/store'; | |
| type TempOverrideType = Record<string, unknown> & { | |
| endpointsConfig: TEndpointsConfig; | |
| modelsConfig: TModelsConfig; | |
| combinedOptions: unknown[]; | |
| combined: boolean; | |
| }; | |
| export default function useConfigOverride() { | |
| const setEndpointsQueryEnabled = useSetRecoilState(store.endpointsQueryEnabled); | |
| const overrideQuery = useGetEndpointsConfigOverride({ | |
| staleTime: Infinity, | |
| }); | |
| const queryClient = useQueryClient(); | |
| const handleOverride = useCallback( | |
| async (data: unknown | boolean) => { | |
| const { endpointsConfig, modelsConfig } = data as TempOverrideType; | |
| if (endpointsConfig) { | |
| setEndpointsQueryEnabled(false); | |
| await queryClient.cancelQueries([QueryKeys.endpoints]); | |
| queryClient.setQueryData([QueryKeys.endpoints], endpointsConfig); | |
| } | |
| if (modelsConfig) { | |
| await queryClient.cancelQueries([QueryKeys.models]); | |
| queryClient.setQueryData([QueryKeys.models], modelsConfig); | |
| } | |
| }, | |
| [queryClient, setEndpointsQueryEnabled], | |
| ); | |
| useEffect(() => { | |
| if (overrideQuery.data) { | |
| handleOverride(overrideQuery.data); | |
| } | |
| }, [overrideQuery.data, handleOverride]); | |
| } | |