last
This commit is contained in:
@@ -531,7 +531,9 @@ func resolveResetStages(stage string) ([]string, error) {
|
|||||||
case "preliminary":
|
case "preliminary":
|
||||||
return append([]string{}, preliminaryRoundStages...), nil
|
return append([]string{}, preliminaryRoundStages...), nil
|
||||||
case "final":
|
case "final":
|
||||||
return append([]string{}, finalRoundStages...), nil
|
stages := append([]string{}, finalRoundStages...)
|
||||||
|
stages = append(stages, "final_tiebreak")
|
||||||
|
return stages, nil
|
||||||
case "prelim_tiebreak", "final_tiebreak":
|
case "prelim_tiebreak", "final_tiebreak":
|
||||||
normalized, err := validateStage(stage)
|
normalized, err := validateStage(stage)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@@ -275,11 +275,11 @@
|
|||||||
<div class="hint-box danger" v-if="finalTie.required && !finalTie.resolved">{{ t('messages.finalTieUnresolved') }}</div>
|
<div class="hint-box danger" v-if="finalTie.required && !finalTie.resolved">{{ t('messages.finalTieUnresolved') }}</div>
|
||||||
<div class="empty-state good" v-if="!finalTie.required">{{ t('messages.noFinalTie') }}</div>
|
<div class="empty-state good" v-if="!finalTie.required">{{ t('messages.noFinalTie') }}</div>
|
||||||
|
|
||||||
<template v-if="finalTie.required">
|
|
||||||
<div class="panel-actions">
|
<div class="panel-actions">
|
||||||
<button class="btn btn-outline" @click="$emit('request-reset-stage', 'final_tiebreak')">{{ t('actions.resetScores') }}</button>
|
<button class="btn btn-outline" @click="$emit('request-reset-stage', 'final_tiebreak')">{{ t('actions.resetScores') }}</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<template v-if="finalTie.required">
|
||||||
<PositionBoardEditor
|
<PositionBoardEditor
|
||||||
:t="t"
|
:t="t"
|
||||||
board="final_tiebreak"
|
board="final_tiebreak"
|
||||||
|
|||||||
@@ -268,8 +268,7 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<th>{{ t('table.rank') }}</th>
|
<th>{{ t('table.rank') }}</th>
|
||||||
<th>{{ t('table.competitor') }}</th>
|
<th>{{ t('table.competitor') }}</th>
|
||||||
<th>{{ t('table.total') }}</th>
|
<th>{{ t('table.score') }}</th>
|
||||||
<th>{{ t('table.tieScore') }}</th>
|
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
@@ -290,7 +289,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td class="mono strong">{{ row.score }}</td>
|
<td class="mono strong">{{ row.score }}</td>
|
||||||
<td class="mono">{{ row.tieBreak }}</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr v-if="finalOverallRows.length === 0"><td colspan="4" class="muted center">{{ t('labels.noFinalists') }}</td></tr>
|
<tr v-if="finalOverallRows.length === 0"><td colspan="4" class="muted center">{{ t('labels.noFinalists') }}</td></tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
@@ -349,7 +348,7 @@
|
|||||||
<footer class="live-mode-footer">
|
<footer class="live-mode-footer">
|
||||||
|
|
||||||
<div class="live-footer-slot left ">
|
<div class="live-footer-slot left ">
|
||||||
<img src="/datwyler_logo.png" alt="Datwyler logo" class="live-footer-logo" />
|
<img src="/datwyler_logo.png" alt="Datwyler logo" class=" live-footer-logo live-footer-logo-datwyler " />
|
||||||
</div>
|
</div>
|
||||||
<div class="live-footer-slot center">
|
<div class="live-footer-slot center">
|
||||||
<img src="/arture.png" alt="Arture logo" class="live-footer-logo" />
|
<img src="/arture.png" alt="Arture logo" class="live-footer-logo" />
|
||||||
|
|||||||
@@ -1537,6 +1537,9 @@ select.name-input {
|
|||||||
filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.28));
|
filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.28));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.live-footer-logo-datwyler {
|
||||||
|
height: 65px;
|
||||||
|
}
|
||||||
.live-tie-grid {
|
.live-tie-grid {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
|
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
|
||||||
@@ -2042,7 +2045,7 @@ select.name-input {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.podium-live-card .podium-medal-icon {
|
.podium-live-card .podium-medal-icon {
|
||||||
filter: grayscale(1) brightness(1.2) drop-shadow(0 4px 10px rgba(0, 0, 0, 0.35));
|
/* filter: grayscale(1) brightness(1.2) drop-shadow(0 4px 10px rgba(0, 0, 0, 0.35)); */
|
||||||
font-size: 60px;
|
font-size: 60px;
|
||||||
margin-top: 86px;
|
margin-top: 86px;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ defmodule ShootingEventPhx.Domain.Stages do
|
|||||||
def resolve_reset_stages(stage) do
|
def resolve_reset_stages(stage) do
|
||||||
case normalize_stage(stage) do
|
case normalize_stage(stage) do
|
||||||
"preliminary" -> {:ok, @preliminary_round_stages}
|
"preliminary" -> {:ok, @preliminary_round_stages}
|
||||||
"final" -> {:ok, @final_round_stages}
|
"final" -> {:ok, @final_round_stages ++ ["final_tiebreak"]}
|
||||||
"prelim_tiebreak" -> {:ok, ["prelim_tiebreak"]}
|
"prelim_tiebreak" -> {:ok, ["prelim_tiebreak"]}
|
||||||
"final_tiebreak" -> {:ok, ["final_tiebreak"]}
|
"final_tiebreak" -> {:ok, ["final_tiebreak"]}
|
||||||
_ -> {:error, "invalid stage"}
|
_ -> {:error, "invalid stage"}
|
||||||
|
|||||||
Reference in New Issue
Block a user