fix: auto select model when finished download from starter screen (#4083)
This commit is contained in:
parent
4f70a5dff2
commit
dd308db17b
@ -1,17 +1,20 @@
|
|||||||
import { useState, useEffect } from 'react'
|
import { useState, useEffect } from 'react'
|
||||||
|
|
||||||
import { useAtomValue } from 'jotai'
|
import { useAtomValue, useSetAtom } from 'jotai'
|
||||||
|
|
||||||
import { isLocalEngine } from '@/utils/modelEngine'
|
import { isLocalEngine } from '@/utils/modelEngine'
|
||||||
|
|
||||||
import { extensionManager } from '@/extension'
|
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'
|
import { threadsAtom } from '@/helpers/atoms/Thread.atom'
|
||||||
|
|
||||||
export function useStarterScreen() {
|
export function useStarterScreen() {
|
||||||
const downloadedModels = useAtomValue(downloadedModelsAtom)
|
const downloadedModels = useAtomValue(downloadedModelsAtom)
|
||||||
const threads = useAtomValue(threadsAtom)
|
const threads = useAtomValue(threadsAtom)
|
||||||
|
const setSelectedModel = useSetAtom(selectedModelAtom)
|
||||||
const isDownloadALocalModel = downloadedModels.some((x) =>
|
const isDownloadALocalModel = downloadedModels.some((x) =>
|
||||||
isLocalEngine(x.engine)
|
isLocalEngine(x.engine)
|
||||||
)
|
)
|
||||||
@ -21,6 +24,9 @@ export function useStarterScreen() {
|
|||||||
>([])
|
>([])
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
if (isDownloadALocalModel) {
|
||||||
|
setSelectedModel(downloadedModels[0])
|
||||||
|
}
|
||||||
const getAllSettings = async () => {
|
const getAllSettings = async () => {
|
||||||
const extensionsMenu: {
|
const extensionsMenu: {
|
||||||
name?: string
|
name?: string
|
||||||
@ -57,6 +63,7 @@ export function useStarterScreen() {
|
|||||||
setExtensionHasSettings(extensionsMenu)
|
setExtensionHasSettings(extensionsMenu)
|
||||||
}
|
}
|
||||||
getAllSettings()
|
getAllSettings()
|
||||||
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||||
}, [])
|
}, [])
|
||||||
|
|
||||||
const isAnyRemoteModelConfigured = extensionHasSettings.some(
|
const isAnyRemoteModelConfigured = extensionHasSettings.some(
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user