diff --git a/package.json b/package.json index 741e03a2..ec779ea2 100644 --- a/package.json +++ b/package.json @@ -87,6 +87,7 @@ "js-base64": "3.7.7", "lodash-es": "^4.17.21", "mermaid": "^11.3.0", + "mode-watcher": "^0.5.1", "monaco-editor": "0.52.2", "pako": "2.1.0", "plausible-tracker": "^0.3.8", diff --git a/src/lib/components/Editor.svelte b/src/lib/components/Editor.svelte index 8412d6a6..ff9ca6fd 100644 --- a/src/lib/components/Editor.svelte +++ b/src/lib/components/Editor.svelte @@ -13,8 +13,8 @@ import { sanitizeText } from '$lib/util/sanitize'; import { stateStore, updateCode, updateConfig } from '$lib/util/state'; import { logEvent } from '$lib/util/stats'; - import { themeStore } from '$lib/util/theme'; import { errorDebug, syncDiagram } from '$lib/util/util'; + import { mode } from 'mode-watcher'; import * as monaco from 'monaco-editor'; import monacoEditorWorker from 'monaco-editor/esm/vs/editor/editor.worker?worker'; import monacoJsonWorker from 'monaco-editor/esm/vs/language/json/json.worker?worker'; @@ -61,8 +61,8 @@ monaco.editor.setModelMarkers(model, 'mermaid', errorMarkers); }); - themeStore.subscribe(({ isDark }) => { - editor && monaco.editor.setTheme(isDark ? 'mermaid-dark' : 'mermaid'); + mode.subscribe((mode) => { + editor && monaco.editor.setTheme(mode === 'dark' ? 'mermaid-dark' : 'mermaid'); }); const handleUpdate = (text: string, mode: EditorMode) => { @@ -110,7 +110,7 @@ }); } }); - monaco.editor.setTheme($themeStore.isDark ? 'mermaid-dark' : 'mermaid'); + monaco.editor.setTheme($mode === 'dark' ? 'mermaid-dark' : 'mermaid'); const resizeObserver = new ResizeObserver((entries) => { editor?.layout({ height: entries[0].contentRect.height, diff --git a/src/lib/components/Navbar.svelte b/src/lib/components/Navbar.svelte index c984dc6d..99c4e78c 100644 --- a/src/lib/components/Navbar.svelte +++ b/src/lib/components/Navbar.svelte @@ -14,6 +14,7 @@ import { dismissPromotion, getActivePromotion } from '$lib/util/promos/promo'; import { stateStore } from '$lib/util/state'; import { MCBaseURL } from '$lib/util/util'; + import { toggleMode } from 'mode-watcher'; import type { ComponentProps } from 'svelte'; import DropdownNavMenu from './DropdownNavMenu.svelte'; @@ -84,7 +85,7 @@ {/if} -