diff options
Diffstat (limited to 'web')
-rw-r--r-- | web/pw-server/src/hooks.js | 10 | ||||
-rw-r--r-- | web/pw-server/src/lib/components/RulesView.svelte | 1 | ||||
-rw-r--r-- | web/pw-server/src/lib/components/navbar/UserControls.svelte | 3 | ||||
-rw-r--r-- | web/pw-server/src/lib/utils.ts | 35 | ||||
-rw-r--r-- | web/pw-server/src/routes/matches/new.svelte | 4 | ||||
-rw-r--r-- | web/pw-server/src/routes/submission_matches/[match_id].svelte | 31 |
6 files changed, 44 insertions, 40 deletions
diff --git a/web/pw-server/src/hooks.js b/web/pw-server/src/hooks.js index c5785ed..7916c84 100644 --- a/web/pw-server/src/hooks.js +++ b/web/pw-server/src/hooks.js @@ -1,8 +1,8 @@ /** @type {import('@sveltejs/kit').Handle} */ export async function handle({ event, resolve }) { - const response = await resolve(event, { - ssr: false, - }); + const response = await resolve(event, { + ssr: false, + }); - return response; -}
\ No newline at end of file + return response; +} diff --git a/web/pw-server/src/lib/components/RulesView.svelte b/web/pw-server/src/lib/components/RulesView.svelte index c3cf125..58e6bf2 100644 --- a/web/pw-server/src/lib/components/RulesView.svelte +++ b/web/pw-server/src/lib/components/RulesView.svelte @@ -64,7 +64,6 @@ padding: 15px; overflow-y: scroll; height: 100%; - margin-bottom: 200px; box-sizing: border-box; } </style> diff --git a/web/pw-server/src/lib/components/navbar/UserControls.svelte b/web/pw-server/src/lib/components/navbar/UserControls.svelte index 3c1d181..0b8413d 100644 --- a/web/pw-server/src/lib/components/navbar/UserControls.svelte +++ b/web/pw-server/src/lib/components/navbar/UserControls.svelte @@ -1,5 +1,5 @@ <script lang="ts"> - import { get_session_token } from "$lib/auth"; + import { get_session_token, clear_session_token } from "$lib/auth"; import { currentUser } from "$lib/stores/current_user"; import { onMount } from "svelte"; @@ -30,6 +30,7 @@ function signOut() { // TODO: destroy session on server currentUser.set(null); + clear_session_token(); } </script> diff --git a/web/pw-server/src/lib/utils.ts b/web/pw-server/src/lib/utils.ts index aab9734..155d952 100644 --- a/web/pw-server/src/lib/utils.ts +++ b/web/pw-server/src/lib/utils.ts @@ -1,3 +1,5 @@ +import { get_session_token } from "./auth"; + export function debounce(func: Function, timeout: number = 300) { let timer: ReturnType<typeof setTimeout>; return (...args: any[]) => { @@ -7,3 +9,36 @@ export function debounce(func: Function, timeout: number = 300) { }, timeout); }; } + +export async function get(url: string, fetch_fn: Function = fetch) { + const headers = { "Content-Type": "application/json" }; + + const token = get_session_token(); + if (token) { + headers["Authorization"] = `Bearer ${token}`; + } + + const response = await fetch_fn(url, { + method: "GET", + headers, + }); + + return JSON.parse(response); +} + +export async function post(url: string, data: any, fetch_fn: Function = fetch) { + const headers = { "Content-Type": "application/json" }; + + const token = get_session_token(); + if (token) { + headers["Authorization"] = `Bearer ${token}`; + } + + const response = await fetch_fn(url, { + method: "POST", + headers, + body: JSON.stringify(data), + }); + + return JSON.parse(response); +} diff --git a/web/pw-server/src/routes/matches/new.svelte b/web/pw-server/src/routes/matches/new.svelte index eed3dbb..ebc0e15 100644 --- a/web/pw-server/src/routes/matches/new.svelte +++ b/web/pw-server/src/routes/matches/new.svelte @@ -28,7 +28,7 @@ <script lang="ts"> import Select from "svelte-select"; -import { goto } from "$app/navigation"; + import { goto } from "$app/navigation"; export let bots: object[]; let items: object[]; let players: object[] = []; @@ -65,7 +65,7 @@ import { goto } from "$app/navigation"; if (res.ok) { // TODO - goto("/matches") + goto("/matches"); } else { alert(res.statusText); } diff --git a/web/pw-server/src/routes/submission_matches/[match_id].svelte b/web/pw-server/src/routes/submission_matches/[match_id].svelte deleted file mode 100644 index 586b2c2..0000000 --- a/web/pw-server/src/routes/submission_matches/[match_id].svelte +++ /dev/null @@ -1,31 +0,0 @@ -<script lang="ts" context="module"> - export async function load({ page }) { - const res = await fetch(`/api/submission_match_log/${page.params["match_id"]}`, { - headers: { - "Content-Type": "application/json", - }, - }); - - if (res.ok) { - return { - props: { - matchLog: await res.text(), - }, - }; - } - - return { - status: res.status, - error: new Error("failed to load match"), - }; - } -</script> - -<script lang="ts"> - import Visualizer from "$lib/components/Visualizer.svelte"; - export let matchLog: string; -</script> - -<div> - <Visualizer {matchLog} /> -</div> |