Files
scrabble-online/client/public/index.js
2021-04-03 01:53:21 +01:00

57 lines
1.5 KiB
JavaScript

const UsernameForm = document.querySelector('#input-username');
const UsernameInput = document.querySelector('#input-text-username');
// TODO: ^ LOWECASE U
const ConnectionState = document.querySelector('#connection-state');
UsernameForm.addEventListener('submit', onUsernameSubmit);
function playSingleplayer()
{
window.location.pathname = "/scrabble";
}
// User submits their desired username
async function onUsernameSubmit(e)
{
// Stop form refreshing page
e.preventDefault();
const chosenUsername = UsernameInput.value;
const req = {
username: chosenUsername
};
const res = await fetch('/login', {
method: 'POST',
body: JSON.stringify(req),
headers: {
'Content-Type': 'application/json'
}
});
const body = JSON.parse(await res.text());
// TODO: remove debug symbols
console.log(body);
if (body.errors)
{
ConnectionState.classList.add('red');
ConnectionState.innerHTML = `${localeString('error-bold')}: ${localeString(body.errors[body.errors.length - 1].desc)}`;
return;
}
if (ConnectionState.classList.contains('red'))
ConnectionState.classList.remove('red');
ConnectionState.innerHTML = '';
// If success server garuntees user object
if (body.login.success)
{
sessionStorage.setItem('user', JSON.stringify(body.login.user));
console.log(sessionStorage.user)
window.location.pathname = "/game";
}
}