From 795cfd471a206c660c51f735113c25016ccaa7c0 Mon Sep 17 00:00:00 2001 From: t0ng7u Date: Mon, 18 Aug 2025 02:44:53 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=A8=20refactor:=20UserInfoHeader=20lay?= =?UTF-8?q?out=20and=20styling?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Restructure avatar-name-tags layout to left-right alignment - Avatar positioned on the left - Name aligned to avatar top, tags aligned to avatar bottom - Remove margin-top usage in favor of flexbox justify-between - Simplify desktop statistics cards to single-line layout - Format as "icon + label: value" without stacked layout - Remove custom color classes for cleaner styling - Update UI component styling - Increase tag size from small to large - Reduce cover height from responsive to fixed 32 - Add Badge import for future enhancements - Clean up icon and text color classes - Maintain responsive behavior and accessibility --- web/public/cover-4.webp | Bin 0 -> 54144 bytes .../personal/components/UserInfoHeader.js | 228 +++++++++--------- 2 files changed, 117 insertions(+), 111 deletions(-) create mode 100644 web/public/cover-4.webp diff --git a/web/public/cover-4.webp b/web/public/cover-4.webp new file mode 100644 index 0000000000000000000000000000000000000000..0e9ecbf0d206c6b1079cc82691beecfb1ae73970 GIT binary patch literal 54144 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 literal 0 HcmV?d00001 diff --git a/web/src/components/settings/personal/components/UserInfoHeader.js b/web/src/components/settings/personal/components/UserInfoHeader.js index 9a1b10db..4ecbc68e 100644 --- a/web/src/components/settings/personal/components/UserInfoHeader.js +++ b/web/src/components/settings/personal/components/UserInfoHeader.js @@ -18,7 +18,7 @@ For commercial licensing, please contact support@quantumnous.com */ import React from 'react'; -import { Avatar, Card, Tag, Divider, Typography } from '@douyinfe/semi-ui'; +import { Avatar, Card, Tag, Divider, Typography, Badge } from '@douyinfe/semi-ui'; import { isRoot, isAdmin, renderQuota, stringToColor } from '../../../../helpers'; import { Coins, BarChart2, Users } from 'lucide-react'; @@ -35,137 +35,143 @@ const UserInfoHeader = ({ t, userState }) => { const getAvatarText = () => { const username = getUsername(); if (username && username.length > 0) { - // 获取前两个字符,支持中文和英文 return username.slice(0, 2).toUpperCase(); } return 'NA'; }; return ( - -

-
-
- - {getAvatarText()} - -
-
- {getUsername()} -
-
- {isRoot() ? ( - - {t('超级管理员')} - - ) : isAdmin() ? ( - - {t('管理员')} - - ) : ( - - {t('普通用户')} - - )} - + {/* 用户信息内容 */} +
+
+
+ - ID: {userState?.user?.id} - + {getAvatarText()} + +
+
{getUsername()}
+
+ {isRoot() ? ( + + {t('超级管理员')} + + ) : isAdmin() ? ( + + {t('管理员')} + + ) : ( + + {t('普通用户')} + + )} + + ID: {userState?.user?.id} + +
+
- - {/* 右上角统计信息(Semi UI 卡片) */} -
- -
-
- -
- {t('历史消耗')} -
{renderQuota(userState?.user?.used_quota)}
-
-
- -
- -
- {t('请求次数')} -
{userState.user?.request_count || 0}
-
-
- -
- -
- {t('用户分组')} -
{userState?.user?.group || t('默认')}
-
-
-
-
-
- -
-
- {t('当前余额')} -
-
+ } + > + {/* 当前余额和桌面版统计信息 */} +
+ {/* 当前余额显示 */} + +
{renderQuota(userState?.user?.quota)}
-
+ - {/* 移动端统计信息卡片(仅 xs 可见) */} -
- -
-
-
- - {t('历史消耗')} -
-
{renderQuota(userState?.user?.used_quota)}
+ {/* 桌面版统计信息(Semi UI 卡片) */} +
+ +
+
+ + {t('历史消耗')} + {renderQuota(userState?.user?.used_quota)}
- -
-
- - {t('请求次数')} -
-
{userState.user?.request_count || 0}
+ +
+ + {t('请求次数')} + {userState.user?.request_count || 0}
- -
-
- - {t('用户分组')} -
-
{userState?.user?.group || t('默认')}
+ +
+ + {t('用户分组')} + {userState?.user?.group || t('默认')}
+ + {/* 移动端和中等屏幕统计信息卡片 */} +
+ +
+
+
+ + {t('历史消耗')} +
+ {renderQuota(userState?.user?.used_quota)} +
+ +
+
+ + {t('请求次数')} +
+ {userState.user?.request_count || 0} +
+ +
+
+ + {t('用户分组')} +
+ {userState?.user?.group || t('默认')} +
+
+
+
); };