X-Git-Url: https://git.auder.net/pieces/Checkered/cn.svg?a=blobdiff_plain;ds=sidebyside;f=client%2Fsrc%2Fviews%2FMyGames.vue;h=c1430f89bb278b5cd626f525fc16baac765d26e0;hb=f9c36b2da005b596ad656f4b6cc4e09ef3c656f1;hp=e0914f67c1ed63f07e9afdcca5bf295baaa34606;hpb=db1f1f9adb920605c7a16b060a7737e54636ee08;p=vchess.git diff --git a/client/src/views/MyGames.vue b/client/src/views/MyGames.vue index e0914f67..c1430f89 100644 --- a/client/src/views/MyGames.vue +++ b/client/src/views/MyGames.vue @@ -23,6 +23,8 @@ main import { store } from "@/store"; import { GameStorage } from "@/utils/gameStorage"; import { ajax } from "@/utils/ajax"; +import params from "@/parameters"; +import { getRandString } from "@/utils/alea"; import GameList from "@/components/GameList.vue"; export default { name: "my-my-games", @@ -67,12 +69,16 @@ export default { const showType = localStorage.getItem("type-myGames") || "live"; this.setDisplay(showType); }, + beforeDestroy: function() { + this.conn.send(JSON.stringify({code: "disconnect"})); + }, methods: { setDisplay: function(type, e) { this.display = type; localStorage.setItem("type-myGames", type); let elt = e ? e.target : document.getElementById(type + "Games"); elt.classList.add("active"); + elt.classList.remove("somethingnew"); //in case of if (elt.previousElementSibling) elt.previousElementSibling.classList.remove("active"); else elt.nextElementSibling.classList.remove("active"); @@ -86,14 +92,21 @@ export default { }, socketMessageListener: function(msg) { const data = JSON.parse(msg.data); - // Only event is newmove, and received only: - if (data.code == "newmove") { + if (data.code == "changeturn") { let games = !!parseInt(data.gid) ? this.corrGames : this.liveGames; // NOTE: new move itself is not received, because it wouldn't be used. let g = games.find(g => g.id == data.gid); this.$set(g, "movesCount", g.movesCount + 1); + if ( + (g.type == "live" && this.display == "corr") || + (g.type == "corr" && this.display == "live") + ) { + document + .getElementById(g.type + "Games") + .classList.add("somethingnew"); + } } }, socketCloseListener: function() { @@ -114,4 +127,7 @@ export default { table.game-list max-height: 100% + +.somethingnew + background-color: #c5fefe !important