Refactor: replace endpointsConfig recoil store with react query (#1085)

This commit is contained in:
Danny Avila 2023-10-21 13:50:29 -04:00 committed by GitHub
parent 7d6a1d260f
commit 4073b7d05d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
15 changed files with 83 additions and 49 deletions

View file

@ -1,5 +1,6 @@
import { useCallback } from 'react';
import { useSetRecoilState, useResetRecoilState, useRecoilCallback, useRecoilValue } from 'recoil';
import { useSetRecoilState, useResetRecoilState, useRecoilCallback } from 'recoil';
import { useGetEndpointsQuery } from 'librechat-data-provider';
import type {
TConversation,
TMessagesAtom,
@ -15,7 +16,7 @@ const useConversation = () => {
const setMessages = useSetRecoilState<TMessagesAtom>(store.messages);
const setSubmission = useSetRecoilState<TSubmission | null>(store.submission);
const resetLatestMessage = useResetRecoilState(store.latestMessage);
const endpointsConfig = useRecoilValue(store.endpointsConfig);
const { data: endpointsConfig = {} } = useGetEndpointsQuery();
const switchToConversation = useRecoilCallback(
({ snapshot }) =>

View file

@ -1,4 +1,5 @@
import { useRecoilValue } from 'recoil';
import { useGetEndpointsQuery } from 'librechat-data-provider';
import type { TConversation, TPreset } from 'librechat-data-provider';
import { getDefaultEndpoint, buildDefaultConvo } from '~/utils';
import store from '~/store';
@ -6,7 +7,7 @@ import store from '~/store';
type TDefaultConvo = { conversation: Partial<TConversation>; preset?: Partial<TPreset> | null };
const useDefaultConvo = () => {
const endpointsConfig = useRecoilValue(store.endpointsConfig);
const { data: endpointsConfig = {} } = useGetEndpointsQuery();
const modelsConfig = useRecoilValue(store.modelsConfig);
const getDefaultConversation = ({ conversation, preset }: TDefaultConvo) => {

View file

@ -1,6 +1,6 @@
import { v4 } from 'uuid';
import { useRecoilState, useRecoilValue, useSetRecoilState } from 'recoil';
import { parseConvo, getResponseSender } from 'librechat-data-provider';
import { parseConvo, getResponseSender, useGetEndpointsQuery } from 'librechat-data-provider';
import type { TMessage, TSubmission, TEndpointOption } from 'librechat-data-provider';
import type { TAskFunction } from '~/common';
import useUserKey from './useUserKey';
@ -14,7 +14,7 @@ const useMessageHandler = () => {
const currentConversation = useRecoilValue(store.conversation) || { endpoint: null };
const setSubmission = useSetRecoilState(store.submission);
const isSubmitting = useRecoilValue(store.isSubmitting);
const endpointsConfig = useRecoilValue(store.endpointsConfig);
const { data: endpointsConfig } = useGetEndpointsQuery();
const [messages, setMessages] = useRecoilState(store.messages);
const { endpoint } = currentConversation;
const { getExpiry } = useUserKey(endpoint ?? '');

View file

@ -1,6 +1,6 @@
import { TPreset } from 'librechat-data-provider';
import type { TSetOptionsPayload, TSetExample, TSetOption } from '~/common';
import { useRecoilState, useRecoilValue } from 'recoil';
import { useRecoilState } from 'recoil';
import { cleanupPreset } from '~/utils';
import store from '~/store';
@ -8,7 +8,7 @@ type TUsePresetOptions = (preset?: TPreset | boolean | null) => TSetOptionsPaylo
const usePresetOptions: TUsePresetOptions = (_preset) => {
const [preset, setPreset] = useRecoilState(store.preset);
const endpointsConfig = useRecoilValue(store.endpointsConfig);
if (!_preset) {
return false;
}

View file

@ -1,11 +1,13 @@
import { useRecoilValue } from 'recoil';
import { useMemo, useCallback } from 'react';
import { useUpdateUserKeysMutation, useUserKeyQuery } from 'librechat-data-provider';
import store from '~/store';
import {
useUpdateUserKeysMutation,
useUserKeyQuery,
useGetEndpointsQuery,
} from 'librechat-data-provider';
const useUserKey = (endpoint: string) => {
const endpointsConfig = useRecoilValue(store.endpointsConfig);
const config = endpointsConfig[endpoint];
const { data: endpointsConfig } = useGetEndpointsQuery();
const config = endpointsConfig?.[endpoint];
const { azure } = config ?? {};
let keyEndpoint = endpoint;