X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fviews%2FRules.vue;h=1851609f3439469b20d75610b01c897a99dbe8a8;hb=620a88ede2ad25e66d9cbb521388ee53e4a564c0;hp=a8edf8f526550c97178b8bbc115a5ce82485793a;hpb=b91392511d5df54b0e3cd5fcf439471cc6767804;p=vchess.git diff --git a/client/src/views/Rules.vue b/client/src/views/Rules.vue index a8edf8f5..1851609f 100644 --- a/client/src/views/Rules.vue +++ b/client/src/views/Rules.vue @@ -23,7 +23,7 @@ main v-if="showAnalyzeBtn" @click="gotoAnalyze()" ) - | {{ st.tr["Analyse"] }} + | {{ st.tr["Analysis mode"] }} .row .col-sm-12.col-md-8.col-md-offset-2.col-lg-6.col-lg-offset-3 div( @@ -72,7 +72,7 @@ export default { }, computed: { showAnalyzeBtn: function() { - return (this.display=='rules' && (!this.V || this.V.CanAnalyze)); + return this.V && this.V.CanAnalyze; }, content: function() { if (!this.gameInfo.vname) return ""; //variant not set yet @@ -112,9 +112,20 @@ export default { return getDiagram(args); }, re_setVariant: async function(vname) { - const vModule = await import("@/variants/" + vname + ".js"); - this.V = window.V = vModule.VariantRules; - this.gameInfo.vname = vname; + await import("@/variants/" + vname + ".js") + .then((vModule) => { + this.V = window.V = vModule.VariantRules; + this.gameInfo.vname = vname; + }) + .catch((err) => { + // Soon after component creation, st.tr might be uninitialized. + // Set a timeout to let a chance for the message to show translated. + const text = "Mispelled variant name"; + setTimeout(() => { + alert(this.st.tr[text] || text); + this.$router.replace("/variants"); + }, 500); + }); }, startGame: function(mode) { if (this.gameInProgress) return; @@ -142,7 +153,7 @@ export default { }, gotoAnalyze: function() { this.$router.push( - "/analyse/" + this.gameInfo.vname + "/?fen=" + V.GenRandInitFen() + "/analyse/" + this.gameInfo.vname + "/?fen=" + V.GenRandInitFen(2) ); } }