X-Git-Url: https://git.auder.net/?p=vchess.git;a=blobdiff_plain;f=client%2Fsrc%2Fviews%2FRules.vue;h=556ea863881ffc95fa5100b6bb8c9060fc10a11c;hp=c05e1843f0161f3b473be84425e351ee26d1d8b6;hb=a97bdbda4ecf83645d409b717e36828784d1450d;hpb=e2d2b49c4b8f5228126991ac5cf41086a51a4285 diff --git a/client/src/views/Rules.vue b/client/src/views/Rules.vue index c05e1843..556ea863 100644 --- a/client/src/views/Rules.vue +++ b/client/src/views/Rules.vue @@ -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;