From 1cde40b45916d1f99a4cda7837b516cde761f127 Mon Sep 17 00:00:00 2001
From: Ilion Beyst <ilion.beyst@gmail.com>
Date: Sun, 2 Jan 2022 17:57:40 +0100
Subject: basic match views

---
 web/pw-server/src/lib/components/Visualizer.svelte | 57 ++++++++++++++++++++++
 1 file changed, 57 insertions(+)
 create mode 100644 web/pw-server/src/lib/components/Visualizer.svelte

(limited to 'web/pw-server/src/lib/components/Visualizer.svelte')

diff --git a/web/pw-server/src/lib/components/Visualizer.svelte b/web/pw-server/src/lib/components/Visualizer.svelte
new file mode 100644
index 0000000..d53eb36
--- /dev/null
+++ b/web/pw-server/src/lib/components/Visualizer.svelte
@@ -0,0 +1,57 @@
+<script lang="ts">
+  import { onMount } from "svelte";
+  import * as visualizer from "pw-visualizer";
+  import init_wasm_module from "planetwars-rs";
+
+  export let matchLog = null;
+
+  let initialized = false;
+
+  onMount(async () => {
+    await init_wasm_module();
+
+    visualizer.init();
+    initialized = true;
+    visualizer.set_loading(false);
+  });
+
+  $: if (initialized) {
+    if (matchLog === null) {
+      visualizer.set_loading(true);
+    } else {
+      visualizer.set_instance(matchLog);
+      visualizer.set_loading(false);
+    }
+  }
+</script>
+
+<div id="main" class="loading">
+  <canvas id="canvas" />
+  <div id="name" />
+  <div id="addbutton" class="button" />
+
+  <div id="meta">
+    <div id="turnCounter">0 / 0</div>
+    <div>
+      <span>Ms per frame:&nbsp;</span>
+      <input type="number" id="speed" value="300" />
+    </div>
+    <div class="slidecontainer">
+      <input type="range" min="0" max="1" value="1" class="slider" id="turnSlider" />
+    </div>
+  </div>
+  <div class="lds-roller">
+    <div />
+    <div />
+    <div />
+    <div />
+    <div />
+    <div />
+    <div />
+    <div />
+  </div>
+</div>
+
+<style scoped>
+  @import "pw-visualizer/src/style.css";
+</style>
-- 
cgit v1.2.3

