'update'
[vchess.git] / client / src / utils / gameStorage.js
index 6b44632..05aaef7 100644 (file)
@@ -17,6 +17,7 @@
 // }
 
 import { ajax } from "@/utils/ajax";
+import { store } from "@/store";
 
 function dbOperation(callback)
 {
@@ -24,7 +25,7 @@ function dbOperation(callback)
   let DBOpenRequest = window.indexedDB.open("vchess", 4);
 
   DBOpenRequest.onerror = function(event) {
-    alert("Database error: " + event.target.errorCode);
+    alert(store.state.tr["Database error:"] + " " + event.target.errorCode);
   };
 
   DBOpenRequest.onsuccess = function(event) {
@@ -36,7 +37,7 @@ function dbOperation(callback)
   DBOpenRequest.onupgradeneeded = function(event) {
     let db = event.target.result;
     db.onerror = function(event) {
-      alert("Error while loading database: " + event.target.errorCode);
+      alert(store.state.tr["Error while loading database:"] + " " + event.target.errorCode);
     };
     // Create objectStore for vchess->games
     let objectStore = db.createObjectStore("games", { keyPath: "id" });
@@ -47,7 +48,6 @@ function dbOperation(callback)
 export const GameStorage =
 {
   // Optional callback to get error status
-  // TODO: this func called from Hall seems to not work now...
   add: function(game, callback)
   {
     dbOperation((db) => {
@@ -58,7 +58,7 @@ export const GameStorage =
           callback({}); //everything's fine
         }
         transaction.onerror = function() {
-          callback({errmsg: "addGame failed: " + transaction.error});
+          callback({errmsg: store.state.tr["Game retrieval failed:"] + " " + transaction.error});
         };
       }
       let objectStore = transaction.objectStore("games");
@@ -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,13 @@ export const GameStorage =
           gid: gameId,
           newObj:
           {
-            move: obj.move, //may be undefined...
+            // Some fields may be undefined:
+            chat: obj.chat,
+            move: obj.move,
             fen: obj.fen,
             score: obj.score,
+            scoreMsg: obj.scoreMsg,
+            drawOffer: obj.drawOffer,
           }
         }
       );
@@ -172,7 +177,7 @@ export const GameStorage =
           callback({}); //everything's fine
         }
         transaction.onerror = function() {
-          callback({errmsg: "removeGame failed: " + transaction.error});
+          callback({errmsg: store.state.tr["Game removal failed:"] + " " + transaction.error});
         };
       }
       transaction.objectStore("games").delete(gameId);