From 85ea0706322ddd937937cf4246cf2eec433ff821 Mon Sep 17 00:00:00 2001 From: Kai Vogelgesang Date: Thu, 29 Dec 2022 14:26:27 +0100 Subject: [PATCH] Make code persistent --- webserial/src/editor/Monaco.svelte | 19 +++++++++++++++++++ webserial/src/editor/code.ts | 6 +++++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/webserial/src/editor/Monaco.svelte b/webserial/src/editor/Monaco.svelte index 686349c..77891c4 100644 --- a/webserial/src/editor/Monaco.svelte +++ b/webserial/src/editor/Monaco.svelte @@ -3,6 +3,7 @@ import { onMount } from "svelte"; import editorWorker from "monaco-editor/esm/vs/editor/editor.worker?worker"; import tsWorker from "monaco-editor/esm/vs/language/typescript/ts.worker?worker"; + import defaultCode from "./defaultCode.ts?raw"; import defaultEnv from "./defaultEnv.d.ts?raw"; import { code } from "./code"; @@ -38,8 +39,26 @@ editor.dispose(); }; }); + + function resetCode() { + $code = defaultCode; + editor.setValue($code); + } +
diff --git a/webserial/src/editor/code.ts b/webserial/src/editor/code.ts index ae09ad1..258aadf 100644 --- a/webserial/src/editor/code.ts +++ b/webserial/src/editor/code.ts @@ -1,5 +1,9 @@ import { writable } from "svelte/store"; import defaultCode from "./defaultCode.ts?raw"; +const stored = localStorage.getItem("dmxCode") || defaultCode; + /** the TypeScript code as seen in the editor */ -export const code = writable(defaultCode); \ No newline at end of file +export const code = writable(stored); + +code.subscribe((value) => localStorage.setItem("dmxCode", value)) \ No newline at end of file