From b913af9f88428b90a81a12b038560cfdcd2ac1e9 Mon Sep 17 00:00:00 2001 From: Louis Date: Fri, 1 Nov 2024 17:09:56 +0700 Subject: [PATCH] chore: model id is optional on import --- web/hooks/useImportModel.ts | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/web/hooks/useImportModel.ts b/web/hooks/useImportModel.ts index b8f64db98..d84690715 100644 --- a/web/hooks/useImportModel.ts +++ b/web/hooks/useImportModel.ts @@ -4,8 +4,10 @@ import { ExtensionTypeEnum, ImportingModel, Model, + ModelEvent, ModelExtension, OptionType, + events, fs, } from '@janhq/core' @@ -58,18 +60,19 @@ const useImportModel = () => { const importModels = useCallback( (models: ImportingModel[], optionType: OptionType) => { - models - .filter((e) => !!e.modelId) - .map((model) => { - if (model.modelId) { - const modelId = model.modelId - addDownloadingModel(modelId) - extensionManager - .get(ExtensionTypeEnum.Model) - ?.importModel(model.modelId, model.path, model.name) - .finally(() => removeDownloadingModel(modelId)) - } - }) + models.map((model) => { + const modelId = model.modelId ?? model.path.split('/').pop() + if (modelId) { + addDownloadingModel(modelId) + extensionManager + .get(ExtensionTypeEnum.Model) + ?.importModel(modelId, model.path, model.name) + .finally(() => { + removeDownloadingModel(modelId) + events.emit(ModelEvent.OnModelsUpdate, {}) + }) + } + }) }, [addDownloadingModel, removeDownloadingModel] )