|
28 | 28 | </style> |
29 | 29 | {% endif %} |
30 | 30 |
|
31 | | -<div class="d-none d-md-block"> |
| 31 | +{% if public %}<div class="d-none d-md-block">{% endif %} |
32 | 32 | <table class="scoreboard desktop-scoreboard center {% if jury %}scoreboard_jury{% endif %}"> |
33 | 33 |
|
34 | 34 | {# output table column groups (for the styles) #} |
|
314 | 314 | {% include 'partials/scoreboard_summary.html.twig' with {sortOrder: previousSortOrder} %} |
315 | 315 | </tbody> |
316 | 316 | </table> |
317 | | -</div> |
| 317 | +{% if public %}</div>{% endif %} |
318 | 318 |
|
319 | | -<table class="d-md-none scoreboard mobile-scoreboard center {% if jury %}scoreboard_jury{% endif %}"> |
320 | | - {# output table column groups (for the styles) #} |
321 | | - <colgroup> |
322 | | - <col id="scorerank-mobile"/> |
323 | | - {% if showFlags %} |
324 | | - <col id="scoreflags-mobile"/> |
325 | | - {% else %} |
326 | | - <col/> |
327 | | - {% endif %} |
| 319 | +{% if public %} |
| 320 | + <table class="d-md-none scoreboard mobile-scoreboard center {% if jury %}scoreboard_jury{% endif %}"> |
| 321 | + {# output table column groups (for the styles) #} |
| 322 | + <colgroup> |
| 323 | + <col id="scorerank-mobile"/> |
| 324 | + {% if showFlags %} |
| 325 | + <col id="scoreflags-mobile"/> |
| 326 | + {% else %} |
| 327 | + <col/> |
| 328 | + {% endif %} |
| 329 | + {% if showAffiliationLogos %} |
| 330 | + <col id="scorelogos-mobile"/> |
| 331 | + {% endif %} |
| 332 | + <col id="scoreteamname-mobile"/> |
| 333 | + </colgroup> |
| 334 | + <colgroup> |
| 335 | + <col id="scoresolv-mobile"/> |
| 336 | + </colgroup> |
| 337 | +
|
| 338 | + {% set teamColspan = 2 %} |
328 | 339 | {% if showAffiliationLogos %} |
329 | | - <col id="scorelogos-mobile"/> |
| 340 | + {% set teamColspan = teamColspan + 1 %} |
330 | 341 | {% endif %} |
331 | | - <col id="scoreteamname-mobile"/> |
332 | | - </colgroup> |
333 | | - <colgroup> |
334 | | - <col id="scoresolv-mobile"/> |
335 | | - </colgroup> |
336 | 342 |
|
337 | | - {% set teamColspan = 2 %} |
338 | | - {% if showAffiliationLogos %} |
339 | | - {% set teamColspan = teamColspan + 1 %} |
340 | | - {% endif %} |
341 | | -
|
342 | | - <thead> |
343 | | - <tr class="scoreheader" data-static="{{ static }}" style="font-size: 75%;"> |
344 | | - <th title="rank" scope="col">rank</th> |
345 | | - <th title="team name" scope="col" colspan="{{ teamColspan }}">team</th> |
346 | | - <th title="# solved / penalty time" colspan="1" scope="col">score</th> |
347 | | - </tr> |
348 | | - </thead> |
349 | | - <tbody> |
350 | | - {% set previousSortOrder = -1 %} |
351 | | - {% set previousTeam = null %} |
352 | | - {% set backgroundColors = {"#FFFFFF": 1} %} |
353 | | - {% set medalCount = 0 %} |
354 | | - {% for score in scores %} |
355 | | - {% set classes = [] %} |
356 | | - {% if score.team.category.sortorder != previousSortOrder %} |
357 | | - {% set classes = classes | merge(['sortorderswitch']) %} |
358 | | - {% set previousSortOrder = score.team.category.sortorder %} |
| 343 | + <thead> |
| 344 | + <tr class="scoreheader" data-static="{{ static }}" style="font-size: 75%;"> |
| 345 | + <th title="rank" scope="col">rank</th> |
| 346 | + <th title="team name" scope="col" colspan="{{ teamColspan }}">team</th> |
| 347 | + <th title="# solved / penalty time" colspan="1" scope="col">score</th> |
| 348 | + </tr> |
| 349 | + </thead> |
| 350 | + <tbody> |
| 351 | + {% set previousSortOrder = -1 %} |
359 | 352 | {% set previousTeam = null %} |
360 | | - {% endif %} |
| 353 | + {% set backgroundColors = {"#FFFFFF": 1} %} |
| 354 | + {% set medalCount = 0 %} |
| 355 | + {% for score in scores %} |
| 356 | + {% set classes = [] %} |
| 357 | + {% if score.team.category.sortorder != previousSortOrder %} |
| 358 | + {% set classes = classes | merge(['sortorderswitch']) %} |
| 359 | + {% set previousSortOrder = score.team.category.sortorder %} |
| 360 | + {% set previousTeam = null %} |
| 361 | + {% endif %} |
361 | 362 |
|
362 | | - {# process medal color #} |
363 | | - {% set medalColor = '' %} |
364 | | - {% if showLegends %} |
365 | | - {% set medalColor = score.team | medalType(contest, scoreboard) %} |
366 | | - {% endif %} |
| 363 | + {# process medal color #} |
| 364 | + {% set medalColor = '' %} |
| 365 | + {% if showLegends %} |
| 366 | + {% set medalColor = score.team | medalType(contest, scoreboard) %} |
| 367 | + {% endif %} |
367 | 368 |
|
368 | | - {# check whether this is us, otherwise use category colour #} |
369 | | - {% if myTeamId is defined and myTeamId == score.team.teamid %} |
370 | | - {% set classes = classes | merge(['scorethisisme']) %} |
371 | | - {% set color = '#FFFF99' %} |
372 | | - {% else %} |
373 | | - {% set color = score.team.category.color %} |
374 | | - {% endif %} |
375 | | - <tr class="{{ classes | join(' ') }}" id="team:{{ score.team.teamid }}:mobile" style="border-bottom-width: 0; height: 28px;"> |
376 | | - <td class="scorepl {{medalColor}}" rowspan="2"> |
377 | | - {# Only print rank when score is different from the previous team #} |
378 | | - {% if not displayRank %} |
379 | | - ? |
380 | | - {% elseif previousTeam is null or scoreboard.scores[previousTeam.teamid].rank != score.rank %} |
381 | | - {{ score.rank }} |
382 | | - {% else %} |
383 | | - {% endif %} |
384 | | - {% set previousTeam = score.team %} |
385 | | - </td> |
386 | | - <td class="scoreaf"> |
387 | | - {% if showFlags %} |
388 | | - {% if score.team.affiliation %} |
389 | | - {% set link = null %} |
390 | | - {% if jury %} |
391 | | - {% set link = path('jury_team_affiliation', {'affilId': score.team.affiliation.affilid}) %} |
392 | | - {% endif %} |
393 | | - <a {% if link %}href="{{ link }}"{% endif %}> |
394 | | - {{ score.team.affiliation.country|countryFlag }} |
395 | | - </a> |
| 369 | + {# check whether this is us, otherwise use category colour #} |
| 370 | + {% if myTeamId is defined and myTeamId == score.team.teamid %} |
| 371 | + {% set classes = classes | merge(['scorethisisme']) %} |
| 372 | + {% set color = '#FFFF99' %} |
| 373 | + {% else %} |
| 374 | + {% set color = score.team.category.color %} |
| 375 | + {% endif %} |
| 376 | + <tr class="{{ classes | join(' ') }}" id="team:{{ score.team.teamid }}:mobile" style="border-bottom-width: 0; height: 28px;"> |
| 377 | + <td class="scorepl {{medalColor}}" rowspan="2"> |
| 378 | + {# Only print rank when score is different from the previous team #} |
| 379 | + {% if not displayRank %} |
| 380 | + ? |
| 381 | + {% elseif previousTeam is null or scoreboard.scores[previousTeam.teamid].rank != score.rank %} |
| 382 | + {{ score.rank }} |
| 383 | + {% else %} |
396 | 384 | {% endif %} |
397 | | - {% endif %} |
398 | | - </td> |
399 | | - {% if showAffiliationLogos %} |
| 385 | + {% set previousTeam = score.team %} |
| 386 | + </td> |
400 | 387 | <td class="scoreaf"> |
401 | | - {% if score.team.affiliation %} |
402 | | - {% set link = null %} |
403 | | - {% if jury %} |
404 | | - {% set link = path('jury_team_affiliation', {'affilId': score.team.affiliation.affilid}) %} |
405 | | - {% endif %} |
406 | | - <a {% if link %}href="{{ link }}"{% endif %}> |
407 | | - {% set affiliationId = score.team.affiliation.affilid %} |
408 | | - {% if showExternalId(score.team.affiliation) %} |
409 | | - {% set affiliationId = score.team.affiliation.externalid %} |
410 | | - {% endif %} |
411 | | - {% set affiliationImage = affiliationId | assetPath('affiliation') %} |
412 | | - {% if affiliationImage %} |
413 | | - <img loading="lazy" width="16px" height="16px" |
414 | | - src="{{ asset(affiliationImage) }}" alt="{{ score.team.affiliation.name }}" |
415 | | - title="{{ score.team.affiliation.name }}"> |
416 | | - {% else %} |
417 | | - {{ affiliationId }} |
| 388 | + {% if showFlags %} |
| 389 | + {% if score.team.affiliation %} |
| 390 | + {% set link = null %} |
| 391 | + {% if jury %} |
| 392 | + {% set link = path('jury_team_affiliation', {'affilId': score.team.affiliation.affilid}) %} |
418 | 393 | {% endif %} |
419 | | - </a> |
| 394 | + <a {% if link %}href="{{ link }}"{% endif %}> |
| 395 | + {{ score.team.affiliation.country|countryFlag }} |
| 396 | + </a> |
| 397 | + {% endif %} |
420 | 398 | {% endif %} |
421 | 399 | </td> |
422 | | - {% endif %} |
423 | | - {% if color is null %} |
424 | | - {% set color = "#FFFFFF" %} |
425 | | - {% set colorClass = "_FFFFFF" %} |
426 | | - {% else %} |
427 | | - {% set colorClass = color | replace({"#": "_"}) %} |
428 | | - {% set backgroundColors = backgroundColors | merge({(color): 1}) %} |
429 | | - {% endif %} |
430 | | - <td class="scoretn cl{{ colorClass }}" title="{{ score.team.effectiveName }}"> |
431 | | - {% set link = null %} |
432 | | - {% set extra = null %} |
433 | | - {% if static %} |
434 | | - {% set link = '#' %} |
435 | | - {% set extra = 'data-bs-toggle="modal" data-bs-target="#team-modal-' ~ score.team.teamid ~ '"' %} |
436 | | - {% else %} |
437 | | - {% if jury %} |
438 | | - {% set link = path('jury_team', {teamId: score.team.teamid}) %} |
439 | | - {% elseif public %} |
440 | | - {% set link = path('public_team', {teamId: score.team.teamid}) %} |
441 | | - {% set extra = 'data-ajax-modal' %} |
| 400 | + {% if showAffiliationLogos %} |
| 401 | + <td class="scoreaf"> |
| 402 | + {% if score.team.affiliation %} |
| 403 | + {% set link = null %} |
| 404 | + {% if jury %} |
| 405 | + {% set link = path('jury_team_affiliation', {'affilId': score.team.affiliation.affilid}) %} |
| 406 | + {% endif %} |
| 407 | + <a {% if link %}href="{{ link }}"{% endif %}> |
| 408 | + {% set affiliationId = score.team.affiliation.affilid %} |
| 409 | + {% if showExternalId(score.team.affiliation) %} |
| 410 | + {% set affiliationId = score.team.affiliation.externalid %} |
| 411 | + {% endif %} |
| 412 | + {% set affiliationImage = affiliationId | assetPath('affiliation') %} |
| 413 | + {% if affiliationImage %} |
| 414 | + <img loading="lazy" width="16px" height="16px" |
| 415 | + src="{{ asset(affiliationImage) }}" alt="{{ score.team.affiliation.name }}" |
| 416 | + title="{{ score.team.affiliation.name }}"> |
| 417 | + {% else %} |
| 418 | + {{ affiliationId }} |
| 419 | + {% endif %} |
| 420 | + </a> |
| 421 | + {% endif %} |
| 422 | + </td> |
| 423 | + {% endif %} |
| 424 | + {% if color is null %} |
| 425 | + {% set color = "#FFFFFF" %} |
| 426 | + {% set colorClass = "_FFFFFF" %} |
442 | 427 | {% else %} |
443 | | - {% set link = path('team_team', {teamId: score.team.teamid}) %} |
444 | | - {% set extra = 'data-ajax-modal' %} |
| 428 | + {% set colorClass = color | replace({"#": "_"}) %} |
| 429 | + {% set backgroundColors = backgroundColors | merge({(color): 1}) %} |
445 | 430 | {% endif %} |
446 | | - {% endif %} |
447 | | - <a {% if extra is not null %}{{ extra | raw }}{% endif %} {% if link is not null %}href="{{ link }}"{% endif %}> |
448 | | - <span class="forceWidth"> |
449 | | - {% if false and usedCategories | length > 1 and scoreboard.bestInCategory(score.team, limitToTeamIds) %} |
450 | | - <span class="badge text-bg-warning category-best"> |
451 | | - {{ score.team.category.name }} |
452 | | - </span> |
453 | | - {% endif %} |
454 | | - {{ score.team.effectiveName }} |
455 | | - </span> |
456 | | - {% if showAffiliations %} |
457 | | - <span class="univ forceWidth"> |
458 | | - {% if score.team.affiliation %} |
459 | | - {{ score.team.affiliation.name }} |
| 431 | + <td class="scoretn cl{{ colorClass }}" title="{{ score.team.effectiveName }}"> |
| 432 | + {% set link = null %} |
| 433 | + {% set extra = null %} |
| 434 | + {% if static %} |
| 435 | + {% set link = '#' %} |
| 436 | + {% set extra = 'data-bs-toggle="modal" data-bs-target="#team-modal-' ~ score.team.teamid ~ '"' %} |
| 437 | + {% else %} |
| 438 | + {% if jury %} |
| 439 | + {% set link = path('jury_team', {teamId: score.team.teamid}) %} |
| 440 | + {% elseif public %} |
| 441 | + {% set link = path('public_team', {teamId: score.team.teamid}) %} |
| 442 | + {% set extra = 'data-ajax-modal' %} |
| 443 | + {% else %} |
| 444 | + {% set link = path('team_team', {teamId: score.team.teamid}) %} |
| 445 | + {% set extra = 'data-ajax-modal' %} |
| 446 | + {% endif %} |
| 447 | + {% endif %} |
| 448 | + <a {% if extra is not null %}{{ extra | raw }}{% endif %} {% if link is not null %}href="{{ link }}"{% endif %}> |
| 449 | + <span class="forceWidth"> |
| 450 | + {% if false and usedCategories | length > 1 and scoreboard.bestInCategory(score.team, limitToTeamIds) %} |
| 451 | + <span class="badge text-bg-warning category-best"> |
| 452 | + {{ score.team.category.name }} |
| 453 | + </span> |
460 | 454 | {% endif %} |
| 455 | + {{ score.team.effectiveName }} |
461 | 456 | </span> |
462 | | - {% endif %} |
463 | | - </a> |
464 | | - </td> |
465 | | - {% set totalTime = score.totalTime %} |
466 | | - {% if scoreInSeconds %} |
467 | | - {% set totalTime = totalTime | printTimeRelative %} |
468 | | - {% endif %} |
469 | | - {% set totalPoints = score.numPoints %} |
470 | | - <td rowspan="2">{{ totalPoints }}<br/><span class="scorett" style="font-weight: normal;">{{ totalTime }}</span></td> |
471 | | - </tr> |
472 | | - <tr style="height: 32px;"> |
473 | | - <td colspan="{% if showAffiliationLogos %}3{% else %}2{% endif %}" class="text-end"> |
474 | | - <span class="mobile-problem-badges me-2 ms-2"> |
475 | | - {% for problem in problems %} |
476 | | - {% set matrixItem = scoreboard.matrix[score.team.teamid][problem.probid] %} |
477 | | - {{ problem | problemBadgeMaybe(matrixItem) }} |
478 | | - {% endfor %} |
479 | | - </span> |
| 457 | + {% if showAffiliations %} |
| 458 | + <span class="univ forceWidth"> |
| 459 | + {% if score.team.affiliation %} |
| 460 | + {{ score.team.affiliation.name }} |
| 461 | + {% endif %} |
| 462 | + </span> |
| 463 | + {% endif %} |
| 464 | + </a> |
480 | 465 | </td> |
| 466 | + {% set totalTime = score.totalTime %} |
| 467 | + {% if scoreInSeconds %} |
| 468 | + {% set totalTime = totalTime | printTimeRelative %} |
| 469 | + {% endif %} |
| 470 | + {% set totalPoints = score.numPoints %} |
| 471 | + <td rowspan="2">{{ totalPoints }}<br/><span class="scorett" style="font-weight: normal;">{{ totalTime }}</span></td> |
481 | 472 | </tr> |
482 | | - {% endfor %} |
483 | | - </tbody> |
484 | | -</table> |
| 473 | + <tr style="height: 32px;"> |
| 474 | + <td colspan="{% if showAffiliationLogos %}3{% else %}2{% endif %}" class="text-end"> |
| 475 | + <span class="mobile-problem-badges me-2 ms-2"> |
| 476 | + {% for problem in problems %} |
| 477 | + {% set matrixItem = scoreboard.matrix[score.team.teamid][problem.probid] %} |
| 478 | + {{ problem | problemBadgeMaybe(matrixItem) }} |
| 479 | + {% endfor %} |
| 480 | + </span> |
| 481 | + </td> |
| 482 | + </tr> |
| 483 | + {% endfor %} |
| 484 | + </tbody> |
| 485 | + </table> |
| 486 | +{% endif %} |
485 | 487 |
|
486 | 488 | {% if static %} |
487 | 489 | {% for score in scores %} |
|
0 commit comments