<script lang="ts"> import { identity } from "svelte/internal"; import { gameFactsStore } from "./gameFacts"; import { GameStateServerClient } from "./gameStateServerClient"; import type { GameState } from "./types"; export let gameStateServerBaseUrl: string; $: gameStateServerClient = new GameStateServerClient(gameStateServerBaseUrl); let pretixOrderCode: string = "XXXYYY"; async function handleSaveGameState(): Promise<void> { const gameState: GameState = { gameFacts: $gameFactsStore, }; gameStateServerClient.saveState(pretixOrderCode, gameState); } async function handleLoadGameState(): Promise<void> { const newGameState = await gameStateServerClient.loadState(pretixOrderCode); $gameFactsStore = newGameState.gameFacts; } </script> <div> <input type="text" placeholder="Your Pretix order code" maxlength="5" minlength="5" bind:value={pretixOrderCode} /> <button style="width: 10rem;" on:click|preventDefault={handleSaveGameState}> 💾 Save game </button> <button style="width: 10rem;" on:click|preventDefault={handleLoadGameState}> ▶️ Load game </button> </div> <style> div { border: 1px solid; padding: 10px; padding-bottom: 0px; margin: 5px; } </style>