From 6b6a3899903ac8531446847e7e8a99ce94b1e208 Mon Sep 17 00:00:00 2001 From: duanyongcheng Date: Sun, 16 Feb 2025 20:14:52 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=90=8C=E5=90=8D?= =?UTF-8?q?=E6=A8=A1=E5=9E=8B=E9=80=89=E6=8B=A9=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 同名模型显示的供应商名称问题 2. 同名模型不同供应商不能被同时选择 --- .../src/pages/home/Inputbar/MentionModelsButton.tsx | 4 ++-- .../src/pages/home/Inputbar/MentionModelsInput.tsx | 10 ++++++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/renderer/src/pages/home/Inputbar/MentionModelsButton.tsx b/src/renderer/src/pages/home/Inputbar/MentionModelsButton.tsx index 7a22c5999..e408a052a 100644 --- a/src/renderer/src/pages/home/Inputbar/MentionModelsButton.tsx +++ b/src/renderer/src/pages/home/Inputbar/MentionModelsButton.tsx @@ -44,7 +44,7 @@ const MentionModelsButton: FC = ({ mentionModels, onMentionModel: onSelec const handleModelSelect = (model: Model) => { // Check if model is already selected - if (mentionModels.some((selected) => selected.id === model.id)) { + if (mentionModels.some((selected) => getModelUniqId(selected) === getModelUniqId(model))) { return } onSelect(model) @@ -209,7 +209,7 @@ const MentionModelsButton: FC = ({ mentionModels, onMentionModel: onSelec e.preventDefault() if (selectedIndex >= 0 && selectedIndex < flatModelItems.length) { const selectedModel = flatModelItems[selectedIndex].model - if (!mentionModels.some((selected) => selected.id === selectedModel.id)) { + if (!mentionModels.some((selected) => getModelUniqId(selected) === getModelUniqId(selectedModel))) { flatModelItems[selectedIndex].onClick() } setIsOpen(false) diff --git a/src/renderer/src/pages/home/Inputbar/MentionModelsInput.tsx b/src/renderer/src/pages/home/Inputbar/MentionModelsInput.tsx index 9c91d97ce..b31b5d764 100644 --- a/src/renderer/src/pages/home/Inputbar/MentionModelsInput.tsx +++ b/src/renderer/src/pages/home/Inputbar/MentionModelsInput.tsx @@ -1,4 +1,5 @@ import { useProviders } from '@renderer/hooks/useProvider' +import { getModelUniqId } from '@renderer/services/ModelService' import { Model } from '@renderer/types' import { Flex, Tag } from 'antd' import { FC } from 'react' @@ -13,14 +14,19 @@ const MentionModelsInput: FC<{ const { t } = useTranslation() const getProviderName = (model: Model) => { - const provider = providers.find((p) => p.models?.some((m) => m.id === model.id)) + const provider = providers.find((p) => p.id === model?.provider) return provider ? (provider.isSystem ? t(`provider.${provider.id}`) : provider.name) : '' } return ( {selectedModels.map((model) => ( - onRemoveModel(model)}> + onRemoveModel(model)}> @{model.name} ({getProviderName(model)}) ))}