diff options
| author | Owen Jacobson <owen@grimoire.ca> | 2024-10-10 21:05:48 -0400 |
|---|---|---|
| committer | Owen Jacobson <owen@grimoire.ca> | 2024-10-10 21:05:48 -0400 |
| commit | 4401dce2b5545ce8117818812d8e3c8919f5f7fd (patch) | |
| tree | df04478e6094a2a8cdd14ecd31b77caacff78de6 /ui/src/lib/components/LogIn.svelte | |
| parent | 999996961e6e8ebcde125ff0022df875d62817b3 (diff) | |
Remove redundancy in `hi-ui` directory name.
Diffstat (limited to 'ui/src/lib/components/LogIn.svelte')
| -rw-r--r-- | ui/src/lib/components/LogIn.svelte | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/ui/src/lib/components/LogIn.svelte b/ui/src/lib/components/LogIn.svelte new file mode 100644 index 0000000..2836e6d --- /dev/null +++ b/ui/src/lib/components/LogIn.svelte @@ -0,0 +1,35 @@ +<script> + import { logIn } from '$lib/apiServer'; + import { currentUser } from '$lib/store'; + + let disabled = false; + let username = ''; + let password = ''; + + async function handleLogin(event) { + disabled = true; + const response = await logIn(username, password); + if (200 <= response.status && response.status < 300) { + currentUser.update(() => ({ username })); + username = ''; + password = ''; + } + disabled = false; + } +</script> + +<div class="card m-4 p-4"> + <form on:submit|preventDefault={handleLogin}> + <label class="label" for="username"> + username + <input class="input" name="username" type="text" placeholder="username" bind:value={username} disabled={disabled}> + </label> + <label class="label" for="password"> + password + <input class="input" name="password" type="password" placeholder="password" bind:value={password} disabled={disabled}> + </label> + <button class="btn variant-filled" type="submit"> + sign in or up + </button> + </form> +</div> |
