feat: 积分流水互转合并展示,并优化个人主页与经济看板

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-09-18 02:37:12 +08:00
parent b3a4b8bb03
commit fa713bfc3f
9 changed files with 1098 additions and 230 deletions

View File

@@ -4,12 +4,15 @@ import { useState } from "react";
import Avatar from "@/components/Avatar";
import ImageLightbox from "@/components/markdown/ImageLightbox";
/** Hero 约 120px 高时的头像边长 */
const AVATAR_SIZE = 72;
const RING_STYLE = {
width: 80,
height: 80,
width: AVATAR_SIZE,
height: AVATAR_SIZE,
lineHeight: 0,
boxShadow:
"0 0 0 4px var(--panel), 0 0 0 6px color-mix(in srgb, var(--accent) 38%, transparent)",
"0 0 0 3px var(--panel), 0 0 0 4.5px color-mix(in srgb, var(--accent) 38%, transparent)",
} as const;
const RING_CLASS =
@@ -38,11 +41,11 @@ export default function ProfileHeroAvatar({
data-tip="查看头像"
onClick={() => setOpen(true)}
>
<Avatar name={name} src={src} size={80} />
<Avatar name={name} src={src} size={AVATAR_SIZE} />
</button>
) : (
<span className={RING_CLASS} style={RING_STYLE}>
<Avatar name={name} src={src} size={80} />
<Avatar name={name} src={src} size={AVATAR_SIZE} />
</span>
)}
{open && src ? (