From e94ef818b8a74e4711b79affc6ae380847fb1ced Mon Sep 17 00:00:00 2001
From: David <33458145+davidmcpowell@users.noreply.github.com>
Date: Wed, 27 Aug 2025 15:04:45 +0100
Subject: [PATCH] Merge pull request #28114 from overleaf/dp-spell-check-link
Fix spell check link in right click menu to always open settings modal in the right place
GitOrigin-RevId: dc5172211e2ed7db52f1f0d51503187aa3d7c178
---
.../appearance-settings.tsx | 18 --
.../compiler-settings/compiler-settings.tsx | 22 --
.../editor-settings/editor-settings.tsx | 42 ---
.../components/settings/setting.tsx | 2 +-
.../settings/settings-modal-body.tsx | 43 +--
.../components/settings/settings-modal.tsx | 71 ++---
.../components/settings/settings-tab-pane.tsx | 19 ++
.../contexts/settings-modal-context.tsx | 289 ++++++++++++++++++
.../hooks/use-focus-on-setting.tsx | 56 ++++
9 files changed, 395 insertions(+), 167 deletions(-)
delete mode 100644 services/web/frontend/js/features/ide-redesign/components/settings/appearance-settings/appearance-settings.tsx
delete mode 100644 services/web/frontend/js/features/ide-redesign/components/settings/compiler-settings/compiler-settings.tsx
delete mode 100644 services/web/frontend/js/features/ide-redesign/components/settings/editor-settings/editor-settings.tsx
create mode 100644 services/web/frontend/js/features/ide-redesign/components/settings/settings-tab-pane.tsx
create mode 100644 services/web/frontend/js/features/ide-redesign/contexts/settings-modal-context.tsx
create mode 100644 services/web/frontend/js/features/ide-redesign/hooks/use-focus-on-setting.tsx
diff --git a/services/web/frontend/js/features/ide-redesign/components/settings/appearance-settings/appearance-settings.tsx b/services/web/frontend/js/features/ide-redesign/components/settings/appearance-settings/appearance-settings.tsx
deleted file mode 100644
index 3bf26221c8..0000000000
--- a/services/web/frontend/js/features/ide-redesign/components/settings/appearance-settings/appearance-settings.tsx
+++ /dev/null
@@ -1,18 +0,0 @@
-import SettingsSection from '../settings-section'
-import OverallThemeSetting from '../appearance-settings/overall-theme-setting'
-import EditorThemeSetting from './editor-theme-setting'
-import FontSizeSetting from './font-size-setting'
-import FontFamilySetting from './font-family-setting'
-import LineHeightSetting from './line-height-setting'
-
-export default function AppearanceSettings() {
- return (
-
-
-
-
-
-
-
- )
-}
diff --git a/services/web/frontend/js/features/ide-redesign/components/settings/compiler-settings/compiler-settings.tsx b/services/web/frontend/js/features/ide-redesign/components/settings/compiler-settings/compiler-settings.tsx
deleted file mode 100644
index 80c0835478..0000000000
--- a/services/web/frontend/js/features/ide-redesign/components/settings/compiler-settings/compiler-settings.tsx
+++ /dev/null
@@ -1,22 +0,0 @@
-import SettingsSection from '../settings-section'
-import AutoCompileSetting from './auto-compile-setting'
-import CompilerSetting from './compiler-setting'
-import DraftSetting from './draft-setting'
-import ImageNameSetting from './image-name-setting'
-import RootDocumentSetting from './root-document-setting'
-import StopOnFirstErrorSetting from './stop-on-first-error-setting'
-
-export default function CompilerSettings() {
- return (
- <>
-
-
-
-
-
-
-
-
- >
- )
-}
diff --git a/services/web/frontend/js/features/ide-redesign/components/settings/editor-settings/editor-settings.tsx b/services/web/frontend/js/features/ide-redesign/components/settings/editor-settings/editor-settings.tsx
deleted file mode 100644
index a58b0c101e..0000000000
--- a/services/web/frontend/js/features/ide-redesign/components/settings/editor-settings/editor-settings.tsx
+++ /dev/null
@@ -1,42 +0,0 @@
-import AutoCompleteSetting from './auto-complete-setting'
-import CodeCheckSetting from './code-check-setting'
-import AutoCloseBracketsSetting from './auto-close-brackets-setting'
-import SettingsSection from '../settings-section'
-import MathPreviewSetting from './math-preview-setting'
-import { useTranslation } from 'react-i18next'
-import KeybindingSetting from './keybinding-setting'
-import PDFViewerSetting from './pdf-viewer-setting'
-import SpellCheckSetting from './spell-check-setting'
-import DictionarySetting from './dictionary-setting'
-import importOverleafModules from '../../../../../../macros/import-overleaf-module.macro'
-import BreadcrumbsSetting from './breadcrumbs-setting'
-
-const [referenceSearchSettingModule] = importOverleafModules(
- 'referenceSearchSetting'
-)
-const ReferenceSearchSetting = referenceSearchSettingModule?.import.default
-
-export default function EditorSettings() {
- const { t } = useTranslation()
-
- return (
- <>
-
-
-
-
-
-
- {ReferenceSearchSetting && }
-
-
-
-
-
-
-
-
-
- >
- )
-}
diff --git a/services/web/frontend/js/features/ide-redesign/components/settings/setting.tsx b/services/web/frontend/js/features/ide-redesign/components/settings/setting.tsx
index 80860ec945..cf240737ce 100644
--- a/services/web/frontend/js/features/ide-redesign/components/settings/setting.tsx
+++ b/services/web/frontend/js/features/ide-redesign/components/settings/setting.tsx
@@ -10,7 +10,7 @@ export default function Setting({
children: React.ReactNode
}) {
return (
-
+