import { useRecoilValue } from 'recoil'; import { SettingsViews } from 'librechat-data-provider'; import { useGetModelsQuery } from 'librechat-data-provider/react-query'; import type { TSettingsProps } from '~/common'; import { getSettings } from './Settings'; import { cn } from '~/utils'; import store from '~/store'; export default function Settings({ conversation, setOption, isPreset = false, className = '', isMultiChat = false, }: TSettingsProps & { isMultiChat?: boolean }) { const modelsQuery = useGetModelsQuery(); const currentSettingsView = useRecoilValue(store.currentSettingsView); if (!conversation?.endpoint || currentSettingsView !== SettingsViews.default) { return null; } const { settings, multiViewSettings } = getSettings(isMultiChat); const { endpoint: _endpoint, endpointType } = conversation; const models = modelsQuery?.data?.[_endpoint] ?? []; const endpoint = endpointType ?? _endpoint; const OptionComponent = settings[endpoint]; if (OptionComponent) { return (