This commit is contained in:
2026-05-22 21:08:58 +04:00
parent 2ccfac2d04
commit 6f8195cda1
5 changed files with 17 additions and 13 deletions

View File

@@ -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 {

View File

@@ -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"

View File

@@ -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" />

View File

@@ -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;
} }

View File

@@ -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"}