Remove vote next button; show finalize + admin-wait messaging

This commit is contained in:
2026-02-04 23:09:16 +01:00
parent 58159119cf
commit c21f344520
4 changed files with 28 additions and 5 deletions

View File

@@ -298,7 +298,20 @@ function bindNavButtons() {
});
});
});
makeForward("nav-vote-next");
makeBack("nav-vote-prev");
const finalizeBtn = $("finalize-votes");
if (finalizeBtn) {
finalizeBtn.addEventListener("click", async () => {
try {
const desired = !state.votesFinal;
await api.finalizeVotes(desired);
state.votesFinal = desired;
renderPhasePill();
toast(desired ? t("vote.finalize") : t("vote.unfinalize"));
} catch (err) {
toast(err.message, true);
}
});
}
}

View File

@@ -119,12 +119,12 @@
<div class="nav-text">
<p data-i18n="nav.voteHint">Cast votes for every game to unlock results.</p>
<span class="badge warning hidden" id="vote-missing" data-i18n="vote.missingWarn">You havent voted yet for all games.</span>
<span class="badge warning hidden" id="vote-wait-admin" data-i18n="vote.waitAdmin">Waiting for admin to unlock results.</span>
<span class="badge warning hidden" id="results-lock" data-i18n="admin.resultsLocked">Results locked by admin</span>
</div>
<div class="nav-actions">
<button id="nav-vote-prev" class="ghost" data-i18n="nav.prev">Back</button>
<button id="finalize-votes" class="secondary" type="button" data-i18n="vote.finalize">Finalize votes</button>
<button id="nav-vote-next" class="primary" data-i18n="nav.next">Next</button>
</div>
</div>
</div>

View File

@@ -81,6 +81,7 @@ const translations = {
"vote.finalize": "Finalize votes",
"vote.unfinalize": "Edit votes",
"vote.finalHint": "Finalize when youre done. You can unfinalize to change scores.",
"vote.waitAdmin": "Waiting for admin to unlock results.",
"results.rank": "Rank",
"results.game": "Game",
@@ -203,6 +204,7 @@ const translations = {
"vote.finalize": "Abstimmung abschließen",
"vote.unfinalize": "Abstimmung bearbeiten",
"vote.finalHint": "Schließe ab, wenn du fertig bist. Zum Ändern wieder öffnen.",
"vote.waitAdmin": "Warten, bis der Admin die Ergebnisse freigibt.",
"results.rank": "Rang",
"results.game": "Spiel",

View File

@@ -749,8 +749,16 @@ export function updatePhaseNav() {
const voteMissingBadge = $("vote-missing");
if (voteMissingBadge) {
const missing = missingVotesCount();
voteMissingBadge.classList.toggle("hidden", missing === 0);
voteMissingBadge.textContent = missing > 0 ? t("vote.missingWarn") : "";
const showMissing = !state.votesFinal && missing > 0;
voteMissingBadge.classList.toggle("hidden", !showMissing);
voteMissingBadge.textContent = t("vote.missingWarn");
}
const waitAdmin = $("vote-wait-admin");
if (waitAdmin) {
const show = state.votesFinal && phase === "Vote" && !state.resultsOpen;
waitAdmin.classList.toggle("hidden", !show);
waitAdmin.textContent = t("vote.waitAdmin");
}
// Toggle admin-only back buttons