Quellcode durchsuchen

Fixing a bug in the join logic where old timers were not being cleared

kirkleon vor 5 Jahren
Ursprung
Commit
1eeeb82e40
1 geänderte Dateien mit 14 neuen und 3 gelöschten Zeilen
  1. 14 3
      client/src/domain/gameStore.js

+ 14 - 3
client/src/domain/gameStore.js

@@ -1,7 +1,12 @@
 import { PRE_GAME, PRE_ROUND, IN_ROUND, POST_ROUND, POST_GAME } from "./GameState";
 import { createStore } from "../store";
 import { joinGame, sendGuess } from "./apiMethods";
-import { saveGameInfoToLocalStorage, clearGameInfoFromLocalStorage } from "./localStorageMethods";
+import {
+  saveGameInfoToLocalStorage,
+  clearGameInfoFromLocalStorage,
+  clearPointFromLocalStorage,
+  clearTimerFromLocalStorage,
+} from "./localStorageMethods";
 
 export const [
   {
@@ -38,6 +43,8 @@ export const [
     const name = get.playerName();
     const { playerId } = await joinGame(gameId, name);
     set({ playerId });
+    clearTimerFromLocalStorage();
+    clearPointFromLocalStorage();
     saveGameInfoToLocalStorage(gameId, name, playerId);
   },
   rejoinGame: ([set], gameId, playerName, playerId) => set({ 
@@ -64,8 +71,12 @@ export const [
       gameState: POST_ROUND,
     });
   },
-  goToSummary: ([set, get], gameId) => {
-    clearGameInfoFromLocalStorage();
+  goToSummary: ([set, get], gameId, clearSavedGame = true) => {
+    if (clearSavedGame) {
+      clearTimerFromLocalStorage();
+      clearPointFromLocalStorage();
+      clearGameInfoFromLocalStorage();
+    }
     set({
       gameId: gameId || get.gameId(),
       gameState: POST_GAME,