diff options
Diffstat (limited to 'ui/routes/(app)/me')
| -rw-r--r-- | ui/routes/(app)/me/+page.svelte | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/ui/routes/(app)/me/+page.svelte b/ui/routes/(app)/me/+page.svelte index 30da6f0..8d24a61 100644 --- a/ui/routes/(app)/me/+page.svelte +++ b/ui/routes/(app)/me/+page.svelte @@ -1,5 +1,7 @@ <script> - import { changePassword } from '$lib/apiServer.js'; + import { goto } from '$app/navigation'; + import { changePassword, logOut } from '$lib/apiServer.js'; + import { currentUser } from '$lib/store'; import Invites from '$lib/components/Invites.svelte'; @@ -11,6 +13,15 @@ let valid = $derived(newPassword === confirmPassword && newPassword !== currentPassword); let disabled = $derived(pending || !valid); + async function onLogOut(event) { + event.preventDefault(); + const response = await logOut(); + if (200 <= response.status && response.status < 300) { + currentUser.update(() => null); + goto('/login'); + } + } + async function onPasswordChange(event) { event.preventDefault(); pending = true; @@ -24,6 +35,10 @@ } </script> +<form onsubmit={onLogOut}> + <button class="btn variant-filled" type="submit">log out</button> +</form> + <form onsubmit={onPasswordChange} bind:this={passwordForm}> <label >current password |
