diff options
| author | nsfisis <nsfisis@gmail.com> | 2024-08-11 23:15:16 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2024-08-11 23:15:16 +0900 |
| commit | 7527e54bba0c528015ce402bfa4534c1ab6ca1da (patch) | |
| tree | b071ceebe9926693ef032cd3d37d12c6defdfe90 /frontend/app/components/GolfWatchApp.client.tsx | |
| parent | e65ee1dd3403b1572bb64217912b4bc466f65957 (diff) | |
| parent | 7453eaaaf18827209ea296319b8b4bc38bde0950 (diff) | |
| download | iosdc-japan-2024-albatross-7527e54bba0c528015ce402bfa4534c1ab6ca1da.tar.gz iosdc-japan-2024-albatross-7527e54bba0c528015ce402bfa4534c1ab6ca1da.tar.zst iosdc-japan-2024-albatross-7527e54bba0c528015ce402bfa4534c1ab6ca1da.zip | |
Merge branch 'fix/handle-connection-lost-on-play-page'
Diffstat (limited to 'frontend/app/components/GolfWatchApp.client.tsx')
| -rw-r--r-- | frontend/app/components/GolfWatchApp.client.tsx | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/frontend/app/components/GolfWatchApp.client.tsx b/frontend/app/components/GolfWatchApp.client.tsx index cef6f9a..448a966 100644 --- a/frontend/app/components/GolfWatchApp.client.tsx +++ b/frontend/app/components/GolfWatchApp.client.tsx @@ -194,11 +194,35 @@ export default function GolfWatchApp({ }); } } else { - setGameState("waiting"); + if (game.started_at) { + const nowSec = Math.floor(Date.now() / 1000); + if (game.started_at <= nowSec) { + // The game has already started. + if (gameState !== "gaming" && gameState !== "finished") { + setStartedAt(game.started_at); + setLeftTimeSeconds(0); + setGameState("gaming"); + } + } else { + // The game is starting. + if ( + gameState !== "starting" && + gameState !== "gaming" && + gameState !== "finished" + ) { + setStartedAt(game.started_at); + setLeftTimeSeconds(game.started_at - nowSec); + setGameState("starting"); + } + } + } else { + setGameState("waiting"); + } } } }, [ game.verification_steps, + game.started_at, lastJsonMessage, readyState, gameState, |
