diff options
Diffstat (limited to 'ui/lib/components/CurrentUser.svelte')
| -rw-r--r-- | ui/lib/components/CurrentUser.svelte | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/ui/lib/components/CurrentUser.svelte b/ui/lib/components/CurrentUser.svelte new file mode 100644 index 0000000..4b1b974 --- /dev/null +++ b/ui/lib/components/CurrentUser.svelte @@ -0,0 +1,26 @@ +<script> + import { goto } from '$app/navigation'; + import { logOut} from '$lib/apiServer'; + import { currentUser } from '$lib/store'; + + async function handleLogout() { + const response = await logOut(); + if (200 <= response.status && response.status < 300) { + currentUser.update(() => null); + goto('/login'); + } + } +</script> + +<form on:submit|preventDefault={handleLogout}> + {#if $currentUser} + <a href="/me">@{$currentUser.username}</a> + {/if} + <button + class="border-slate-500 border-solid border-2 font-bold p-1 rounded" + type="submit" + >log out</button> +</form> + +<style> +</style> |
