Added mercure to update when everyone is ready

This commit is contained in:
Frank
2026-01-08 20:11:14 +01:00
parent c4c989db4c
commit b965f0f085
5 changed files with 82 additions and 9 deletions

View File

@@ -132,16 +132,22 @@ final class GameController extends AbstractController
if ($session->getStatus() === SessionStatus::READY) {
$isReady = false;
$readyAt = null;
if ($player) {
$settingName = SessionSettingType::tryFrom('ReadyAtForPlayer' . $player->getScreen());
if ($settingName) {
$isReady = $session->getSettings()->exists(fn($i, SessionSetting $s) => $s->getName() === $settingName && $s->getPlayer() === $player);
$setting = $session->getSettings()->filter(fn(SessionSetting $s) => $s->getName() === $settingName && $s->getPlayer() === $player)->first();
if ($setting) {
$isReady = true;
$readyAt = (int)$setting->getValue();
}
}
}
return $this->render('game/waiting.html.twig', [
'session' => $session,
'isReady' => $isReady,
'readyAt' => $readyAt,
'mercure_public_url' => $this->mercurePublicUrl,
]);
}