2 import App
from "./App.vue";
3 import router
from "./router";
4 import params
from "./parameters"; //for socket connection
5 import { ajax
} from "./utils/ajax";
7 Vue
.config
.productionTip
= false;
16 ajax("/variants", "GET", res
=> {
17 Vue
.prototype.$variants
= res
.variantArray
;
19 Vue
.prototype.$conn
= null; //TODO
20 const myid
= localStorage
["myid"] || util
.getRandString();
21 // NOTE: in this version, we don't say on which page we are, yet
22 // ==> we'll say "enter/leave" page XY (in fact juste "enter", seemingly)
23 Vue
.prototype.$conn
= new WebSocket(params
.socketUrl
+ "/?sid=" + myid
);
24 //TODO: si une partie en cours dans storage, rediriger vers cette partie
25 //(à condition que l'URL n'y corresponde pas déjà !)
26 // TODO: à l'arrivée sur le site : set peerID (un identifiant unique
27 // en tout cas...) si pas trouvé dans localStorage "myid"
28 // (l'identifiant de l'utilisateur si connecté)
30 // Later, for icons (if using feather):
31 // mounted: function() {
36 // TODO: get rules, dynamic import
37 // Load a rules page (AJAX)
38 // router.get("/rules/:vname([a-zA-Z0-9]+)", access.ajax, (req,res) => {
39 // const lang = selectLanguage(req, res);
40 // res.render("rules/" + req.params["vname"] + "/" + lang);
43 // board2, 3, 4 automatiquement, mais rules separement (les 3 pour une)
44 // game : aussi systématique
45 // problems: on-demand
47 // It works (to watch for route change), in a component:
49 // $route: function(newRoute) {
50 // console.log(this.$route.params);
53 // See https://router.vuejs.org/guide/essentials/dynamic-matching.html#reacting-to-params-changes