You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

130 lines
2.9 KiB

function show(id){
document.getElementById(id).style.display = "block";
}
function hide(id){
document.getElementById(id).style.display = "none";
}
function message(text){
alert(text);
}
function getValue(id){
return document.getElementById(id).value;
}
function getUserName(){
if (userName == "") {
userName = document.getElementById("nickname").value;
}
return userName;
}
function resetMenu(){
const children = document.getElementById("menu").children;
Array.from(children).forEach(child => {
if (child.tagName == "DIV") {
child.style.display = "none";
}
});
}
function setText(id, text){
document.getElementById(id).innerHTML = text;
}
function playLocal(){
location.href = "./local.html";
}
function createGame(){
if(getUserName() == ""){
alert("musíš zadat přezdívku");
return;
}
setText("loaderText", "Zakládám hru");
hide("main-menu");
show("loader");
socket.emit("createGameRequest", {userName}, (response) => {
if(response.status == "success"){
hide("loader");
show("lobby");
setText("whitePlayer", userName);
setText("inviteCode", response.inviteCode);
}else{
alert("fck");
}
});
}
function joinWithCode(){
if(getUserName() == ""){
alert("musíš zadat přezdívku");
return;
}
hide("main-menu");
show("code-entry");
}
function confirmJoinWithCode(){
inviteCode = getValue("code");
if(inviteCode == ""){
message("zadej musíš zadat kód hry");
return;
}
setText("loaderText", "Hledám Hru");
resetMenu();
show("loader");
socket.emit("joinWithCodeRequest", {userName, inviteCode}, (response) =>{
switch(response.status){
case "error":
resetMenu();
setText("errorMessage", response.message);
show("alert");
break;
case "success":
resetMenu();
show("lobby");
const whitePlayerName = (response.playerSwap) ? response.player2_name : response.player1_name;
const blackPlayerName = (response.playerSwap) ? response.player1_name : response.player2_name;
setText("whitePlayer", whitePlayerName);
setText("blackPlayer", blackPlayerName);
setText("inviteCode", response.inviteCode);
show("lobby");
}
})
}
function backToMainMenu(){
resetMenu();
show("main-menu");
}
socket.on('playerJoinGame', ({player1_name, layer1_name, player2_name, playerSwap}) => {
const whitePlayerName = (playerSwap) ? player2_name : player1_name;
const blackPlayerName = (playerSwap) ? player1_name : player2_name;
setText("whitePlayer", whitePlayerName);
setText("blackPlayer", blackPlayerName);
})
show("main-menu");
hide("game");