feat: add avatar for unknown model

This commit is contained in:
kangfenmao 2024-07-10 20:15:49 +08:00
parent 8830cdd3be
commit f8da9ce94b
4 changed files with 14 additions and 4 deletions

View File

@ -10,6 +10,7 @@ import { EVENT_NAMES, EventEmitter } from '@renderer/services/event'
import { getModelLogo } from '@renderer/services/provider' import { getModelLogo } from '@renderer/services/provider'
import Logo from '@renderer/assets/images/logo.png' import Logo from '@renderer/assets/images/logo.png'
import { SyncOutlined } from '@ant-design/icons' import { SyncOutlined } from '@ant-design/icons'
import { firstLetter } from '@renderer/utils'
interface Props { interface Props {
message: Message message: Message
@ -44,7 +45,9 @@ const MessageItem: FC<Props> = ({ message, showMenu, onDeleteMessage }) => {
<MessageContainer key={message.id}> <MessageContainer key={message.id}>
<AvatarWrapper> <AvatarWrapper>
{message.role === 'assistant' ? ( {message.role === 'assistant' ? (
<Avatar src={message.modelId ? getModelLogo(message.modelId) : Logo} /> <Avatar src={message.modelId ? getModelLogo(message.modelId) : Logo}>
{firstLetter(message.modelId).toUpperCase()}
</Avatar>
) : ( ) : (
<Avatar src={avatar} /> <Avatar src={avatar} />
)} )}

View File

@ -73,7 +73,9 @@ const ProviderSetting: FC<Props> = ({ provider }) => {
<Card key={group} type="inner" title={group} style={{ marginBottom: '10px' }} size="small"> <Card key={group} type="inner" title={group} style={{ marginBottom: '10px' }} size="small">
{modelGroups[group].map((model) => ( {modelGroups[group].map((model) => (
<ModelListItem key={model.id}> <ModelListItem key={model.id}>
<Avatar src={getModelLogo(model.id)} size={22} style={{ marginRight: '8px' }} /> <Avatar src={getModelLogo(model.id)} size={22} style={{ marginRight: '8px' }}>
{model.name[0]}
</Avatar>
{model.name} {model.name}
</ModelListItem> </ModelListItem>
))} ))}

View File

@ -31,7 +31,7 @@ export function getProviderLogo(providerId: string) {
case 'ollama': case 'ollama':
return OllamaProviderLogo return OllamaProviderLogo
default: default:
return '' return undefined
} }
} }
@ -53,5 +53,5 @@ export function getModelLogo(modelId: string) {
} }
} }
return '' return undefined
} }

View File

@ -88,3 +88,8 @@ export function droppableReorder<T>(list: T[], startIndex: number, endIndex: num
result.splice(endIndex, 0, ...removed) result.splice(endIndex, 0, ...removed)
return result return result
} }
// firstLetter
export const firstLetter = (str?: string) => {
return str ? str[0] : ''
}