diff --git a/webapp/public/style_domjudge.css b/webapp/public/style_domjudge.css index cd8235219a..71197ac8e0 100644 --- a/webapp/public/style_domjudge.css +++ b/webapp/public/style_domjudge.css @@ -265,10 +265,10 @@ img.affiliation-logo { padding-right: 3pt; } -.score_correct { background: #60e760; } -.score_first { background: #1daa1d !important; } -.score_pending { background: #6666FF; } -.score_incorrect { background: #e87272; } +.score_correct { background: #60e760; } +.score_correct.score_first { background: #1daa1d; } +.score_incorrect { background: #e87272; } +.score_pending { background: #6666ff; } .gold-medal { background-color: #EEC710 } .silver-medal { background-color: #AAA } diff --git a/webapp/public/style_jury.css b/webapp/public/style_jury.css index c07b7da6c7..3db8fe24a3 100644 --- a/webapp/public/style_jury.css +++ b/webapp/public/style_jury.css @@ -48,6 +48,11 @@ tr.summary td { border-top: 1px solid black; } clickable in the jury scoreboard and for all team cells */ .scoreboard_jury td, .scoreboard_jury th { padding: 0; } +/* show pending submissions using a blue corner */ +.score_pending.score_correct { background: linear-gradient(45deg, #60e760 85%, #6666ff 85%); } +.score_pending.score_correct.score_first { background: linear-gradient(45deg, #1daa1d 85%, #6666ff 85%); } +.score_pending.score_incorrect { background: linear-gradient(45deg, #e87272 85%, #6666ff 85%); } + #submission_layout { width: 100%; } #djlogo { diff --git a/webapp/src/Service/ScoreboardService.php b/webapp/src/Service/ScoreboardService.php index 37da962bdb..6a847be910 100644 --- a/webapp/src/Service/ScoreboardService.php +++ b/webapp/src/Service/ScoreboardService.php @@ -932,7 +932,7 @@ public function getScoreboardTwigData( $data['showFlags'] = $this->config->get('show_flags'); $data['showAffiliationLogos'] = $this->config->get('show_affiliation_logos'); $data['showAffiliations'] = $this->config->get('show_affiliations'); - $data['showPending'] = $this->config->get('show_pending'); + $data['showPending'] = empty($scoreboard) || $scoreboard->getFreezeData()->showFrozen() ? $this->config->get('show_pending') : 0; $data['showTeamSubmissions'] = $this->config->get('show_teams_submissions'); $data['scoreInSeconds'] = $this->config->get('score_in_seconds'); $data['maxWidth'] = $this->config->get('team_column_width'); diff --git a/webapp/src/Utils/Scoreboard/Scoreboard.php b/webapp/src/Utils/Scoreboard/Scoreboard.php index 6e92330961..c5a8daaead 100644 --- a/webapp/src/Utils/Scoreboard/Scoreboard.php +++ b/webapp/src/Utils/Scoreboard/Scoreboard.php @@ -154,8 +154,9 @@ protected function calculateScoreboard(): void $this->matrix[$teamId][$probId] = new ScoreboardMatrixItem( $scoreRow->getIsCorrect($this->restricted), $scoreRow->getIsCorrect($this->restricted) && $scoreRow->getIsFirstToSolve(), - $scoreRow->getSubmissions($this->restricted), - $scoreRow->getPending($this->restricted), + // When public scoreboard is frozen, also show "x + y tries" for jury + $scoreRow->getSubmissions($this->freezeData->showFrozen() ? false : $this->restricted), + $scoreRow->getPending($this->freezeData->showFrozen() ? false : $this->restricted), $scoreRow->getSolveTime($this->restricted), $penalty, $scoreRow->getRuntime($this->restricted) diff --git a/webapp/src/Utils/Scoreboard/SingleTeamScoreboard.php b/webapp/src/Utils/Scoreboard/SingleTeamScoreboard.php index 76aae33bd2..3267322be7 100644 --- a/webapp/src/Utils/Scoreboard/SingleTeamScoreboard.php +++ b/webapp/src/Utils/Scoreboard/SingleTeamScoreboard.php @@ -65,8 +65,9 @@ protected function calculateScoreboard(): void $this->matrix[$scoreRow->getTeam()->getTeamid()][$scoreRow->getProblem()->getProbid()] = new ScoreboardMatrixItem( $scoreRow->getIsCorrect($this->restricted), $scoreRow->getIsCorrect($this->showRestrictedFts) && $scoreRow->getIsFirstToSolve(), - $scoreRow->getSubmissions($this->restricted), - $scoreRow->getPending($this->restricted), + // When public scoreboard is frozen, also show "x + y tries" for jury + $scoreRow->getSubmissions($this->freezeData->showFrozen() ? false : $this->restricted), + $scoreRow->getPending($this->freezeData->showFrozen() ? false : $this->restricted), $scoreRow->getSolveTime($this->restricted), $penalty, $scoreRow->getRuntime($this->restricted) diff --git a/webapp/templates/partials/scoreboard.html.twig b/webapp/templates/partials/scoreboard.html.twig index 96a9c9e939..3c4f58e4e0 100644 --- a/webapp/templates/partials/scoreboard.html.twig +++ b/webapp/templates/partials/scoreboard.html.twig @@ -93,11 +93,12 @@ {% endif %} - {% if scoreboard.freezeData.showFrozen(false) %} + {% if scoreboard.freezeData.showFrozen %}