From 0e9bfb1fed089a254384d1225807489e677cc59f Mon Sep 17 00:00:00 2001 From: starnakin Date: Tue, 13 Feb 2024 12:53:38 +0100 Subject: [PATCH] accounts: anthentifyView: add: enter button --- frontend/static/js/api/account.js | 9 ++-- .../js/views/accounts/AuthentifyView.js | 51 +++++++++++-------- 2 files changed, 34 insertions(+), 26 deletions(-) diff --git a/frontend/static/js/api/account.js b/frontend/static/js/api/account.js index b8b7e83..f6a02ce 100644 --- a/frontend/static/js/api/account.js +++ b/frontend/static/js/api/account.js @@ -16,18 +16,15 @@ class Account /** * @param {String} username * @param {String} password - * @returns {?Promise} + * @returns {Response} */ async create(username, password) { let response = await this.client._post("/api/accounts/register", {username: username, password: password}); - let response_data = await response.json() - if (response_data == "user created") - { + if (response.status === 201) await this.client._update_logged(true); - return null; - } + return response_data } diff --git a/frontend/static/js/views/accounts/AuthentifyView.js b/frontend/static/js/views/accounts/AuthentifyView.js index 5dfd569..27733f8 100644 --- a/frontend/static/js/views/accounts/AuthentifyView.js +++ b/frontend/static/js/views/accounts/AuthentifyView.js @@ -25,17 +25,26 @@ export default class extends AbstractNonAuthentifiedView this.update_mode(new_mode); document.getElementById("button").onclick = this.authentificate.bind(this); + + let username_input = document.getElementById('username-input'), + password_input = document.getElementById('password-input'); + + [username_input, password_input].forEach(input => { + input.addEventListener('keydown', async ev => { + if (ev.key === 'Enter') + await this.authentificate.bind(this)() + }); + }); } /** * Check if field is normal - * @returns {null | Object} + * @param username {String} + * @param password {String} + * @returns {Boolean} */ - basic_verif() + basic_verif(username, password) { - let username = document.getElementById('username-input').value; - let password = document.getElementById('password-input').value; - if (username === '') document.getElementById('username').innerHTML = lang.get('errorEmptyField', 'This field may not be blank.'); @@ -43,9 +52,9 @@ export default class extends AbstractNonAuthentifiedView document.getElementById('password').innerHTML = lang.get('errorEmptyField', 'This field may not be blank.'); if (username === '' || password === '') - return null; + return false; - return { username, password }; + return true } /** @@ -102,29 +111,31 @@ export default class extends AbstractNonAuthentifiedView */ async authentificate() { - let ret = this.basic_verif(); + let username = document.getElementById("username-input").value, + password = document.getElementById("password-input").value; - if (ret === null) - return + if (!this.basic_verif()) + return; - let {username, password} = ret; - - let response_data; + let response; if (this.current_mode === "register") - response_data = await client.account.create(username, password) + response = await client.account.create(username, password) else - response_data = await client.login(username, password); + response = await client.login(username, password); - if (response_data !== null) + if (response.status === 200 || response.status === 201) { navigateTo(this.redirectTo); return; } - - clear("innerHTML", ["username", "password", 'register']); - fill_errors(response_data, "innerHTML"); + let response_data = await response.json() + + console.log(response_data); + + clear("innerHTML", ["username", "password", 'login']); + fill_errors(response_data, "innerHTML"); } async getHtml() @@ -147,7 +158,7 @@ export default class extends AbstractNonAuthentifiedView
- +

Loading...

Loading...