lilachat-frontend/login.js

60 lines
1.5 KiB
JavaScript
Raw Normal View History

2021-07-22 14:01:28 +00:00
//SETTING VARIABLES. GRABBING CONTENTS FROM FORM.
let uname = document.querySelector('#uname').value;
let pin = document.querySelector('#pin').value;
const form = document.querySelector('form');
2021-07-23 19:41:55 +00:00
let username = localStorage.getItem('username');
2021-07-22 14:01:28 +00:00
// SUBMIT FORM FUNCTION. AND FETCH USERNAME AND PIN FROM API.
form.addEventListener("submit", async function (event) {
event.preventDefault();
const formData = new FormData(form);
uname = formData.get('uname');
pin = formData.get('pin');
2021-07-23 19:41:55 +00:00
try {
const loginInfo = await loginFetch();
2021-07-22 14:01:28 +00:00
2021-07-24 14:10:41 +00:00
if (loginInfo.status === 'ok') {
2021-07-23 19:41:55 +00:00
login()
} else {
incorrectLogin()
}
2021-07-24 14:10:41 +00:00
} catch (e) {
2021-07-23 19:41:55 +00:00
console.log(e);
document.querySelector("#errormessage").innerHTML = 'An Error has Occurred. Try again later. ' + e.toString();
2021-07-22 14:01:28 +00:00
}
2021-07-17 22:50:58 +00:00
})
2021-07-22 14:01:28 +00:00
2021-07-23 19:41:55 +00:00
// LOGIN FETCH
async function loginFetch() {
let sendLoginInfo = { "name": uname, "pin": pin }
2021-07-24 14:10:41 +00:00
const res = await fetch('/api/login/', {
2021-07-23 19:41:55 +00:00
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(sendLoginInfo),
});
2021-07-24 14:10:41 +00:00
return await res.json();
2021-07-23 19:41:55 +00:00
}
2021-07-22 14:01:28 +00:00
// FUNCTIONS FOR WHETHER THE LOGIN WAS A SUCCESS OR FAILURE
2021-07-17 22:50:58 +00:00
function login() {
2021-07-22 14:01:28 +00:00
document.querySelector("#errormessage").innerHTML = ''
2021-07-23 19:41:55 +00:00
localStorage.setItem('username', `${uname}`);
2021-07-24 14:10:41 +00:00
document.querySelector("#username").innerHTML = `Logged in as ${uname}`
2021-07-24 19:58:53 +00:00
window.location.replace("/index.html")
2021-07-17 22:50:58 +00:00
}
2021-07-22 14:01:28 +00:00
2021-07-17 22:50:58 +00:00
function incorrectLogin() {
2021-07-22 14:01:28 +00:00
console.log('Incorrect Login!')
document.querySelector("#errormessage").innerHTML = 'Incorrect Login.'
2021-07-22 20:09:02 +00:00
}