From 2bad82ab81a0c863b7c16c5b3a351e0e2ea33f78 Mon Sep 17 00:00:00 2001 From: undefined Date: Fri, 11 Mar 2022 13:12:09 +0800 Subject: [PATCH] ui: remember last used theme --- packages/ui-default/components/monaco/index.ts | 9 +++++++-- packages/ui-default/package.json | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/ui-default/components/monaco/index.ts b/packages/ui-default/components/monaco/index.ts index 541e0c321..09a1522b6 100644 --- a/packages/ui-default/components/monaco/index.ts +++ b/packages/ui-default/components/monaco/index.ts @@ -9,6 +9,9 @@ import './monaco.styl'; export default monaco; export const customOptions: monaco.editor.IStandaloneDiffEditorConstructionOptions = JSON.parse(localStorage.getItem('editor.config') || '{}'); +export function saveCustomOptions() { + localStorage.setItem('editor.config', JSON.stringify(customOptions)); +} const loaded = {}; async function fetchTheme(id: string, label: string) { @@ -29,7 +32,7 @@ class ChangeThemeAction extends EditorAction { super({ id: 'hydro.changeEditorTheme', label: i18n('Change Theme'), - alias: [i18n('Change Theme'), 'Change Theme'], + alias: 'Change Theme', }); } @@ -55,6 +58,7 @@ class ChangeThemeAction extends EditorAction { } await fetchTheme(selected.command, selected.label); customOptions.theme = selected.command; + saveCustomOptions(); return monaco.editor.setTheme(selected.command); } } @@ -155,11 +159,12 @@ export function registerAction( editor.onDidChangeConfiguration(() => { const current = editor.getOption(monaco.editor.EditorOptions.fontSize.id); customOptions.fontSize = current; - localStorage.setItem('editor.config', JSON.stringify(customOptions)); + saveCustomOptions(); }); if (model.getLanguageId() === 'markdown') { const suggestWidget = (editor.getContribution('editor.contrib.suggestController') as any).widget?.value; if (suggestWidget?._setDetailsVisible) suggestWidget._setDetailsVisible(true); handlePasteEvent(editor); } + return loadThemePromise; } diff --git a/packages/ui-default/package.json b/packages/ui-default/package.json index af634eb0d..0f4baa010 100644 --- a/packages/ui-default/package.json +++ b/packages/ui-default/package.json @@ -1,6 +1,6 @@ { "name": "@hydrooj/ui-default", - "version": "4.33.3", + "version": "4.33.4", "author": "undefined ", "license": "AGPL-3.0", "main": "hydro.js",