diff options
author | Ilion Beyst <ilion.beyst@gmail.com> | 2022-02-23 23:29:14 +0100 |
---|---|---|
committer | Ilion Beyst <ilion.beyst@gmail.com> | 2022-02-23 23:29:14 +0100 |
commit | bfc2263c7ccb44f636d2e7156dd61dd749bc7131 (patch) | |
tree | 2eec42b3c8fde2ae5d9d9b730cb62356ba7cb234 /web/pw-server/src | |
parent | 816b3bfc277dbdde0716fcd8946bb13440d67767 (diff) | |
download | planetwars.dev-bfc2263c7ccb44f636d2e7156dd61dd749bc7131.tar.xz planetwars.dev-bfc2263c7ccb44f636d2e7156dd61dd749bc7131.zip |
show match pane when a match is selected
Diffstat (limited to 'web/pw-server/src')
-rw-r--r-- | web/pw-server/src/lib/components/OutputPane.svelte | 8 | ||||
-rw-r--r-- | web/pw-server/src/lib/components/Visualizer.svelte | 7 | ||||
-rw-r--r-- | web/pw-server/src/routes/index.svelte | 6 |
3 files changed, 15 insertions, 6 deletions
diff --git a/web/pw-server/src/lib/components/OutputPane.svelte b/web/pw-server/src/lib/components/OutputPane.svelte index c72a22e..4123902 100644 --- a/web/pw-server/src/lib/components/OutputPane.svelte +++ b/web/pw-server/src/lib/components/OutputPane.svelte @@ -1,7 +1,11 @@ <script lang="ts"> export let matchLog: string; - function getStdErr(log: string, botId: number): string { + function getStdErr(botId: number, log?: string): string { + if (!log) { + return ""; + } + let output = []; log .split("\n") @@ -15,7 +19,7 @@ return output.join("\n"); } - $: botStdErr = getStdErr(matchLog, 1); + $: botStdErr = getStdErr(1, matchLog); </script> <div class="output"> diff --git a/web/pw-server/src/lib/components/Visualizer.svelte b/web/pw-server/src/lib/components/Visualizer.svelte index 1e8d09f..a1da923 100644 --- a/web/pw-server/src/lib/components/Visualizer.svelte +++ b/web/pw-server/src/lib/components/Visualizer.svelte @@ -1,5 +1,5 @@ <script lang="ts"> - import { onMount } from "svelte"; + import { onDestroy, onMount } from "svelte"; import * as visualizer from "pw-visualizer"; import init_wasm_module from "planetwars-rs"; @@ -15,6 +15,11 @@ visualizer.set_loading(false); }); + onDestroy(() => { + // TODO: do a more thorough cleanup + visualizer.stop(); + }); + $: if (initialized) { if (matchLog === null) { visualizer.set_loading(true); diff --git a/web/pw-server/src/routes/index.svelte b/web/pw-server/src/routes/index.svelte index 1ef5c68..031b60b 100644 --- a/web/pw-server/src/routes/index.svelte +++ b/web/pw-server/src/routes/index.svelte @@ -59,7 +59,7 @@ matches.unshift(matchData); matches = matches; - selectMatch(matchData["id"]); + await selectMatch(matchData["id"]); } async function selectMatch(matchId: string) { @@ -158,14 +158,14 @@ </ul> </div> <div class="editor-container"> - {#if selectedMatchLog} + {#if selectedMatchId} <Visualizer matchLog={selectedMatchLog} /> {:else} <EditorView {editSession} /> {/if} </div> <div class="sidebar-right"> - {#if selectedMatchLog} + {#if selectedMatchId} <OutputPane matchLog={selectedMatchLog} /> {:else} <SubmitPane on:submit={submitCode} /> |