X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fviews%2FAnalyze.vue;h=59d2f3a86a289aa4dc0bde2070c35b6075a3087b;hb=d641bec1b3b299e16b7da93f966dad0b0bd35088;hp=af6bface160a89ea8a98975be72984b03c9035bc;hpb=602d6befd30793111d3fda6e733f73e08d8b7a30;p=vchess.git diff --git a/client/src/views/Analyze.vue b/client/src/views/Analyze.vue index af6bface..59d2f3a8 100644 --- a/client/src/views/Analyze.vue +++ b/client/src/views/Analyze.vue @@ -36,33 +36,32 @@ export default { }; }, watch: { - "$route": function(to, from) { - this.gameRef.fen = to.query["fen"].replace(/_/g, " "); - this.gameRef.vname = to.params["vname"]; - this.loadGame(); - }, + // NOTE: no watcher for $route change, because if fenStart doesn't change + // then it doesn't trigger BaseGame.re_init() and the result is weird. "vr.movesCount": function(fen) { this.curFen = this.vr.getFen(); this.adjustFenSize(); }, }, created: function() { - this.gameRef.fen = this.$route.query["fen"].replace(/_/g, " "); this.gameRef.vname = this.$route.params["vname"]; - if (this.gameRef.vname != "Dark") - this.initialize(this.loadGame); - else + if (this.gameRef.vname == "Dark") { alert(this.st.tr["Analyze in Dark mode makes no sense!"]); history.back(); //or this.$router.go(-1) } + else + { + this.gameRef.fen = this.$route.query["fen"].replace(/_/g, " "); + this.initialize(); + } }, methods: { - initialize: async function(callback) { + initialize: async function() { // Obtain VariantRules object const vModule = await import("@/variants/" + this.gameRef.vname + ".js"); window.V = vModule.VariantRules; - callback(); + this.loadGame(); }, loadGame: function() { // NOTE: no need to set score (~unused) @@ -71,7 +70,8 @@ export default { this.curFen = this.game.fen; this.adjustFenSize(); this.vr = new V(this.game.fen); - this.$set(this.game, "fenStart", this.gameRef.fen); //TODO: Vue3... + this.game.mycolor = this.vr.turn; + this.$set(this.game, "fenStart", this.gameRef.fen); }, adjustFenSize: function() { let fenInput = document.getElementById("fen");