Schafkopf-Server/Public/login.js

65 lines
1.9 KiB
JavaScript
Raw Normal View History

// Site-specific elements
const elementIdUserName = "user-name";
const elementIdUserPassword = "user-pwd";
const elementIdUserEmail = "user-email";
const elementIdUserHint = "user-hint";
function getLoginName() {
return document.getElementById(elementIdUserName).value;
}
function clearLoginName() {
document.getElementById(elementIdUserName).value = "";
}
function setLoginName(name) {
document.getElementById(elementIdUserName).value = name;
}
function getLoginPassword() {
return document.getElementById(elementIdUserPassword).value;
}
function clearLoginPassword() {
document.getElementById(elementIdUserPassword).value = "";
}
function setLoginPassword(password) {
document.getElementById(elementIdUserPassword).value = password;
}
function getLoginEmail() {
return document.getElementById(elementIdUserEmail).value;
}
/*
* Set a text to indicate an action, warning or other message below the registration field;
*/
function setTextHint(text) {
document.getElementById(elementIdUserHint).innerHTML = text;
}
/*
* Attempt to reopen an existing session, either from the login or register page.
*
* It could be argued that this shouldn't be attempted for the registration page,
* but, a user may accidentally go to the registration page through the browser history,
* and then it will be convenient to be redirected to the game.
*/
function loadExistingSession() {
const token = loadSessionToken();
if (token == null) {
console.log("No session token to load")
return;
}
resumeSessionRequest(token)
.then(function(name) {
storePlayerNameAndToken(name, token);
window.location.href = "list.html";
}).catch(function(error) {
// We don't expect a session to resume if the registration page is shown,
// and if the token is expired on the login page we just fail quietly.
console.log(error);
})
}