From 5afe11e55bd9dcead3fd7a73d96acaba0f9c4f79 Mon Sep 17 00:00:00 2001 From: Slinetrac Date: Sat, 20 Dec 2025 16:08:07 +0800 Subject: [PATCH] fix(monaco): disable MUI Dialog focus enforcement for Monaco editor #5885 Closes #5885 --- Changelog.md | 1 + src/components/base/base-dialog.tsx | 8 +++++++- src/components/profile/editor-viewer.tsx | 8 +++++++- src/components/profile/groups-editor-viewer.tsx | 8 +++++++- src/components/profile/proxies-editor-viewer.tsx | 8 +++++++- src/components/profile/rules-editor-viewer.tsx | 8 +++++++- src/components/setting/mods/dns-viewer.tsx | 1 + 7 files changed, 37 insertions(+), 5 deletions(-) diff --git a/Changelog.md b/Changelog.md index 3daa89fad..f32e0558b 100644 --- a/Changelog.md +++ b/Changelog.md @@ -3,6 +3,7 @@ ### 🐞 修复问题 - 修复 macOS 有线网络 DNS 劫持失败 +- 修复 Monaco 编辑器内右键菜单显示异常
✨ 新增功能 diff --git a/src/components/base/base-dialog.tsx b/src/components/base/base-dialog.tsx index 6b6648fce..4aa4483c7 100644 --- a/src/components/base/base-dialog.tsx +++ b/src/components/base/base-dialog.tsx @@ -15,6 +15,7 @@ interface Props { open: boolean; okBtn?: ReactNode; cancelBtn?: ReactNode; + disableEnforceFocus?: boolean; disableOk?: boolean; disableCancel?: boolean; disableFooter?: boolean; @@ -37,6 +38,7 @@ export const BaseDialog: React.FC = ({ children, okBtn, cancelBtn, + disableEnforceFocus, contentSx, disableCancel, disableOk, @@ -47,7 +49,11 @@ export const BaseDialog: React.FC = ({ onClose, }) => { return ( - + {title} {children} diff --git a/src/components/profile/editor-viewer.tsx b/src/components/profile/editor-viewer.tsx index a6d834f7f..99d645121 100644 --- a/src/components/profile/editor-viewer.tsx +++ b/src/components/profile/editor-viewer.tsx @@ -382,7 +382,13 @@ export const EditorViewer = (props: Props) => { }, []); return ( - + {resolvedTitle} { }); return ( - + { diff --git a/src/components/profile/proxies-editor-viewer.tsx b/src/components/profile/proxies-editor-viewer.tsx index a44529e92..b4a6332a3 100644 --- a/src/components/profile/proxies-editor-viewer.tsx +++ b/src/components/profile/proxies-editor-viewer.tsx @@ -272,7 +272,13 @@ export const ProxiesEditorViewer = (props: Props) => { }); return ( - + { diff --git a/src/components/profile/rules-editor-viewer.tsx b/src/components/profile/rules-editor-viewer.tsx index 861e5a9cf..d0e56d322 100644 --- a/src/components/profile/rules-editor-viewer.tsx +++ b/src/components/profile/rules-editor-viewer.tsx @@ -506,7 +506,13 @@ export const RulesEditorViewer = (props: Props) => { }); return ( - + { diff --git a/src/components/setting/mods/dns-viewer.tsx b/src/components/setting/mods/dns-viewer.tsx index 650bae8f0..217abbddb 100644 --- a/src/components/setting/mods/dns-viewer.tsx +++ b/src/components/setting/mods/dns-viewer.tsx @@ -612,6 +612,7 @@ export function DnsViewer({ ref }: { ref?: Ref }) { return ( {t("settings.modals.dns.dialog.title")}