helloya20's picture
Upload 2345 files
f0743f4 verified
import { useGetModelsQuery } from 'librechat-data-provider/react-query';
import type { TConversation } from 'librechat-data-provider';
import type { TSetOption } from '~/common';
import { multiChatOptions } from './options';
type TGoogleProps = {
showExamples: boolean;
isCodeChat: boolean;
};
type TSelectProps = {
conversation: TConversation | null;
setOption: TSetOption;
extraProps?: TGoogleProps;
showAbove?: boolean;
popover?: boolean;
};
export default function ModelSelect({
conversation,
setOption,
popover = false,
showAbove = true,
}: TSelectProps) {
const modelsQuery = useGetModelsQuery();
if (!conversation?.endpoint) {
return null;
}
const { endpoint: _endpoint, endpointType } = conversation;
const models = modelsQuery.data?.[_endpoint] ?? [];
const endpoint = endpointType ?? _endpoint;
const OptionComponent = multiChatOptions[endpoint];
if (!OptionComponent) {
return null;
}
return (
<OptionComponent
conversation={conversation}
setOption={setOption}
models={models}
showAbove={showAbove}
popover={popover}
/>
);
}