X-Git-Url: https://git.cworth.org/git?p=lmno.games;a=blobdiff_plain;f=lmno.js;h=4af9878d2ef14e20b517a8902367b23f3c8dbbfd;hp=f1f9cd7f874a1f193382283a5a6a350deefc0b74;hb=6baa178ee249fde9b660e91c6d6cc374b3d755ac;hpb=eca2d3b07461385192c12c68b83e658ce366d09f diff --git a/lmno.js b/lmno.js index f1f9cd7..4af9878 100644 --- a/lmno.js +++ b/lmno.js @@ -11,18 +11,21 @@ ${message} message_area.insertAdjacentHTML('beforeend', message); } -function join_loadend(request, game_id) { +function lmno_join_loadend(request, game_id) { if (request.status === 404) { add_message("danger", game_id + " is not a valid game ID. Try again."); return; } + + /* Now that its validated, send the browser to the URL for the game_id. */ + window.location.href = "/" + game_id; } function lmno_join(form) { const game_id = form.id.value; var request = new XMLHttpRequest(); - request.addEventListener("loadend", () => join_loadend(request, game_id)); + request.addEventListener("loadend", () => lmno_join_loadend(request, game_id)); request.open("GET", "/" + game_id); request.setRequestHeader("Content-Type", "application/json; charset=UTF-8"); @@ -30,3 +33,25 @@ function lmno_join(form) { form.reset(); } + +function lmno_new_loadend() { + if (this.status == 200) { + /* Response contains the game ID which we simply point the browser to. */ + const game_id = JSON.parse(this.response); + window.location.href = ('/' + game_id); + return; + } + + add_message("danger", `An error occured creating a new game (${this.status}).`); +} + +function lmno_new(engine) { + const request = new XMLHttpRequest(); + request.addEventListener("loadend", lmno_new_loadend); + + request.open("POST", "/new/" + engine); + request.setRequestHeader("Content-Type", "application/json; charset=UTF-8"); + request.send(); + + return false; +}