X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fmain.js;h=9d2e73d1878a1ce37e8453378906ef244db94695;hb=1ac94d6fcd258b56a1c1bdf39e6a1e757a99e9fc;hp=e68447ee2dafd410cab229e0c34e9f981a99972c;hpb=03470390eba8fd75b6aa5d929140d16a4aa719b9;p=vchess.git diff --git a/client/src/main.js b/client/src/main.js index e68447ee..9d2e73d1 100644 --- a/client/src/main.js +++ b/client/src/main.js @@ -1,8 +1,7 @@ import Vue from "vue"; import App from "./App.vue"; import router from "./router"; -import params from "./parameters"; //for socket connection -import { ajax } from "./utils/ajax"; +import { store } from "./store"; Vue.config.productionTip = false; @@ -11,43 +10,21 @@ new Vue({ render: function(h) { return h(App); }, - created: function() { - //alert("test"); - ajax("/variants", "GET", res => { - Vue.prototype.$variants = res.variantArray; - }); - Vue.prototype.$conn = null; //TODO - const myid = localStorage["myid"] || util.getRandString(); - // NOTE: in this version, we don't say on which page we are, yet - // ==> we'll say "enter/leave" page XY (in fact juste "enter", seemingly) - Vue.prototype.$conn = new WebSocket(params.socketUrl + "/?sid=" + myid); - //TODO: si une partie en cours dans storage, rediriger vers cette partie - //(à condition que l'URL n'y corresponde pas déjà !) - // TODO: à l'arrivée sur le site : set peerID (un identifiant unique - // en tout cas...) si pas trouvé dans localStorage "myid" - // (l'identifiant de l'utilisateur si connecté) - }, - // Later, for icons (if using feather): -// mounted: function() { -// feather.replace(); -// }, + created: function() { + window.doClick = (elemId) => { document.getElementById(elemId).click() }; + document.addEventListener("keydown", (e) => { + if (e.code === "Escape") + { + let modalBoxes = document.querySelectorAll("[id^='modal']"); + modalBoxes.forEach(m => { + if (m.checked) + m.checked = false; + }); + } + }); + // TODO: why is this wrong? (Maybe because $route still uninitialized?) + //store.initialize(this.$route.path); + store.initialize(window.location.href.split("#")[1].split("?")[0]); + // NOTE: at this point, variants and tr(anslations) might be uninitialized + }, }).$mount("#app"); - -// TODO: get rules, dynamic import -// Load a rules page (AJAX) -// router.get("/rules/:vname([a-zA-Z0-9]+)", access.ajax, (req,res) => { -// const lang = selectLanguage(req, res); -// res.render("rules/" + req.params["vname"] + "/" + lang); -// }); -// -// board2, 3, 4 automatiquement, mais rules separement (les 3 pour une) -// game : aussi systématique -// problems: on-demand -// -// It works (to watch for route change), in a component: -//watch: { -// $route: function(newRoute) { -// console.log(this.$route.params); -// }, -//}, -// See https://router.vuejs.org/guide/essentials/dynamic-matching.html#reacting-to-params-changes