From 9c69846e6ce09fbb1356fa8abad7131123fe2131 Mon Sep 17 00:00:00 2001 From: huyan Date: Sun, 20 Sep 2026 01:11:53 +0800 Subject: [PATCH 1/4] feat(account): replace default avatar with witch artwork The account surfaces repeated the Windup bird mark as the user avatar. Use the approved low-pixel witch asset in the header menu and profile page, with matching asset assertions. The brand mark remains unchanged while both default avatar placements share one source. --- frontend/src/app/layout/app-header.test.tsx | 4 ++++ frontend/src/app/layout/app-header.tsx | 7 +++++-- .../account/avatars/windup-witch-avatar.png | Bin 0 -> 849376 bytes frontend/src/pages/account/index.test.tsx | 6 ++++-- frontend/src/pages/account/index.tsx | 8 +++++--- 5 files changed, 18 insertions(+), 7 deletions(-) create mode 100644 frontend/src/assets/account/avatars/windup-witch-avatar.png diff --git a/frontend/src/app/layout/app-header.test.tsx b/frontend/src/app/layout/app-header.test.tsx index 5cbf91e5..90bb2a92 100644 --- a/frontend/src/app/layout/app-header.test.tsx +++ b/frontend/src/app/layout/app-header.test.tsx @@ -6,6 +6,7 @@ import { MemoryRouter, Route, Routes, useLocation } from 'react-router' import type { AuthTokens, CreditAccount, QuotaApis, UserApis } from '@/entities' import { forgetActiveRun, rememberActiveRun } from '@/features/active-run' import { AuthSessionProvider } from '@/features/auth-session' +import defaultAccountAvatar from '@/assets/account/avatars/windup-witch-avatar.png' import { AppHeader } from './app-header' const user = { @@ -484,6 +485,9 @@ describe('AppHeader', () => { expect( within(accountMenu).getByTestId('default-account-avatar').getAttribute('aria-hidden'), ).toBe('true') + expect(within(accountMenu).getByTestId('default-account-avatar').getAttribute('src')).toBe( + defaultAccountAvatar, + ) }) it('账号菜单在点击外部或按 Escape 时关闭', async () => { diff --git a/frontend/src/app/layout/app-header.tsx b/frontend/src/app/layout/app-header.tsx index 0e178c56..2dcb67a5 100644 --- a/frontend/src/app/layout/app-header.tsx +++ b/frontend/src/app/layout/app-header.tsx @@ -2,6 +2,7 @@ import { WindupMark } from '@/shared/ui/windup-mark' import { useEffect, useRef, useState } from 'react' import { Link, useLocation, useNavigate } from 'react-router' +import defaultAccountAvatar from '@/assets/account/avatars/windup-witch-avatar.png' import { quotaApis as defaultQuotaApis } from '@/entities' import type { QuotaApis } from '@/entities' import { readActiveRun, subscribeActiveRun } from '@/features/active-run' @@ -432,11 +433,13 @@ export function AppHeader({ accountMenu.expanded ? 'scale-110' : 'scale-100' }`} > -