Unversion parameters.js
[vchess.git] / client / src / main.js
CommitLineData
625022fd
BA
1import Vue from "vue";
2import App from "./App.vue";
3import router from "./router";
03470390 4import params from "./parameters"; //for socket connection
625022fd
BA
5import { ajax } from "./utils/ajax";
6
7Vue.config.productionTip = false;
8
9new Vue({
10 router,
11 render: function(h) {
12 return h(App);
13 },
14 created: function() {
15 //alert("test");
03470390
BA
16 ajax("/variants", "GET", res => {
17 Vue.prototype.$variants = res.variantArray;
625022fd 18 });
03470390
BA
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é)
625022fd 29 },
03470390
BA
30 // Later, for icons (if using feather):
31// mounted: function() {
32// feather.replace();
33// },
625022fd
BA
34}).$mount("#app");
35
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);
41// });
03470390
BA
42//
43// board2, 3, 4 automatiquement, mais rules separement (les 3 pour une)
44// game : aussi systématique
45// problems: on-demand
46//
47// It works (to watch for route change), in a component:
48//watch: {
49// $route: function(newRoute) {
50// console.log(this.$route.params);
51// },
52//},
53// See https://router.vuejs.org/guide/essentials/dynamic-matching.html#reacting-to-params-changes