X-Git-Url: https://git.auder.net/images/pieces/Cwda/bt.svg?a=blobdiff_plain;f=client%2Fsrc%2Fviews%2FHall.vue;h=e76139a183cc74c91d61380b317952cb72318034;hb=e64c6f67185b45b3b1205069532362c1bf9680db;hp=97df499ae476082ec751003e93fad02ed9f96227;hpb=a6088c906bbe6fae95707dc7028e45023fe39981;p=vchess.git diff --git a/client/src/views/Hall.vue b/client/src/views/Hall.vue index 97df499a..e76139a1 100644 --- a/client/src/views/Hall.vue +++ b/client/src/views/Hall.vue @@ -78,10 +78,10 @@ import { NbPlayers } from "@/data/nbPlayers"; import { checkChallenge } from "@/data/challengeCheck"; import { ArrayFun } from "@/utils/array"; import { ajax } from "@/utils/ajax"; -import { getRandString, shuffle } from "@/utils/alea"; -import { extractTime } from "@/utils/timeControl"; +import { getRandString } from "@/utils/alea"; import GameList from "@/components/GameList.vue"; import ChallengeList from "@/components/ChallengeList.vue"; +import { GameStorage } from "@/utils/storage"; export default { name: "my-hall", components: { @@ -567,9 +567,8 @@ export default { let gameInfo = { fen: c.fen || V.GenRandInitFen(), - // Shuffle players order (white then black then other colors). // Players' names may be required if game start when a player is offline - players: shuffle(players).map(p => { return {name:p.name, sid:p.sid} }), + players: players.map(p => { return {name:p.name, sid:p.sid} }), vid: c.vid, timeControl: c.timeControl, }; @@ -584,18 +583,13 @@ export default { }, // NOTE: for live games only (corr games are launched on server) newGame: function(gameInfo) { - localStorage["gid"] = getRandString(); - // Extract times (in [milli]seconds), set clocks, store in localStorage - const tc = extractTime(gameInfo.timeControl); - localStorage["timeControl"] = gameInfo.timeControl; - localStorage["clocks"] = JSON.stringify( - [...Array(gameInfo.players.length)].fill(tc.mainTime)); - localStorage["increment"] = tc.increment; - localStorage["started"] = JSON.stringify( - [...Array(gameInfo.players.length)].fill(false)); - localStorage["vname"] = this.getVname(gameInfo.vid); - localStorage["fenInit"] = gameInfo.fen; - localStorage["players"] = JSON.stringify(gameInfo.players); + GameStorage.init({ + gameId: getRandString(), + vname: this.getVname(gameInfo.vid), + fenStart: gameInfo.fen, + players: gameInfo.players, + timeControl: gameInfo.timeControl, + }); if (this.st.settings.sound >= 1) new Audio("/sounds/newgame.mp3").play().catch(err => {}); // TODO: redirect to game