diff --git a/src/components/ModelPicker.tsx b/src/components/ModelPicker.tsx index 26901b3..5ae28f6 100644 --- a/src/components/ModelPicker.tsx +++ b/src/components/ModelPicker.tsx @@ -23,15 +23,14 @@ import { useLanguageModelsByProviders } from "@/hooks/useLanguageModelsByProvide import { ChevronDown } from "lucide-react"; import { LocalModel } from "@/ipc/ipc_types"; import { useLanguageModelProviders } from "@/hooks/useLanguageModelProviders"; -interface ModelPickerProps { - selectedModel: LargeLanguageModel; - onModelSelect: (model: LargeLanguageModel) => void; -} +import { useSettings } from "@/hooks/useSettings"; + +export function ModelPicker() { + const { settings, updateSettings } = useSettings(); + const onModelSelect = (model: LargeLanguageModel) => { + updateSettings({ selectedModel: model }); + }; -export function ModelPicker({ - selectedModel, - onModelSelect, -}: ModelPickerProps) { const [open, setOpen] = useState(false); // Cloud models from providers @@ -97,8 +96,6 @@ export function ModelPicker({ return selectedModel.name; }; - const modelDisplayName = getModelDisplayName(); - // Get auto provider models (if any) const autoModels = !loading && modelsByProviders && modelsByProviders["auto"] @@ -111,6 +108,12 @@ export function ModelPicker({ const hasLMStudioModels = !lmStudioLoading && !lmStudioError && lmStudioModels.length > 0; + if (!settings) { + return null; + } + const selectedModel = settings?.selectedModel; + const modelDisplayName = getModelDisplayName(); + return ( diff --git a/src/components/chat/ChatInput.tsx b/src/components/chat/ChatInput.tsx index 0953dc3..efe8c78 100644 --- a/src/components/chat/ChatInput.tsx +++ b/src/components/chat/ChatInput.tsx @@ -65,7 +65,7 @@ export function ChatInput({ chatId }: { chatId?: number }) { const posthog = usePostHog(); const [inputValue, setInputValue] = useAtom(chatInputValueAtom); const textareaRef = useRef(null); - const { settings, updateSettings } = useSettings(); + const { settings } = useSettings(); const appId = useAtomValue(selectedAppIdAtom); const { refreshVersions } = useVersions(appId); const { streamMessage, isStreaming, setIsStreaming, error, setError } = @@ -341,12 +341,7 @@ export function ChatInput({ chatId }: { chatId?: number }) {
- - updateSettings({ selectedModel: model }) - } - /> +
- - updateSettings({ selectedModel: model }) - } - /> +