From 5ff106e910544788bc916626ae7665cb26e5af30 Mon Sep 17 00:00:00 2001 From: Owen Jacobson Date: Fri, 11 Oct 2024 20:55:36 -0400 Subject: Provide a separate "initial setup" endpoint that creates a user. --- ui/routes/(app)/+layout.svelte | 34 +++++++++++++++++----------------- ui/routes/(login)/login/+page.svelte | 23 ++++++++++++++++++++++- ui/routes/(login)/setup/+page.svelte | 25 +++++++++++++++++++++++++ 3 files changed, 64 insertions(+), 18 deletions(-) create mode 100644 ui/routes/(login)/setup/+page.svelte (limited to 'ui/routes') diff --git a/ui/routes/(app)/+layout.svelte b/ui/routes/(app)/+layout.svelte index 0f8e83c..38df9b9 100644 --- a/ui/routes/(app)/+layout.svelte +++ b/ui/routes/(app)/+layout.svelte @@ -26,23 +26,23 @@ } onMount(async () => { - try { - let response = await boot(); - switch (response.status) { - case 200: - onBooted(response.data); - events = subscribeToEvents(response.data.resume_point); - break; - case 401: - currentUser.update(() => null); - goto('/login'); - break; - default: - // TODO: display error. - break; - } - } catch (_) { - // I don't want exceptions on non-200 series responses, dammit. + let response = await boot(); + switch (response.status) { + case 200: + onBooted(response.data); + events = subscribeToEvents(response.data.resume_point); + break; + case 401: + currentUser.update(() => null); + goto('/login'); + break; + case 409: + currentUser.update(() => null); + goto('/setup'); + break; + default: + // TODO: display error. + break; } loading = false; }); 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 @@ - + 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 @@ + + + -- cgit v1.2.3