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, player1_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");