use date differents instead of interval increments
authorLaurent Mazet <mazet@softndesign.org>
Sun, 30 Aug 2020 19:40:57 +0000 (21:40 +0200)
committerLaurent Mazet <mazet@softndesign.org>
Sun, 30 Aug 2020 19:40:57 +0000 (21:40 +0200)
public/trivabble.js

index 5cde17dd490b6c972ab175598c3f98fc59f7c3d1..cea2e1f9ce18b9168f44db5ca83c245864d02f0d 100644 (file)
     function setCurrentPlayer(player) {
         if (currentPlayer && tablePlayers[currentPlayer]) {
             tablePlayers[currentPlayer].classList.remove("current-player");
-            localStorage.timerTurn = 0;
+            localStorage.timerTurnDate = timerDate();
         }
 
         currentTilePlayed = {};
         myConfirm(
             _("Are you sure you want to put all the tiles back in the bag (in order to play another game)?"),
             function () {
-                localStorage.timerGlobal = localStorage.timerTurn = 0;
+                localStorage.timerGlobalDate = localStorage.timerTurnDate = timerDate();
                 sendCmds([{cmd: "resetGame"}]);
             }
         );
                format(_("{0}' {1}''"), m, s);
     }
 
+    function timerDate() {
+        return Math.floor(Date.now() / 1000);
+    }
+
     function initTimer() {
-        if (!Object.prototype.hasOwnProperty.call(localStorage, "timerTurn")) {
-            localStorage.timerTurn = 0;
+        if (!Object.prototype.hasOwnProperty.call(localStorage, "timerTurnDate")) {
+            localStorage.timerTurnDate = timerDate();
         }
-        if (!Object.prototype.hasOwnProperty.call(localStorage, "timerGlobal")) {
-            localStorage.timerGlobal = 0;
+        if (!Object.prototype.hasOwnProperty.call(localStorage, "timerGlobalDate")) {
+            localStorage.timerGlobalDate = timerDate();
         }
         if (!Object.prototype.hasOwnProperty.call(localStorage, "timerEnable")) {
             localStorage.timerEnable = Conf.ENABLE_TIMER;
             document.getElementById("timer").style.display = "block";
             document.getElementById("enable-timer").checked = true;
             localStorage.timer = setInterval(function () {
-                document.getElementById("timer-turn").textContent = timerString(++localStorage.timerTurn);
-                document.getElementById("timer-global").textContent = timerString(++localStorage.timerGlobal);
+                document.getElementById("timer-turn").textContent = timerString(timerDate() - localStorage.timerTurnDate);
+                document.getElementById("timer-global").textContent = timerString(timerDate() - localStorage.timerGlobalDate);
             }, 1000);
         } else {
             document.getElementById("timer").style.display = "none";
                 clearInterval(localStorage.timer);
                 delete localStorage.timer;
             }
-            localStorage.timerGlobal = localStorage.timerTurn = 0;
+            localStorage.timerGlobalDate = localStorage.timerTurnDate = timerDate();
         }
     }