X-Git-Url: https://git.auder.net/?a=blobdiff_plain;ds=sidebyside;f=client%2Fsrc%2Futils%2FgameStorage.js;h=630d1c759e2500de9c56ae3bfb94d5ea3726fa6c;hb=dcd68c4108412f45b8ce119ae80ce8f6e296800b;hp=0b3a7da64e350748f93f0963990b9f550a0a03e1;hpb=f41ce5806b989c06091a403d7e26ff3c457650c9;p=vchess.git diff --git a/client/src/utils/gameStorage.js b/client/src/utils/gameStorage.js index 0b3a7da6..630d1c75 100644 --- a/client/src/utils/gameStorage.js +++ b/client/src/utils/gameStorage.js @@ -1,6 +1,6 @@ // Game object: { // // Static informations: -// gameId: string +// id: string // vname: string, // fenStart: string, // players: array of sid+id+name, @@ -39,7 +39,7 @@ function dbOperation(callback) alert("Error while loading database: " + event.target.errorCode); }; // Create objectStore for vchess->games - let objectStore = db.createObjectStore("games", { keyPath: "gameId" }); + let objectStore = db.createObjectStore("games", { keyPath: "id" }); objectStore.createIndex("score", "score"); //to search by game result } } @@ -67,7 +67,8 @@ export const GameStorage = }, // TODO: also option to takeback a move ? - update: function(gameId, obj) //move, fen, clocks, score, initime, ... + // obj: chat, move, fen, clocks, score[Msg], initime, ... + update: function(gameId, obj) { if (Number.isInteger(gameId) || !isNaN(parseInt(gameId))) { @@ -79,9 +80,12 @@ export const GameStorage = gid: gameId, newObj: { + chat: obj.chat, move: obj.move, //may be undefined... fen: obj.fen, score: obj.score, + scoreMsg: obj.scoreMsg, + drawOffer: obj.drawOffer, } } ); @@ -133,7 +137,11 @@ export const GameStorage = if (Number.isInteger(gameId) || !isNaN(parseInt(gameId))) { ajax("/games", "GET", {gid:gameId}, res => { - callback(res.game); + let game = res.game; + game.moves.forEach(m => { + m.squares = JSON.parse(m.squares); + }); + callback(game); }); } else //local game