From a65735ff4652c12ad4fc6d60fcda44eb7b59a72f Mon Sep 17 00:00:00 2001 From: yyh Date: Tue, 3 Mar 2026 21:00:00 +0800 Subject: [PATCH] fix(account-dropdown): keep menu open when switching theme --- .../header/account-dropdown/index.spec.tsx | 14 ++++++++++++++ .../components/header/account-dropdown/index.tsx | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/web/app/components/header/account-dropdown/index.spec.tsx b/web/app/components/header/account-dropdown/index.spec.tsx index 60e00868c1..a92f8503ee 100644 --- a/web/app/components/header/account-dropdown/index.spec.tsx +++ b/web/app/components/header/account-dropdown/index.spec.tsx @@ -29,6 +29,10 @@ vi.mock('@/app/components/header/github-star', () => ({ default: () =>
GithubStar
, })) +vi.mock('@/app/components/base/theme-switcher', () => ({ + default: () => , +})) + vi.mock('@/context/app-context', () => ({ useAppContext: vi.fn(), })) @@ -276,6 +280,16 @@ describe('AccountDropdown', () => { // Assert expect(screen.queryByTestId('account-about')).not.toBeInTheDocument() }) + + it('should keep account dropdown open when clicking the theme switcher', () => { + // Act + renderWithRouter() + fireEvent.click(screen.getByRole('button', { name: 'common.account.account' })) + fireEvent.click(screen.getByTestId('theme-switcher-button')) + + // Assert + expect(screen.getByText('common.userProfile.logout')).toBeInTheDocument() + }) }) describe('Branding and Environment', () => { diff --git a/web/app/components/header/account-dropdown/index.tsx b/web/app/components/header/account-dropdown/index.tsx index 4cf1f4efda..c4f1c5699f 100644 --- a/web/app/components/header/account-dropdown/index.tsx +++ b/web/app/components/header/account-dropdown/index.tsx @@ -228,8 +228,8 @@ export default function AppSelector() { )} e.preventDefault()} >