diff options
| author | Owen Jacobson <owen@grimoire.ca> | 2024-10-05 18:17:25 -0400 |
|---|---|---|
| committer | Owen Jacobson <owen@grimoire.ca> | 2024-10-05 18:17:25 -0400 |
| commit | 0c0cd1daa0c6640e81bb6282ae4a1c574cf135f4 (patch) | |
| tree | d6b4195cc7be249fb55cb1160f01db0a6daa84f1 /hi-ui/src/lib/LogIn.svelte | |
| parent | 54a542df2164e421e78b48d7229a6bfabbc5c26b (diff) | |
| parent | 40cc35bcc9b881a61ca62c67e107bb17c2748f57 (diff) | |
Merge branch 'wip/ui'
Diffstat (limited to 'hi-ui/src/lib/LogIn.svelte')
| -rw-r--r-- | hi-ui/src/lib/LogIn.svelte | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/hi-ui/src/lib/LogIn.svelte b/hi-ui/src/lib/LogIn.svelte new file mode 100644 index 0000000..1ec6772 --- /dev/null +++ b/hi-ui/src/lib/LogIn.svelte @@ -0,0 +1,39 @@ +<script> + import { logIn } from '../apiServer'; + import { currentUser } from '../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> + +<form class="bg-white shadow-md rounded px-8 pt-6 pb-8 mb-4" on:submit|preventDefault={handleLogin}> + <div class="mb-4"> + <label class="block text-gray-700 text-sm font-bold mb-2" for="username"> + username + </label> + <input class="shadow appearance-none border rounded w-full py-2 px-3 text-gray-700 leading-tight focus:outline-none focus:shadow-outline" id="username" name="username" type="text" placeholder="username" bind:value={username} disabled={disabled}> + </div> + <div class="mb-6"> + <label class="block text-gray-700 text-sm font-bold mb-2" for="password"> + password + </label> + <input class="shadow appearance-none border rounded w-full py-2 px-3 text-gray-700 mb-3 leading-tight focus:outline-none focus:shadow-outline" id="password" name="password" type="password" placeholder="password" bind:value={password} disabled={disabled}> + </div> + <div class="flex items-center justify-between"> + <button class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded focus:outline-none focus:shadow-outline" type="submit"> + sign in or up + </button> + </div> +</form> |
