From 629aea48df3ca80584497cdf819397c4618774ce Mon Sep 17 00:00:00 2001 From: pengx17 Date: Mon, 3 Mar 2025 03:00:17 +0000 Subject: [PATCH] fix(electron): app menu about action (#10445) fix AF-2268 --- .../apps/electron-renderer/src/app.tsx | 18 ++++++++++++------ .../hooks/use-register-workspace-commands.ts | 6 +++--- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/packages/frontend/apps/electron-renderer/src/app.tsx b/packages/frontend/apps/electron-renderer/src/app.tsx index 8424fbd7bb..234d75d221 100644 --- a/packages/frontend/apps/electron-renderer/src/app.tsx +++ b/packages/frontend/apps/electron-renderer/src/app.tsx @@ -142,12 +142,6 @@ window.addEventListener('unload', () => { .catch(console.error); }); -events?.applicationMenu.openAboutPageInSettingModal(() => - frameworkProvider.get(WorkspaceDialogService).open('setting', { - activeTab: 'about', - }) -); - function getCurrentWorkspace() { const currentWorkspaceId = frameworkProvider .get(GlobalContextService) @@ -167,6 +161,18 @@ function getCurrentWorkspace() { }; } +events?.applicationMenu.openAboutPageInSettingModal(() => { + const currentWorkspace = getCurrentWorkspace(); + if (!currentWorkspace) { + return; + } + const { workspace, dispose } = currentWorkspace; + workspace.scope.get(WorkspaceDialogService).open('setting', { + activeTab: 'about', + }); + dispose(); +}); + events?.applicationMenu.onNewPageAction(type => { const currentWorkspace = getCurrentWorkspace(); if (!currentWorkspace) { diff --git a/packages/frontend/core/src/components/hooks/use-register-workspace-commands.ts b/packages/frontend/core/src/components/hooks/use-register-workspace-commands.ts index 11d14784ec..fc7e183f1a 100644 --- a/packages/frontend/core/src/components/hooks/use-register-workspace-commands.ts +++ b/packages/frontend/core/src/components/hooks/use-register-workspace-commands.ts @@ -60,8 +60,9 @@ export function useRegisterWorkspaceCommands() { const appSidebarService = useService(AppSidebarService); const i18n = useService(I18nService).i18n; - const quitAndInstall = - useServiceOptional(DesktopApiService)?.handler.updater.quitAndInstall; + const desktopApiService = useServiceOptional(DesktopApiService); + + const quitAndInstall = desktopApiService?.handler.updater.quitAndInstall; useEffect(() => { const unsub = registerCMDKCommand(cmdkQuickSearchService); @@ -124,7 +125,6 @@ export function useRegisterWorkspaceCommands() { }; }, [editorSettingService, store, t, theme]); - // register AffineLanguageCommands useEffect(() => { const unsub = registerAffineLanguageCommands({ i18n,