Show game counts in reveal/vote titles
This commit is contained in:
@@ -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") {
|
||||||
|
|||||||
@@ -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 0–10</h2>
|
<h2 id="vote-title" data-i18n="section.vote">Vote 0–10</h2>
|
||||||
</div>
|
</div>
|
||||||
<div id="vote-list" class="card-grid"></div>
|
<div id="vote-list" class="card-grid"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
Reference in New Issue
Block a user