From 2c06faace81b2c38d7670550a35701bf1ec72d8a Mon Sep 17 00:00:00 2001 From: Miodec Date: Sun, 21 Dec 2025 20:46:05 +0100 Subject: [PATCH] add raceFinished event --- frontend/src/ts/tribe/tribe-socket/routes/room.ts | 6 +++++- frontend/src/ts/tribe/tribe.ts | 14 +++++++++----- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/frontend/src/ts/tribe/tribe-socket/routes/room.ts b/frontend/src/ts/tribe/tribe-socket/routes/room.ts index 308d68686..6ba2aebec 100644 --- a/frontend/src/ts/tribe/tribe-socket/routes/room.ts +++ b/frontend/src/ts/tribe/tribe-socket/routes/room.ts @@ -222,12 +222,15 @@ function userResult( callback: (data: { userId: string; result: TribeTypes.Result | undefined; - everybodyCompleted: boolean; }) => void, ): void { Socket.on("room_user_result", callback); } +function raceFinished(callback: () => void): void { + Socket.on("room_race_finished", callback); +} + function finishTimerCountdown( callback: (data: { time: number }) => void, ): void { @@ -287,6 +290,7 @@ export default { countdown, usersUpdate, raceStarted, + raceFinished, progressUpdate, userResult, finishTimerCountdown, diff --git a/frontend/src/ts/tribe/tribe.ts b/frontend/src/ts/tribe/tribe.ts index 66a58e958..a77d8648a 100644 --- a/frontend/src/ts/tribe/tribe.ts +++ b/frontend/src/ts/tribe/tribe.ts @@ -730,11 +730,7 @@ TribeSocket.in.room.userResult((data) => { TribeResults.update("result", data.userId); TribeUserList.update("result"); setTimeout(async () => { - if (data.everybodyCompleted) { - await TribeChartController.drawAllCharts(); - } else { - await TribeChartController.drawChart(data.userId); - } + await TribeChartController.drawChart(data.userId); if (TribeState.getState() >= 21) { void TribeChartController.updateChartMaxValues(); } @@ -742,6 +738,14 @@ TribeSocket.in.room.userResult((data) => { } }); +TribeSocket.in.room.raceFinished(() => { + if (!TestState.isActive) { + setTimeout(() => { + void TribeChartController.drawAllCharts(); + }, 250); + } +}); + TribeSocket.in.room.finishTimerCountdown((data) => { if (TestState.isActive) { TribeCountdown.update(data.time.toString());