From dd308db17b4394824858c0985609e5f87ece7389 Mon Sep 17 00:00:00 2001 From: Faisal Amir Date: Fri, 22 Nov 2024 12:52:37 +0700 Subject: [PATCH] fix: auto select model when finished download from starter screen (#4083) --- web/hooks/useStarterScreen.ts | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/web/hooks/useStarterScreen.ts b/web/hooks/useStarterScreen.ts index 3305c0072..4af19bd64 100644 --- a/web/hooks/useStarterScreen.ts +++ b/web/hooks/useStarterScreen.ts @@ -1,17 +1,20 @@ import { useState, useEffect } from 'react' -import { useAtomValue } from 'jotai' +import { useAtomValue, useSetAtom } from 'jotai' import { isLocalEngine } from '@/utils/modelEngine' import { extensionManager } from '@/extension' -import { downloadedModelsAtom } from '@/helpers/atoms/Model.atom' +import { + downloadedModelsAtom, + selectedModelAtom, +} from '@/helpers/atoms/Model.atom' import { threadsAtom } from '@/helpers/atoms/Thread.atom' export function useStarterScreen() { const downloadedModels = useAtomValue(downloadedModelsAtom) const threads = useAtomValue(threadsAtom) - + const setSelectedModel = useSetAtom(selectedModelAtom) const isDownloadALocalModel = downloadedModels.some((x) => isLocalEngine(x.engine) ) @@ -21,6 +24,9 @@ export function useStarterScreen() { >([]) useEffect(() => { + if (isDownloadALocalModel) { + setSelectedModel(downloadedModels[0]) + } const getAllSettings = async () => { const extensionsMenu: { name?: string @@ -57,6 +63,7 @@ export function useStarterScreen() { setExtensionHasSettings(extensionsMenu) } getAllSettings() + // eslint-disable-next-line react-hooks/exhaustive-deps }, []) const isAnyRemoteModelConfigured = extensionHasSettings.some(