chg: usr: add share button to the overlay when the game ends #4
This commit is contained in:
@@ -20,7 +20,7 @@ const useServerCommunication = (gameAssoc, gameInherited, isEnvDev) => {
|
||||
/** Async-safe refs */
|
||||
webPlayerRef, activePlayerRef, bombSelectedRef, connectionLostRef, endRef,
|
||||
/** State setters */
|
||||
setGridReady,
|
||||
setGridReady, setGameUuid,
|
||||
/** Sync helpers */
|
||||
syncWebPlayer, syncActivePlayer, syncBombSelected, syncConnLost, syncRed, syncBlue,
|
||||
/** Game logic */
|
||||
@@ -193,9 +193,12 @@ const useServerCommunication = (gameAssoc, gameInherited, isEnvDev) => {
|
||||
}
|
||||
|
||||
applyStep(payload.data);
|
||||
if (payload.data.uuid && !endRef.current) {
|
||||
setGameUuid(payload.data.uuid);
|
||||
}
|
||||
makeGameEndIfItEnds(payload.data.bluePoints, payload.data.redPoints, false, payload.data.leftMines);
|
||||
} else {
|
||||
resignProcess(payload.data.resign);
|
||||
resignProcess(payload.data.resign, payload.data.uuid);
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -312,6 +315,9 @@ const useServerCommunication = (gameAssoc, gameInherited, isEnvDev) => {
|
||||
try {
|
||||
const result = await stepMutation.mutateAsync(dataPack);
|
||||
applyStep(result);
|
||||
if (result.uuid && !endRef.current) {
|
||||
setGameUuid(result.uuid);
|
||||
}
|
||||
makeGameEndIfItEnds(result.bluePoints, result.redPoints, false, result.leftMines);
|
||||
} catch (e) {
|
||||
isEnvDev && console.error('Step error', e);
|
||||
@@ -321,8 +327,16 @@ const useServerCommunication = (gameAssoc, gameInherited, isEnvDev) => {
|
||||
const clickResign = () => {
|
||||
const color = activePlayerRef.current ? 'blue' : 'red';
|
||||
const stepElapsed = getStepElapsed(activePlayerRef.current, isGameRunningRef.current);
|
||||
stepMutation.mutate({ resign: color, stepElapsed });
|
||||
resignProcess(webPlayerRef.current);
|
||||
stepMutation.mutate(
|
||||
{ resign: color, stepElapsed },
|
||||
{
|
||||
onSuccess: result => {
|
||||
if (result?.uuid && !endRef.current) {
|
||||
resignProcess(webPlayerRef.current, result.uuid);
|
||||
}
|
||||
},
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
const resign = () => {
|
||||
|
||||
Reference in New Issue
Block a user