mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2025-12-22 00:13:09 +08:00
fix: 修复同名模型选择问题 (#1772)
1. 同名模型显示的供应商名称问题 2. 同名模型不同供应商不能被同时选择 Co-authored-by: duanyongcheng <duanyongcheng77@gmail.com>
This commit is contained in:
parent
574d02a8c9
commit
642ce160a1
@ -44,7 +44,7 @@ const MentionModelsButton: FC<Props> = ({ mentionModels, onMentionModel: onSelec
|
|||||||
|
|
||||||
const handleModelSelect = (model: Model) => {
|
const handleModelSelect = (model: Model) => {
|
||||||
// Check if model is already selected
|
// Check if model is already selected
|
||||||
if (mentionModels.some((selected) => selected.id === model.id)) {
|
if (mentionModels.some((selected) => getModelUniqId(selected) === getModelUniqId(model))) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
onSelect(model)
|
onSelect(model)
|
||||||
@ -209,7 +209,7 @@ const MentionModelsButton: FC<Props> = ({ mentionModels, onMentionModel: onSelec
|
|||||||
e.preventDefault()
|
e.preventDefault()
|
||||||
if (selectedIndex >= 0 && selectedIndex < flatModelItems.length) {
|
if (selectedIndex >= 0 && selectedIndex < flatModelItems.length) {
|
||||||
const selectedModel = flatModelItems[selectedIndex].model
|
const selectedModel = flatModelItems[selectedIndex].model
|
||||||
if (!mentionModels.some((selected) => selected.id === selectedModel.id)) {
|
if (!mentionModels.some((selected) => getModelUniqId(selected) === getModelUniqId(selectedModel))) {
|
||||||
flatModelItems[selectedIndex].onClick()
|
flatModelItems[selectedIndex].onClick()
|
||||||
}
|
}
|
||||||
setIsOpen(false)
|
setIsOpen(false)
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
import { useProviders } from '@renderer/hooks/useProvider'
|
import { useProviders } from '@renderer/hooks/useProvider'
|
||||||
|
import { getModelUniqId } from '@renderer/services/ModelService'
|
||||||
import { Model } from '@renderer/types'
|
import { Model } from '@renderer/types'
|
||||||
import { Flex, Tag } from 'antd'
|
import { Flex, Tag } from 'antd'
|
||||||
import { FC } from 'react'
|
import { FC } from 'react'
|
||||||
@ -13,14 +14,19 @@ const MentionModelsInput: FC<{
|
|||||||
const { t } = useTranslation()
|
const { t } = useTranslation()
|
||||||
|
|
||||||
const getProviderName = (model: Model) => {
|
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 provider ? (provider.isSystem ? t(`provider.${provider.id}`) : provider.name) : ''
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Container gap="4px 0" wrap>
|
<Container gap="4px 0" wrap>
|
||||||
{selectedModels.map((model) => (
|
{selectedModels.map((model) => (
|
||||||
<Tag bordered={false} color="processing" key={model.id} closable onClose={() => onRemoveModel(model)}>
|
<Tag
|
||||||
|
bordered={false}
|
||||||
|
color="processing"
|
||||||
|
key={getModelUniqId(model)}
|
||||||
|
closable
|
||||||
|
onClose={() => onRemoveModel(model)}>
|
||||||
@{model.name} ({getProviderName(model)})
|
@{model.name} ({getProviderName(model)})
|
||||||
</Tag>
|
</Tag>
|
||||||
))}
|
))}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user