Newer
Older
import SkribblServer from "./logic/SkribblServer.js";
import SkribblClient from "./logic/SkribblClient.js";
import SkribblContainer from "./ui/SkribblContainer.js";
// TODO somehow reload the game whenever the url hash changes, to make switching games easier
document.addEventListener("DOMContentLoaded",async()=>{

Ben Eltschig
committed
/** @type {SkribblClient} */
let client;
if (document.location.hash){
document.body.innerHTML = "";

Ben Eltschig
committed
const gameID = document.location.hash.substring(1);

Ben Eltschig
committed
client = new SkribblClient(gameID);
}else{
/** @type {HTMLButtonElement} *///@ts-ignore
const button = document.getElementById("button");
await new Promise(resolve=>{button.addEventListener("click",async e=>{
button.disabled = true;
resolve();
})});
const server = new SkribblServer();
await server.waitUntilReady();
console.log(server.url);
client = new SkribblClient(server.id,server.dataChannel);

Ben Eltschig
committed
const game = new SkribblContainer(client);
document.body.innerHTML = "";
document.body.appendChild(game);