From 9b3e2f279f110f24a91cd23d7d64cbc7fcdf3d05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BE=B7=E5=AE=87?= Date: Fri, 17 Jul 2026 14:04:24 +0800 Subject: [PATCH] auto close menus on open guide --- apps/ai-game-creator-shell/src/view/layout.tsx | 8 ++++++-- apps/ai-game-creator-shell/tests/appSurface.test.ts | 6 ++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/apps/ai-game-creator-shell/src/view/layout.tsx b/apps/ai-game-creator-shell/src/view/layout.tsx index a780b1fea..296658c6d 100644 --- a/apps/ai-game-creator-shell/src/view/layout.tsx +++ b/apps/ai-game-creator-shell/src/view/layout.tsx @@ -168,7 +168,10 @@ function SidebarAccountMenu({ role="menuitem" className={sidebarMenuItemClass} onClick={ - () => showNotice('使用指南') + () =>{ + onClose(); + showNotice('使用指南'); + } // TODO doc is not ready } > @@ -326,7 +329,8 @@ export function Sidebar({ title="帮助" className={sidebarHelpButtonClass} onClick={() => { - onNoticeRequest('使用指南'); + closeMenus(); + onNoticeRequest('使用指南'); // TODO open the guide // TODO doc is not ready }} diff --git a/apps/ai-game-creator-shell/tests/appSurface.test.ts b/apps/ai-game-creator-shell/tests/appSurface.test.ts index d113f5705..845a2ba89 100644 --- a/apps/ai-game-creator-shell/tests/appSurface.test.ts +++ b/apps/ai-game-creator-shell/tests/appSurface.test.ts @@ -1782,6 +1782,12 @@ describe('AI 游戏创作 App 界面边界', () => { expect(screen.getByRole('menuitem', { name: '使用指南' })).not.toBeNull(); expect(screen.getByRole('menuitem', { name: '反馈联系' })).not.toBeNull(); expect(screen.getByRole('menuitem', { name: '退出登录' })).not.toBeNull(); + fireEvent.click(screen.getByRole('button', { name: '帮助' })); + expect(screen.queryByRole('menuitem', { name: '使用指南' })).toBeNull(); + expect(screen.getByRole('dialog', { name: '使用指南' })).not.toBeNull(); + fireEvent.click(screen.getByRole('button', { name: '知道了' })); + + fireEvent.click(screen.getByRole('button', { name: '我的' })); fireEvent.pointerDown(screen.getByLabelText('首页输入')); expect(screen.queryByRole('menuitem', { name: '使用指南' })).toBeNull(); fireEvent.click(screen.getByRole('button', { name: '我的' }));