fix: model settings crash

This commit is contained in:
kangfenmao 2024-08-08 17:16:45 +08:00
parent 78cf33e8bc
commit b6500977b0
3 changed files with 8 additions and 13 deletions

View File

@ -25,7 +25,7 @@ const SelectModelDropdown: FC<Props & PropsWithChildren> = ({ children, model, o
children: p.models.map((m) => ({ children: p.models.map((m) => ({
key: m?.id, key: m?.id,
label: upperFirst(m?.name), label: upperFirst(m?.name),
style: m?.id === model?.id ? { color: 'var(--color-primary)' } : undefined, defaultSelectedKeys: [model?.id],
icon: ( icon: (
<Avatar src={getModelLogo(m?.id || '')} size={24}> <Avatar src={getModelLogo(m?.id || '')} size={24}>
{first(m?.name)} {first(m?.name)}
@ -37,7 +37,7 @@ const SelectModelDropdown: FC<Props & PropsWithChildren> = ({ children, model, o
return ( return (
<DropdownMenu <DropdownMenu
menu={{ items, style: { maxHeight: '80vh', overflow: 'auto' } }} menu={{ items, style: { maxHeight: '80vh', overflow: 'auto' }, selectedKeys: [model?.id] }}
trigger={['click']} trigger={['click']}
arrow arrow
placement="bottom" placement="bottom"

View File

@ -3,7 +3,7 @@ import { useDefaultModel } from '@renderer/hooks/useAssistant'
import { useProviders } from '@renderer/hooks/useProvider' import { useProviders } from '@renderer/hooks/useProvider'
import { Model } from '@renderer/types' import { Model } from '@renderer/types'
import { Select } from 'antd' import { Select } from 'antd'
import { find, upperFirst } from 'lodash' import { find, sortBy, upperFirst } from 'lodash'
import { FC } from 'react' import { FC } from 'react'
import { useTranslation } from 'react-i18next' import { useTranslation } from 'react-i18next'
@ -21,12 +21,10 @@ const ModelSettings: FC = () => {
.map((p) => ({ .map((p) => ({
label: p.isSystem ? t(`provider.${p.id}`) : p.name, label: p.isSystem ? t(`provider.${p.id}`) : p.name,
title: p.name, title: p.name,
options: p.models options: sortBy(p.models, 'name').map((m) => ({
.sort((a, b) => a.name.localeCompare(b.name)) label: upperFirst(m.name),
.map((m) => ({ value: m.id
label: upperFirst(m.name), }))
value: m.id
}))
})) }))
const iconStyle = { fontSize: 16, marginRight: 8 } const iconStyle = { fontSize: 16, marginRight: 8 }

View File

@ -203,14 +203,11 @@ const HelpLink = styled(Link)`
` `
const RemoveIcon = styled(MinusCircleOutlined)` const RemoveIcon = styled(MinusCircleOutlined)`
font-size: 18px;
margin-left: 10px; margin-left: 10px;
color: var(--color-error); color: var(--color-error);
cursor: pointer; cursor: pointer;
transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out;
opacity: 0.75;
&:hover {
opacity: 1;
}
` `
export default ProviderSetting export default ProviderSetting