From a2d24a5cdac5557861cb15c8c9ae23af5966a792 Mon Sep 17 00:00:00 2001 From: Yuhang <190720896+YuhangHere@users.noreply.github.com> Date: Thu, 21 Aug 2025 19:54:48 +0800 Subject: [PATCH] fix: incorrect default avatar casing in custom provider (#9384) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: incorrect default avatar casing in custom provider * add background color to default avatar in custom provider distinction among providers. * set ProviderInitialsLogo text color to white 添加完背景色后发现,模型列表中默认头像字体始终为白色,而编辑提供商时默认头像字体颜色会随主题色而变,黑色字体某些背景色下不清晰(比如a),所以改成始终白色 * fix: default avatar fallback when no text is entered -设置背景色后发现,未输入文本时的背景色是根据上一个背景色继续保持的,该情况下回退到默认背景颜色 -回退后白色字体又看不清,该情况下字体颜色回退到黑色 -最终效果就是未输入文本时显示的默认头像回退到与之前一致 --- .../settings/ProviderSettings/AddProviderPopup.tsx | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/renderer/src/pages/settings/ProviderSettings/AddProviderPopup.tsx b/src/renderer/src/pages/settings/ProviderSettings/AddProviderPopup.tsx index c8575d67f..4a845521d 100644 --- a/src/renderer/src/pages/settings/ProviderSettings/AddProviderPopup.tsx +++ b/src/renderer/src/pages/settings/ProviderSettings/AddProviderPopup.tsx @@ -3,7 +3,7 @@ import { Center, VStack } from '@renderer/components/Layout' import { TopView } from '@renderer/components/TopView' import ImageStorage from '@renderer/services/ImageStorage' import { Provider, ProviderType } from '@renderer/types' -import { compressImage } from '@renderer/utils' +import { compressImage, generateColorFromChar } from '@renderer/utils' import { Divider, Dropdown, Form, Input, Modal, Select, Upload } from 'antd' import React, { useEffect, useState } from 'react' import { useTranslation } from 'react-i18next' @@ -78,7 +78,7 @@ const PopupContainer: React.FC = ({ provider, resolve }) => { } const getInitials = () => { - return name.charAt(0).toUpperCase() || 'P' + return name.charAt(0) || 'P' } const items = [ @@ -171,7 +171,14 @@ const PopupContainer: React.FC = ({ provider, resolve }) => { onOpenChange={(visible) => { setDropdownOpen(visible) }}> - {logo ? : {getInitials()}} + {logo ? ( + + ) : ( + + {getInitials()} + + )} @@ -236,6 +243,7 @@ const ProviderInitialsLogo = styled.div` transition: opacity 0.3s ease; background-color: var(--color-background-soft); border: 0.5px solid var(--color-border); + color: white; &:hover { opacity: 0.8; }