diff --git a/src/renderer/src/components/ModelList/EditModelsPopup.tsx b/src/renderer/src/components/ModelList/EditModelsPopup.tsx index 03aca4d62d..89cca0e8ec 100644 --- a/src/renderer/src/components/ModelList/EditModelsPopup.tsx +++ b/src/renderer/src/components/ModelList/EditModelsPopup.tsx @@ -214,6 +214,35 @@ const PopupContainer: React.FC = ({ provider: _provider, resolve }) => { const renderTopTools = useCallback(() => { const isAllFilteredInProvider = list.length > 0 && list.every((model) => isModelInProvider(provider, model.id)) + + const onRemoveAll = () => { + list.filter((model) => isModelInProvider(provider, model.id)).forEach(onRemoveModel) + } + + const onAddAll = () => { + const wouldAddModel = list.filter((model) => !isModelInProvider(provider, model.id)) + window.modal.confirm({ + title: t('settings.models.manage.add_listed'), + content: t('settings.models.manage.add_listed.confirm'), + centered: true, + onOk: () => { + if (provider.id === 'new-api') { + if (models.every(isValidNewApiModel)) { + wouldAddModel.forEach(onAddModel) + } else { + NewApiBatchAddModelPopup.show({ + title: t('settings.models.add.batch_add_models'), + batchModels: wouldAddModel, + provider + }) + } + } else { + wouldAddModel.forEach(onAddModel) + } + } + }) + } + return ( = ({ provider: _provider, resolve }) => { size="large" onClick={(e) => { e.stopPropagation() - if (isAllFilteredInProvider) { - list.filter((model) => isModelInProvider(provider, model.id)).forEach(onRemoveModel) - } else { - const wouldAddModel = list.filter((model) => !isModelInProvider(provider, model.id)) - if (provider.id === 'new-api') { - if (models.every(isValidNewApiModel)) { - wouldAddModel.forEach(onAddModel) - } else { - NewApiBatchAddModelPopup.show({ - title: t('settings.models.add.batch_add_models'), - batchModels: wouldAddModel, - provider - }) - } - } else { - wouldAddModel.forEach(onAddModel) - } - } + isAllFilteredInProvider ? onRemoveAll() : onAddAll() }} disabled={loading || list.length === 0} /> diff --git a/src/renderer/src/i18n/locales/en-us.json b/src/renderer/src/i18n/locales/en-us.json index 57a1e9ba3c..4324628349 100644 --- a/src/renderer/src/i18n/locales/en-us.json +++ b/src/renderer/src/i18n/locales/en-us.json @@ -2170,6 +2170,7 @@ "models.empty": "No models found", "models.enable_topic_naming": "Topic Auto Naming", "models.manage.add_listed": "Add models to the list", + "models.manage.add_listed.confirm": "Are you sure you want to add all models to the list?", "models.manage.add_whole_group": "Add the whole group", "models.manage.remove_listed": "Remove models from the list", "models.manage.remove_model": "Remove model", diff --git a/src/renderer/src/i18n/locales/ja-jp.json b/src/renderer/src/i18n/locales/ja-jp.json index 5fd2e4adfb..a1e3874625 100644 --- a/src/renderer/src/i18n/locales/ja-jp.json +++ b/src/renderer/src/i18n/locales/ja-jp.json @@ -2170,6 +2170,7 @@ "models.empty": "モデルが見つかりません", "models.enable_topic_naming": "トピックの自動命名", "models.manage.add_listed": "リストにモデルを追加", + "models.manage.add_listed.confirm": "すべてのモデルをリストに追加しますか?", "models.manage.add_whole_group": "グループ全体を追加", "models.manage.remove_listed": "リストからモデルを削除", "models.manage.remove_model": "モデルを削除", diff --git a/src/renderer/src/i18n/locales/ru-ru.json b/src/renderer/src/i18n/locales/ru-ru.json index 099de0f93a..4a801c326e 100644 --- a/src/renderer/src/i18n/locales/ru-ru.json +++ b/src/renderer/src/i18n/locales/ru-ru.json @@ -2170,6 +2170,7 @@ "models.empty": "Модели не найдены", "models.enable_topic_naming": "Автоматическое переименование топика", "models.manage.add_listed": "Добавить в список", + "models.manage.add_listed.confirm": "Вы уверены, что хотите добавить все модели в список?", "models.manage.add_whole_group": "Добавить всю группу", "models.manage.remove_listed": "Удалить из списка", "models.manage.remove_model": "Удалить модель", diff --git a/src/renderer/src/i18n/locales/zh-cn.json b/src/renderer/src/i18n/locales/zh-cn.json index fc4ae307c5..8977a7e61b 100644 --- a/src/renderer/src/i18n/locales/zh-cn.json +++ b/src/renderer/src/i18n/locales/zh-cn.json @@ -2170,6 +2170,7 @@ "models.empty": "没有模型", "models.enable_topic_naming": "话题自动重命名", "models.manage.add_listed": "添加列表中的模型", + "models.manage.add_listed.confirm": "确定要添加所有模型到列表吗?", "models.manage.add_whole_group": "添加整个分组", "models.manage.remove_listed": "移除列表中的模型", "models.manage.remove_model": "移除模型", diff --git a/src/renderer/src/i18n/locales/zh-tw.json b/src/renderer/src/i18n/locales/zh-tw.json index 07fa397ce3..eaa224ae4e 100644 --- a/src/renderer/src/i18n/locales/zh-tw.json +++ b/src/renderer/src/i18n/locales/zh-tw.json @@ -2170,6 +2170,7 @@ "models.empty": "找不到模型", "models.enable_topic_naming": "話題自動重新命名", "models.manage.add_listed": "添加列表中的模型", + "models.manage.add_listed.confirm": "確定要添加所有模型到列表嗎?", "models.manage.add_whole_group": "新增整個分組", "models.manage.remove_listed": "移除列表中的模型", "models.manage.remove_model": "移除模型",