From 9d116426f89b73c10e1e40ae61ada7141dab3e2d Mon Sep 17 00:00:00 2001 From: pengx17 Date: Tue, 13 May 2025 06:52:08 +0000 Subject: [PATCH] fix(core): meeting settings issues (#12226) fix AF-2606 ## Summary by CodeRabbit - **New Features** - The "meetings" settings panel is now only visible on macOS when using the Electron build. - The "Meetings Settings..." menu item in the recording menu appears only when recording functionality is available. - **Style** - Improved the subtitle formatting in the meetings settings panel for clearer visual separation and enhanced readability. --- .../apps/electron/src/main/tray/index.ts | 20 ++++++++++--------- .../dialogs/setting/general-setting/index.tsx | 16 ++++++++------- .../general-setting/meetings/index.tsx | 8 ++++---- 3 files changed, 24 insertions(+), 20 deletions(-) diff --git a/packages/frontend/apps/electron/src/main/tray/index.ts b/packages/frontend/apps/electron/src/main/tray/index.ts index 4fd05748f..40296e3ce 100644 --- a/packages/frontend/apps/electron/src/main/tray/index.ts +++ b/packages/frontend/apps/electron/src/main/tray/index.ts @@ -220,15 +220,17 @@ class TrayState implements Disposable { ); } } - items.push({ - label: `Meetings Settings...`, - click: () => { - showMainWindow(); - applicationMenuSubjects.openInSettingModal$.next({ - activeTab: 'meetings', - }); - }, - }); + if (checkRecordingAvailable()) { + items.push({ + label: `Meetings Settings...`, + click: () => { + showMainWindow(); + applicationMenuSubjects.openInSettingModal$.next({ + activeTab: 'meetings', + }); + }, + }); + } return items; }; diff --git a/packages/frontend/core/src/desktop/dialogs/setting/general-setting/index.tsx b/packages/frontend/core/src/desktop/dialogs/setting/general-setting/index.tsx index 7518ea09c..33547ac77 100644 --- a/packages/frontend/core/src/desktop/dialogs/setting/general-setting/index.tsx +++ b/packages/frontend/core/src/desktop/dialogs/setting/general-setting/index.tsx @@ -95,13 +95,15 @@ export const useGeneralSettingList = (): GeneralSettingList => { }); } - settings.push({ - key: 'meetings', - title: t['com.affine.settings.meetings'](), - icon: , - testId: 'meetings-panel-trigger', - beta: !meetingSettings?.enabled, - }); + if (environment.isMacOs && BUILD_CONFIG.isElectron) { + settings.push({ + key: 'meetings', + title: t['com.affine.settings.meetings'](), + icon: , + testId: 'meetings-panel-trigger', + beta: !meetingSettings?.enabled, + }); + } if (hasPaymentFeature) { settings.splice(4, 0, { diff --git a/packages/frontend/core/src/desktop/dialogs/setting/general-setting/meetings/index.tsx b/packages/frontend/core/src/desktop/dialogs/setting/general-setting/meetings/index.tsx index 59906d3ac..bae5bec61 100644 --- a/packages/frontend/core/src/desktop/dialogs/setting/general-setting/meetings/index.tsx +++ b/packages/frontend/core/src/desktop/dialogs/setting/general-setting/meetings/index.tsx @@ -201,16 +201,16 @@ const MeetingsSettingsMain = () => { beta title={t['com.affine.settings.meetings']()} subtitle={ - t['com.affine.settings.meetings.setting.prompt']() + - '\n' + - ( + <> + {t['com.affine.settings.meetings.setting.prompt']()} +
, }} /> - ) + } />