@@ -124,10 +124,9 @@ function GamePage({ match }) {
124124
125125 const [ game , loadingGame ] = useFirebaseRef ( `games/${ gameId } ` ) ;
126126 const [ gameData , loadingGameData ] = useFirebaseRef ( `gameData/${ gameId } ` ) ;
127+ const spectating = ! ( game ?. users && user . id in game . users ) ;
127128 const [ hasNextGame ] = useFirebaseRef (
128- game ?. status === "done" && ( ! game . users || ! ( user . id in game . users ) )
129- ? `games/${ nextGameId } /status`
130- : null
129+ spectating && game ?. status === "done" ? `games/${ nextGameId } /status` : null
131130 ) ;
132131 const [ playSuccess ] = useSound ( foundSfx ) ;
133132 const [ playFail1 ] = useSound ( failSfx1 ) ;
@@ -241,7 +240,6 @@ function GamePage({ match }) {
241240
242241 const numHints = gameData . hints ?? 0 ;
243242 const paused = gameData . pause ?. start && ! gameData . pause . end ;
244- const spectating = ! game . users || ! ( user . id in game . users ) ;
245243 const leaderboard = Object . keys ( game . users ) . sort (
246244 ( u1 , u2 ) =>
247245 ( scores [ u2 ] || 0 ) - ( scores [ u1 ] || 0 ) ||
@@ -268,8 +266,7 @@ function GamePage({ match }) {
268266 const gameEnded = ! answer || game . status === "done" ;
269267 if (
270268 ! answer &&
271- game . users &&
272- user . id in game . users &&
269+ ! spectating &&
273270 game . status === "ingame" &&
274271 finished . gameId !== gameId
275272 ) {
@@ -424,6 +421,7 @@ function GamePage({ match }) {
424421 history = { history }
425422 startedAt = { game . startedAt }
426423 gameMode = { gameMode }
424+ isPlaying = { ! spectating }
427425 />
428426 </ Paper >
429427 ) }
0 commit comments