diff --git a/web-app/src/api/auth.ts b/web-app/src/api/auth.ts index 754c55b..9e493b9 100644 --- a/web-app/src/api/auth.ts +++ b/web-app/src/api/auth.ts @@ -10,7 +10,7 @@ export class AuthApiClient extends ApiClient { } async register(username: string, password: string): Promise { - await super.postJson('/register', { username, password }) + await super.postNoResponse('/register', { username, password }) } async getUsernameAvailability(username: string): Promise { diff --git a/web-app/src/pages/LoginPage.vue b/web-app/src/pages/LoginPage.vue index efb8726..117a550 100644 --- a/web-app/src/pages/LoginPage.vue +++ b/web-app/src/pages/LoginPage.vue @@ -45,6 +45,24 @@ async function doLogin() { } } +async function doRegister() { + disableForm.value = true + showLoader() + try { + await apiClient.register(username.value, password.value) + await doLogin() + } catch (err) { + hideLoader() + if (err instanceof ApiError) { + await showAlert(err.message) + } else { + await showAlert('Request failed: ' + JSON.stringify(err)) + } + } finally { + disableForm.value = false + } +} + function isDataValid() { return username.value.length > 0 && password.value.length >= 8 } @@ -70,7 +88,8 @@ function generateSampleData() {
Login - Register + Register
Generate Sample Data