diff options
| author | Owen Jacobson <owen@grimoire.ca> | 2024-10-11 20:55:36 -0400 |
|---|---|---|
| committer | Owen Jacobson <owen@grimoire.ca> | 2024-10-11 20:55:36 -0400 |
| commit | 5ff106e910544788bc916626ae7665cb26e5af30 (patch) | |
| tree | f03f98677293a9d892e2d21d1a9a80aeedab60a3 /ui/routes/(login) | |
| parent | d33c8af14c4adc1c15ab048299e06f9f35ae4de6 (diff) | |
Provide a separate "initial setup" endpoint that creates a user.
Diffstat (limited to 'ui/routes/(login)')
| -rw-r--r-- | ui/routes/(login)/login/+page.svelte | 23 | ||||
| -rw-r--r-- | ui/routes/(login)/setup/+page.svelte | 25 |
2 files changed, 47 insertions, 1 deletions
diff --git a/ui/routes/(login)/login/+page.svelte b/ui/routes/(login)/login/+page.svelte index c333fdd..a349660 100644 --- a/ui/routes/(login)/login/+page.svelte +++ b/ui/routes/(login)/login/+page.svelte @@ -1,5 +1,26 @@ <script> + import { goto } from '$app/navigation'; + import { logIn } from '$lib/apiServer'; + import { currentUser } from '$lib/store'; + import LogIn from '$lib/components/LogIn.svelte'; + + let disabled; + let username; + let password; + + async function onSubmit() { + debugger; + disabled = true; + const response = await logIn(username, password); + if (200 <= response.status && response.status < 300) { + currentUser.update(() => ({ username })); + username = ''; + password = ''; + goto('/'); + } + disabled = false; + } </script> -<LogIn /> +<LogIn bind:disabled bind:username bind:password on:submit={onSubmit} /> diff --git a/ui/routes/(login)/setup/+page.svelte b/ui/routes/(login)/setup/+page.svelte new file mode 100644 index 0000000..252e79b --- /dev/null +++ b/ui/routes/(login)/setup/+page.svelte @@ -0,0 +1,25 @@ +<script> + import { goto } from '$app/navigation'; + import { setup } from '$lib/apiServer'; + import { currentUser } from '$lib/store'; + + import LogIn from '$lib/components/LogIn.svelte'; + + let disabled; + let username; + let password; + + async function onSubmit() { + disabled = true; + const response = await setup(username, password); + if (200 <= response.status && response.status < 300) { + currentUser.update(() => ({ username })); + username = ''; + password = ''; + goto('/'); + } + disabled = false; + } +</script> + +<LogIn bind:disabled bind:username bind:password legend="set up" on:submit={onSubmit} /> |
