From ae3b13bfb4e9302471b6d92dca9884f211e1f777 Mon Sep 17 00:00:00 2001 From: pengx17 Date: Tue, 3 Sep 2024 11:48:06 +0000 Subject: [PATCH] fix(electron): only the active view should respond to CMD+N (#8068) --- .../src/components/root-app-sidebar/index.tsx | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/frontend/core/src/components/root-app-sidebar/index.tsx b/packages/frontend/core/src/components/root-app-sidebar/index.tsx index 7db22854e7..2c63d68750 100644 --- a/packages/frontend/core/src/components/root-app-sidebar/index.tsx +++ b/packages/frontend/core/src/components/root-app-sidebar/index.tsx @@ -11,7 +11,7 @@ import { import { ExplorerTags } from '@affine/core/modules/explorer/views/sections/tags'; import { CMDKQuickSearchService } from '@affine/core/modules/quicksearch/services/cmdk'; import { isNewTabTrigger } from '@affine/core/utils'; -import { events } from '@affine/electron-api'; +import { apis, events } from '@affine/electron-api'; import { useI18n } from '@affine/i18n'; import type { DocMode } from '@blocksuite/blocks'; import { @@ -122,7 +122,19 @@ export const RootAppSidebar = (): ReactElement => { useEffect(() => { if (environment.isDesktop) { - return events?.applicationMenu.onNewPageAction(() => onClickNewPage()); + return events?.applicationMenu.onNewPageAction(() => { + apis?.ui + .isActiveTab() + .then(isActive => { + if (!isActive) { + return; + } + onClickNewPage(); + }) + .catch(err => { + console.error(err); + }); + }); } return; }, [onClickNewPage]);