Show game counts in reveal/vote titles

This commit is contained in:
2026-02-02 15:22:27 +01:00
parent 989beb62c5
commit b838dc252d
3 changed files with 21 additions and 2 deletions

View File

@@ -109,6 +109,7 @@ async function loadRevealData() {
if (state.phase === "Reveal" || state.phase === "Vote" || state.phase === "Results") { if (state.phase === "Reveal" || state.phase === "Vote" || state.phase === "Results") {
state.allSuggestions = await api.allSuggestions(); state.allSuggestions = await api.allSuggestions();
renderAllSuggestions(); renderAllSuggestions();
renderPhaseTitles();
} }
} }
@@ -179,6 +180,7 @@ function renderAllSuggestions() {
const allowEdit = !!state.me?.isAdmin; const allowEdit = !!state.me?.isAdmin;
const allowDelete = !!state.me?.isAdmin && (state.phase === "Reveal" || state.phase === "Suggest"); const allowDelete = !!state.me?.isAdmin && (state.phase === "Reveal" || state.phase === "Suggest");
state.allSuggestions.forEach((s) => list.appendChild(buildCard(s, { showAuthor: true, allowEdit, allowDelete }))); state.allSuggestions.forEach((s) => list.appendChild(buildCard(s, { showAuthor: true, allowEdit, allowDelete })));
renderPhaseTitles();
} }
function renderVotes() { function renderVotes() {
@@ -284,6 +286,18 @@ function renderResults() {
}); });
} }
function renderPhaseTitles() {
const revealTitle = $("reveal-title");
const voteTitle = $("vote-title");
const totalGames = state.allSuggestions?.length ?? 0;
if (revealTitle) {
revealTitle.textContent = totalGames > 0 ? t("section.allSuggestions.count", { count: totalGames }) : t("section.allSuggestions");
}
if (voteTitle) {
voteTitle.textContent = totalGames > 0 ? t("section.vote.count", { count: totalGames }) : t("section.vote");
}
}
function setupHandlers() { function setupHandlers() {
document.querySelectorAll("[data-auth-tab]").forEach(btn => { document.querySelectorAll("[data-auth-tab]").forEach(btn => {
btn.addEventListener("click", () => setAuthMode(btn.dataset.authTab)); btn.addEventListener("click", () => setAuthMode(btn.dataset.authTab));
@@ -300,6 +314,7 @@ function setupHandlers() {
renderWelcome(); renderWelcome();
renderPhasePill(); renderPhasePill();
renderCounts(); renderCounts();
renderPhaseTitles();
renderMySuggestions(); renderMySuggestions();
renderAllSuggestions(); renderAllSuggestions();
if (state.phase === "Vote") { if (state.phase === "Vote") {

View File

@@ -129,14 +129,14 @@
<div id="reveal-view" class="phase-view hidden"> <div id="reveal-view" class="phase-view hidden">
<div class="phase-header"> <div class="phase-header">
<h2 data-i18n="section.allSuggestions">All Suggestions</h2> <h2 id="reveal-title" data-i18n="section.allSuggestions">All Suggestions</h2>
</div> </div>
<div id="all-suggestions" class="card-grid"></div> <div id="all-suggestions" class="card-grid"></div>
</div> </div>
<div id="vote-view" class="phase-view hidden"> <div id="vote-view" class="phase-view hidden">
<div class="phase-header"> <div class="phase-header">
<h2 data-i18n="section.vote">Vote 010</h2> <h2 id="vote-title" data-i18n="section.vote">Vote 010</h2>
</div> </div>
<div id="vote-list" class="card-grid"></div> <div id="vote-list" class="card-grid"></div>
</div> </div>

View File

@@ -48,7 +48,9 @@ const translations = {
"section.mySuggestions": "Your suggestions", "section.mySuggestions": "Your suggestions",
"section.allSuggestions": "All Suggestions", "section.allSuggestions": "All Suggestions",
"section.allSuggestions.count": "All {count} suggestions",
"section.vote": "Vote 0-10", "section.vote": "Vote 0-10",
"section.vote.count": "Vote for all {count} games",
"section.results": "Results", "section.results": "Results",
"card.edit": "Edit", "card.edit": "Edit",
@@ -144,7 +146,9 @@ const translations = {
"section.mySuggestions": "Deine Vorschläge", "section.mySuggestions": "Deine Vorschläge",
"section.allSuggestions": "Alle Vorschläge", "section.allSuggestions": "Alle Vorschläge",
"section.allSuggestions.count": "Alle {count} Vorschläge",
"section.vote": "Bewerten 0-10", "section.vote": "Bewerten 0-10",
"section.vote.count": "Bewerte alle {count} Spiele",
"section.results": "Ergebnisse", "section.results": "Ergebnisse",
"card.edit": "Bearbeiten", "card.edit": "Bearbeiten",