diff options
author | Ilion Beyst <ilion.beyst@gmail.com> | 2022-03-22 18:10:39 +0100 |
---|---|---|
committer | Ilion Beyst <ilion.beyst@gmail.com> | 2022-03-22 18:10:39 +0100 |
commit | 2b5a80a0324d153b20eac7e6949cc02aea9c1c07 (patch) | |
tree | 87be8ab0dda9a504eb9fe83c6c5c360178ab3f65 /web/pw-server/src/lib | |
parent | 6ab8db31c38eb9bf50485bea4cfc3b09add3daad (diff) | |
download | planetwars.dev-2b5a80a0324d153b20eac7e6949cc02aea9c1c07.tar.xz planetwars.dev-2b5a80a0324d153b20eac7e6949cc02aea9c1c07.zip |
implement currentUser store
Diffstat (limited to 'web/pw-server/src/lib')
-rw-r--r-- | web/pw-server/src/lib/components/navbar/UserControls.svelte | 13 | ||||
-rw-r--r-- | web/pw-server/src/lib/stores/current_user.ts | 3 |
2 files changed, 10 insertions, 6 deletions
diff --git a/web/pw-server/src/lib/components/navbar/UserControls.svelte b/web/pw-server/src/lib/components/navbar/UserControls.svelte index e9dbab1..3c1d181 100644 --- a/web/pw-server/src/lib/components/navbar/UserControls.svelte +++ b/web/pw-server/src/lib/components/navbar/UserControls.svelte @@ -1,11 +1,11 @@ <script lang="ts"> import { get_session_token } from "$lib/auth"; + import { currentUser } from "$lib/stores/current_user"; import { onMount } from "svelte"; - let user = null; - onMount(async () => { + // TODO: currentUser won't be set if the navbar component is not created. const session_token = get_session_token(); if (!session_token) { return; @@ -23,19 +23,20 @@ throw response.statusText; } - user = await response.json(); + const user = await response.json(); + currentUser.set(user); }); function signOut() { // TODO: destroy session on server - user = null; + currentUser.set(null); } </script> <div class="user-controls"> - {#if user} + {#if $currentUser} <div class="current-user-name"> - {user["username"]} + {$currentUser["username"]} </div> <div class="sign-out" on:click={signOut}>Sign out</div> {:else} diff --git a/web/pw-server/src/lib/stores/current_user.ts b/web/pw-server/src/lib/stores/current_user.ts new file mode 100644 index 0000000..ac53070 --- /dev/null +++ b/web/pw-server/src/lib/stores/current_user.ts @@ -0,0 +1,3 @@ +import { writable } from "svelte/store"; + +export const currentUser = writable(null); |