Files
Werewolf/static/join.js
2020-04-18 17:09:46 -04:00

46 lines
2.0 KiB
JavaScript

const socket = io();
import { utility } from './util.js'
// respond to the game state received from the server
socket.on('joinError', function(message) {
document.getElementById("join-btn").classList.remove('disabled');
document.getElementById("code").classList.add("error");
document.getElementById("join-error").innerText = message;
});
// respond to the game state received from the server
socket.on('success', function() {
document.getElementById("join-btn").classList.remove('disabled');
if (document.getElementById("code").classList.contains("error")) {
document.getElementById("code").classList.remove("error");
document.getElementById("join-error").innerText = "";
}
// If a player was a host of a previous game, don't make them the host of this one
if (sessionStorage.getItem("host")) {
sessionStorage.removeItem("host");
}
window.location.replace('/' + document.getElementById("code").value.toString().trim().toLowerCase());
});
document.getElementById("join-btn").addEventListener("click", function() {
document.getElementById("join-btn").classList.add('disabled');
if (document.getElementById("name").value.length > 0) {
const code = document.getElementById("code").value.toString().trim().toLowerCase();
if (document.getElementById("name").classList.contains("error")) {
document.getElementById("name").classList.remove("error");
document.getElementById("name-error").innerText = "";
}
sessionStorage.setItem("code", code);
let playerId = utility.generateID();
sessionStorage.setItem("id", playerId);
const playerInfo = {name: document.getElementById("name").value, id: playerId, code: code};
socket.emit('joinGame', playerInfo);
} else {
document.getElementById("join-btn").classList.remove('disabled');
document.getElementById("name").classList.add("error");
document.getElementById("name-error").innerText = "Name is required.";
}
});