accounts: anthentifyView: add: enter button
This commit is contained in:
parent
cf9bd41dd0
commit
d21ec87b88
@ -16,18 +16,15 @@ class Account
|
|||||||
/**
|
/**
|
||||||
* @param {String} username
|
* @param {String} username
|
||||||
* @param {String} password
|
* @param {String} password
|
||||||
* @returns {?Promise<Object>}
|
* @returns {Response}
|
||||||
*/
|
*/
|
||||||
async create(username, password)
|
async create(username, password)
|
||||||
{
|
{
|
||||||
let response = await this.client._post("/api/accounts/register", {username: username, password: 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);
|
await this.client._update_logged(true);
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return response_data
|
return response_data
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -25,17 +25,26 @@ export default class extends AbstractNonAuthentifiedView
|
|||||||
this.update_mode(new_mode);
|
this.update_mode(new_mode);
|
||||||
|
|
||||||
document.getElementById("button").onclick = this.authentificate.bind(this);
|
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
|
* Check if field is normal
|
||||||
* @returns {null | Object<String>}
|
* @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 === '')
|
if (username === '')
|
||||||
document.getElementById('username').innerHTML = lang.get('errorEmptyField', 'This field may not be blank.');
|
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.');
|
document.getElementById('password').innerHTML = lang.get('errorEmptyField', 'This field may not be blank.');
|
||||||
|
|
||||||
if (username === '' || password === '')
|
if (username === '' || password === '')
|
||||||
return null;
|
return false;
|
||||||
|
|
||||||
return { username, password };
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -102,29 +111,31 @@ export default class extends AbstractNonAuthentifiedView
|
|||||||
*/
|
*/
|
||||||
async authentificate()
|
async authentificate()
|
||||||
{
|
{
|
||||||
let ret = this.basic_verif();
|
let username = document.getElementById("username-input").value,
|
||||||
|
password = document.getElementById("password-input").value;
|
||||||
|
|
||||||
if (ret === null)
|
if (!this.basic_verif())
|
||||||
return
|
return;
|
||||||
|
|
||||||
let {username, password} = ret;
|
let response;
|
||||||
|
|
||||||
let response_data;
|
|
||||||
|
|
||||||
if (this.current_mode === "register")
|
if (this.current_mode === "register")
|
||||||
response_data = await client.account.create(username, password)
|
response = await client.account.create(username, password)
|
||||||
else
|
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);
|
navigateTo(this.redirectTo);
|
||||||
return;
|
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()
|
async getHtml()
|
||||||
@ -147,7 +158,7 @@ export default class extends AbstractNonAuthentifiedView
|
|||||||
</div>
|
</div>
|
||||||
<div class='d-flex'>
|
<div class='d-flex'>
|
||||||
<button type='button' class='btn btn-primary mt-3 mb-2' id='button'>Loading...</button>
|
<button type='button' class='btn btn-primary mt-3 mb-2' id='button'>Loading...</button>
|
||||||
<span class='text-danger my-auto mx-2' id='register'></span>
|
<span class='text-danger my-auto mx-2' id='login'></span>
|
||||||
<div class='ms-auto mt-auto flex-row d-flex gap-2' id="toogle">
|
<div class='ms-auto mt-auto flex-row d-flex gap-2' id="toogle">
|
||||||
<p id='toogle-register-login-label'>Loading...</p>
|
<p id='toogle-register-login-label'>Loading...</p>
|
||||||
<a id="toogle-register-login" href='#'>Loading...</a>
|
<a id="toogle-register-login" href='#'>Loading...</a>
|
||||||
|
Loading…
Reference in New Issue
Block a user