diff options
Diffstat (limited to 'web/pw-server/src/routes/index.svelte')
-rw-r--r-- | web/pw-server/src/routes/index.svelte | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/web/pw-server/src/routes/index.svelte b/web/pw-server/src/routes/index.svelte index 56cb6f4..59552bc 100644 --- a/web/pw-server/src/routes/index.svelte +++ b/web/pw-server/src/routes/index.svelte @@ -9,8 +9,8 @@ import type { Ace } from "ace-builds"; import ace from "ace-builds/src-noconflict/ace?client"; import * as AcePythonMode from "ace-builds/src-noconflict/mode-python?client"; - - import defaultBotCode from "../assets/bot_template.txt?raw"; + import { getBotCode, saveBotCode } from "$lib/bot_code"; + import { debounce } from "$lib/utils"; let matches = []; @@ -24,8 +24,16 @@ }); function init_editor() { - editSession = new ace.EditSession(defaultBotCode); + editSession = new ace.EditSession(getBotCode()); editSession.setMode(new AcePythonMode.Mode()); + + const saveCode = () => { + const code = editSession.getDocument().getValue(); + saveBotCode(code); + }; + + // cast to any because the type annotations are wrong here + (editSession as any).on("change", debounce(saveCode, 2000)); } async function submitCode() { |