diff --git a/web/src/routes/auth/register/+page.svelte b/web/src/routes/auth/register/+page.svelte index 4ec1b9718e..3eb046e80f 100644 --- a/web/src/routes/auth/register/+page.svelte +++ b/web/src/routes/auth/register/+page.svelte @@ -13,6 +13,7 @@ let password = $state(''); let confirmPassword = $state(''); let name = $state(''); + let loading = $state(false); let errorMessage = $derived( password === confirmPassword || confirmPassword.length === 0 ? '' : $t('password_does_not_match'), ); @@ -27,10 +28,11 @@ const onSubmit = async (event: Event) => { event.preventDefault(); - if (!valid) { + if (!valid || loading) { return; } + loading = true; errorMessage = ''; try { @@ -40,6 +42,8 @@ } catch (error) { handleError(error, $t('errors.unable_to_create_admin_account')); errorMessage = $t('errors.unable_to_create_admin_account'); + } finally { + loading = false; } }; @@ -70,6 +74,8 @@ {/if} - +