import { connect } from "./socket.js"; const colors = { 1: "blue", 2: "blue", 3: "blue", 4: "blue", 5: "green", 6: "green", 7: "green", 8: "green", 9: "red", 10: "red", 11: "red", 12: "red" }; export const tpl = { card: ({ val, draggable = false }) => `
${val}
${val}
${val}
`, joker: ({ val = 0, draggable = false }) => `
${val}
Skip-Bo
${val}
`, msgBoxes: { tpl: ({ title, content, buttons }) => `
${title}
${content}
${buttons.map(button => button.tpl).join``}
`, joinGame: { title: "join game", content: `

Game room

Your name

`, buttons: [{ tpl: ``, event: e => { alert("join"); } }, { tpl: ``, event: e => { removemsgBox(e.target.parentNode.parentNode.parentNode); } }] }, newGame: { title: "new game", content: `

Game room

Your name

`, buttons: [{ tpl: ``, event: e => { const box = e.target.parentNode.parentNode.parentNode; connect({ gameroom: box.querySelector("input[name='gameroom']").value, playername: box.querySelector("input[name='playername']").value }); } }, { tpl: ``, event: e => { removemsgBox(e.target.parentNode.parentNode.parentNode); } }] }, waitforPlayer: { title: "waiting for players", content: ` actually connected: 1 `, buttons: [{ tpl: ``, event: e => { removemsgBox(e.target.parentNode.parentNode.parentNode); } }] } } }; const removemsgBox = node => { document.querySelector("body").removeChild(node); if(document.querySelectorAll(".msgBox").length === 0 && document.querySelector("div#menu").style.display === "none") document.querySelector("#black").style.display = "none"; }; export const removeAllmsgBox = () => { document.querySelectorAll(".msgbox").forEach(msgbox => { removemsgBox(msgbox); }); }; export const msgBox = type => { if(document.querySelector("#black").style.display === "none") document.querySelector("#black").style.display = "block"; document.querySelector("body").insertAdjacentHTML("afterbegin", [tpl.msgBoxes[type]].map(tpl.msgBoxes.tpl).join`` ); document.querySelectorAll(".msgBox:first-child input[type='button']").forEach((button, i) => { button.addEventListener("click", tpl.msgBoxes[type].buttons[i].event); }); return document.querySelector(".msgBox:first-child"); };