import { useRecoilValue } from 'recoil'; 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 modelsConfig = useRecoilValue(store.modelsConfig); if (!conversation?.endpoint) { return null; } const { settings, multiViewSettings } = getSettings(isMultiChat); const { endpoint: _endpoint, endpointType } = conversation; const models = modelsConfig?.[_endpoint] ?? []; const endpoint = endpointType ?? _endpoint; const OptionComponent = settings[endpoint]; if (OptionComponent) { return (
); } const MultiViewComponent = multiViewSettings[endpoint]; if (!MultiViewComponent) { return null; } return (
); }