X-Git-Url: https://git.auder.net/?p=vchess.git;a=blobdiff_plain;f=client%2Fsrc%2Fviews%2FMyGames.vue;h=c9c6565979f6bcef41f077272de8a1a610c5e75d;hp=e0914f67c1ed63f07e9afdcca5bf295baaa34606;hb=23ecf00824691b5622b468e0409fc543c87d75dc;hpb=3b959cfaf3d3a28373d7ebb48d80087150a98006 diff --git a/client/src/views/MyGames.vue b/client/src/views/MyGames.vue index e0914f67..c9c65659 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"); @@ -94,6 +100,14 @@ export default { // 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 +128,7 @@ export default { table.game-list max-height: 100% + +.somethingnew + background-color: #c5fefe !important