diff options
author | Ilion Beyst <ilion.beyst@gmail.com> | 2022-02-22 18:48:59 +0100 |
---|---|---|
committer | Ilion Beyst <ilion.beyst@gmail.com> | 2022-02-22 18:48:59 +0100 |
commit | 006ce356220c1a089fc468bbfdc0dea819cd9288 (patch) | |
tree | b191563147dfda22a7b3fe4726fc65d81e78e874 /web/pw-server/src/routes/index.svelte | |
parent | 060b585da1d6beb7dc214d1eb70bcd73ac41ed86 (diff) | |
download | planetwars.dev-006ce356220c1a089fc468bbfdc0dea819cd9288.tar.xz planetwars.dev-006ce356220c1a089fc468bbfdc0dea819cd9288.zip |
persist bot code in localstorage
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() { |