From 8a59c67e08e6be791bc3e86bb50b64ed69e77308 Mon Sep 17 00:00:00 2001 From: mahoo12138 Date: Fri, 10 Nov 2023 15:07:32 +0800 Subject: [PATCH 1/2] feat: add editor auto focus perference --- web/src/components/MemoEditor/index.tsx | 3 +++ web/src/components/Settings/PreferencesSection.tsx | 9 +++++++++ web/src/locales/en.json | 3 ++- web/src/locales/zh-Hans.json | 1 + web/src/store/module/user.ts | 1 + web/src/types/modules/setting.d.ts | 1 + 6 files changed, 17 insertions(+), 1 deletion(-) diff --git a/web/src/components/MemoEditor/index.tsx b/web/src/components/MemoEditor/index.tsx index cfce3f59d6118..02e118ead59cf 100644 --- a/web/src/components/MemoEditor/index.tsx +++ b/web/src/components/MemoEditor/index.tsx @@ -75,6 +75,9 @@ const MemoEditor = (props: Props) => { useEffect(() => { editorRef.current?.setContent(contentCache || ""); + if (user.localSetting.enableEditorAutoFocus) { + handleEditorFocus(); + } }, []); useEffect(() => { diff --git a/web/src/components/Settings/PreferencesSection.tsx b/web/src/components/Settings/PreferencesSection.tsx index 4ab9792b3ed90..a997208b1d72c 100644 --- a/web/src/components/Settings/PreferencesSection.tsx +++ b/web/src/components/Settings/PreferencesSection.tsx @@ -36,6 +36,10 @@ const PreferencesSection = () => { userStore.upsertLocalSetting({ ...localSetting, enableDoubleClickEditing: event.target.checked }); }; + const handleEditorAutoFocusEnabledChanged = (event: React.ChangeEvent) => { + userStore.upsertLocalSetting({ ...localSetting, enableEditorAutoFocus: event.target.checked }); + }; + const handleSaveTelegramUserId = async () => { try { await userStore.upsertUserSetting("telegram-user-id", telegramUserId); @@ -87,6 +91,11 @@ const PreferencesSection = () => { + +
diff --git a/web/src/locales/en.json b/web/src/locales/en.json index 3646e5bf65e4d..bba5eea1b5bcb 100644 --- a/web/src/locales/en.json +++ b/web/src/locales/en.json @@ -186,6 +186,7 @@ "default-resource-visibility": "Default resource visibility", "enable-folding-memo": "Enable folding memo", "enable-double-click": "Enable double-click to edit", + "enable-editor-auto-focus": "Enable editor auto focus", "editor-font-style": "Editor font style", "mobile-editor-style": "Mobile editor style", "default-memo-sort-option": "Memo display time", @@ -373,4 +374,4 @@ "memo-comment": "{{user}} has a comment on your {{memo}}.", "version-update": "New version {{version}} is available now!" } -} +} \ No newline at end of file diff --git a/web/src/locales/zh-Hans.json b/web/src/locales/zh-Hans.json index bf30a0b894d5a..fe25b43c03d39 100644 --- a/web/src/locales/zh-Hans.json +++ b/web/src/locales/zh-Hans.json @@ -262,6 +262,7 @@ "default-resource-visibility": "默认资源可见性", "editor-font-style": "编辑器字体样式", "enable-double-click": "开启双击编辑", + "enable-editor-auto-focus": "开启编辑器自动聚焦", "enable-folding-memo": "开启折叠备忘录", "mobile-editor-style": "移动端编辑器样式", "telegram-user-id": "Telegram UserID", diff --git a/web/src/store/module/user.ts b/web/src/store/module/user.ts index f4ad3e3d86828..5f550c938ad7a 100644 --- a/web/src/store/module/user.ts +++ b/web/src/store/module/user.ts @@ -15,6 +15,7 @@ const defaultSetting: Setting = { const defaultLocalSetting: LocalSetting = { enableDoubleClickEditing: false, + enableEditorAutoFocus: true, }; export const convertResponseModelUser = (user: User): User => { diff --git a/web/src/types/modules/setting.d.ts b/web/src/types/modules/setting.d.ts index 0254240015afd..197f7b89864e4 100644 --- a/web/src/types/modules/setting.d.ts +++ b/web/src/types/modules/setting.d.ts @@ -13,6 +13,7 @@ interface Setting { interface LocalSetting { enableDoubleClickEditing: boolean; + enableEditorAutoFocus: boolean; } interface UserLocaleSetting { From d8e48ee3f912811873caf5f955b7a1df676cd36a Mon Sep 17 00:00:00 2001 From: mahoo12138 Date: Mon, 13 Nov 2023 13:48:18 +0800 Subject: [PATCH 2/2] feat: set editor auto focus --- web/src/components/MemoEditor/index.tsx | 4 +--- web/src/components/Settings/PreferencesSection.tsx | 9 --------- web/src/locales/en.json | 3 +-- web/src/locales/zh-Hans.json | 1 - web/src/store/module/user.ts | 1 - web/src/types/modules/setting.d.ts | 1 - 6 files changed, 2 insertions(+), 17 deletions(-) diff --git a/web/src/components/MemoEditor/index.tsx b/web/src/components/MemoEditor/index.tsx index 02e118ead59cf..768bf47148def 100644 --- a/web/src/components/MemoEditor/index.tsx +++ b/web/src/components/MemoEditor/index.tsx @@ -75,9 +75,7 @@ const MemoEditor = (props: Props) => { useEffect(() => { editorRef.current?.setContent(contentCache || ""); - if (user.localSetting.enableEditorAutoFocus) { - handleEditorFocus(); - } + handleEditorFocus(); }, []); useEffect(() => { diff --git a/web/src/components/Settings/PreferencesSection.tsx b/web/src/components/Settings/PreferencesSection.tsx index a997208b1d72c..4ab9792b3ed90 100644 --- a/web/src/components/Settings/PreferencesSection.tsx +++ b/web/src/components/Settings/PreferencesSection.tsx @@ -36,10 +36,6 @@ const PreferencesSection = () => { userStore.upsertLocalSetting({ ...localSetting, enableDoubleClickEditing: event.target.checked }); }; - const handleEditorAutoFocusEnabledChanged = (event: React.ChangeEvent) => { - userStore.upsertLocalSetting({ ...localSetting, enableEditorAutoFocus: event.target.checked }); - }; - const handleSaveTelegramUserId = async () => { try { await userStore.upsertUserSetting("telegram-user-id", telegramUserId); @@ -91,11 +87,6 @@ const PreferencesSection = () => { - -
diff --git a/web/src/locales/en.json b/web/src/locales/en.json index bba5eea1b5bcb..3646e5bf65e4d 100644 --- a/web/src/locales/en.json +++ b/web/src/locales/en.json @@ -186,7 +186,6 @@ "default-resource-visibility": "Default resource visibility", "enable-folding-memo": "Enable folding memo", "enable-double-click": "Enable double-click to edit", - "enable-editor-auto-focus": "Enable editor auto focus", "editor-font-style": "Editor font style", "mobile-editor-style": "Mobile editor style", "default-memo-sort-option": "Memo display time", @@ -374,4 +373,4 @@ "memo-comment": "{{user}} has a comment on your {{memo}}.", "version-update": "New version {{version}} is available now!" } -} \ No newline at end of file +} diff --git a/web/src/locales/zh-Hans.json b/web/src/locales/zh-Hans.json index fe25b43c03d39..bf30a0b894d5a 100644 --- a/web/src/locales/zh-Hans.json +++ b/web/src/locales/zh-Hans.json @@ -262,7 +262,6 @@ "default-resource-visibility": "默认资源可见性", "editor-font-style": "编辑器字体样式", "enable-double-click": "开启双击编辑", - "enable-editor-auto-focus": "开启编辑器自动聚焦", "enable-folding-memo": "开启折叠备忘录", "mobile-editor-style": "移动端编辑器样式", "telegram-user-id": "Telegram UserID", diff --git a/web/src/store/module/user.ts b/web/src/store/module/user.ts index 5f550c938ad7a..f4ad3e3d86828 100644 --- a/web/src/store/module/user.ts +++ b/web/src/store/module/user.ts @@ -15,7 +15,6 @@ const defaultSetting: Setting = { const defaultLocalSetting: LocalSetting = { enableDoubleClickEditing: false, - enableEditorAutoFocus: true, }; export const convertResponseModelUser = (user: User): User => { diff --git a/web/src/types/modules/setting.d.ts b/web/src/types/modules/setting.d.ts index 197f7b89864e4..0254240015afd 100644 --- a/web/src/types/modules/setting.d.ts +++ b/web/src/types/modules/setting.d.ts @@ -13,7 +13,6 @@ interface Setting { interface LocalSetting { enableDoubleClickEditing: boolean; - enableEditorAutoFocus: boolean; } interface UserLocaleSetting {