Fix clocks while playing live game
[vchess.git] / client / src / utils / gameStorage.js
index 75696a0..77acf94 100644 (file)
@@ -37,7 +37,8 @@ function dbOperation(callback)
       alert("Error while loading database: " + event.target.errorCode);
     };
     // Create objectStore for vchess->games
-    db.createObjectStore("games", { keyPath: "gameId" });
+    let objectStore = db.createObjectStore("games", { keyPath: "gameId" });
+    objectStore.createIndex("score", "score"); //to search by game result
   }
 }
 
@@ -74,8 +75,7 @@ export const GameStorage =
         {
           game.moves.push(obj.move);
           game.fen = obj.fen;
-          if (!!obj.addTime) //NaN if first move in game
-            game.clocks[obj.colorIdx] += obj.addTime;
+          game.clocks[obj.colorIdx] += obj.addTime;
           game.initime[obj.nextIdx] = Date.now();
         }
         if (!!obj.score)
@@ -115,6 +115,16 @@ export const GameStorage =
     });
   },
 
+  getCurrent: function(callback)
+  {
+    dbOperation((db) => {
+      let objectStore = db.transaction('games').objectStore('games');
+      objectStore.get("*").onsuccess = function(event) {
+        callback(event.target.result);
+      };
+    });
+  },
+
   // Delete a game in indexedDB
   remove: function(gameId, callback)
   {