Skip reveal phase and freeze titles after suggestions
This commit is contained in:
@@ -26,7 +26,7 @@ export async function loadSuggestData() {
|
||||
}
|
||||
|
||||
export async function loadRevealData() {
|
||||
if (state.phase === "Reveal" || state.phase === "Vote" || state.phase === "Results") {
|
||||
if (state.phase === "Vote" || state.phase === "Results") {
|
||||
const latest = await api.allSuggestions();
|
||||
const latestSig = signatureSuggestions(latest);
|
||||
const changed = latestSig !== state.allSuggestionsSig;
|
||||
|
||||
@@ -38,13 +38,12 @@ const translations = {
|
||||
"nav.freezeHint": "Moving forward will freeze your suggestions. Titles become locked; only extra details stay editable.",
|
||||
"nav.freezeModalTitle": "Freeze suggestions?",
|
||||
"nav.freezeModalBody": "Once you leave Suggest, your games are locked: titles cannot be changed or deleted. Only optional details (description, links, players, artwork) remain editable. Continue?",
|
||||
"nav.revealHint": "Review all games, then advance to voting when ready.",
|
||||
"nav.voteHint": "Cast votes for every game to unlock results.",
|
||||
|
||||
"suggest.title": "Suggest games (up to 5)",
|
||||
"suggest.new": "Add new suggestion",
|
||||
"suggest.addButton": "Suggest a game",
|
||||
"suggest.hint": "Only you can see your suggestions until Reveal.",
|
||||
"suggest.hint": "Only you can see your suggestions until voting starts.",
|
||||
"form.gameName": "Game name *",
|
||||
"form.genre": "Genre",
|
||||
"form.description": "Description",
|
||||
@@ -156,13 +155,12 @@ const translations = {
|
||||
"nav.freezeHint": "Beim Weitergehen werden deine Vorschläge eingefroren. Titel bleiben gesperrt; nur Zusatzinfos bleiben bearbeitbar.",
|
||||
"nav.freezeModalTitle": "Vorschläge einfrieren?",
|
||||
"nav.freezeModalBody": "Sobald du die Vorschlagsphase verlässt, sind deine Spiele gesperrt: Titel können nicht mehr geändert oder gelöscht werden. Nur optionale Angaben (Beschreibung, Links, Spielerzahlen, Bilder) bleiben bearbeitbar. Fortfahren?",
|
||||
"nav.revealHint": "Sieh dir alle Spiele an und gehe dann zur Abstimmung weiter.",
|
||||
"nav.voteHint": "Bewerte alle Spiele, um die Ergebnisse freizuschalten.",
|
||||
|
||||
"suggest.title": "Schlage Spiele vor (bis zu 5)",
|
||||
"suggest.new": "Neuen Vorschlag hinzufügen",
|
||||
"suggest.addButton": "Spiel vorschlagen",
|
||||
"suggest.hint": "Nur du siehst deine Vorschläge bis zur Enthüllung.",
|
||||
"suggest.hint": "Nur du siehst deine Vorschläge bis zum Start der Abstimmung.",
|
||||
"form.gameName": "Spielname *",
|
||||
"form.genre": "Genre",
|
||||
"form.description": "Beschreibung",
|
||||
|
||||
@@ -72,7 +72,6 @@ export function renderPhasePill() {
|
||||
);
|
||||
const viewMap = {
|
||||
Suggest: "suggest-view",
|
||||
Reveal: "reveal-view",
|
||||
Vote: "vote-view",
|
||||
Results: "results-view",
|
||||
};
|
||||
@@ -120,9 +119,7 @@ export function renderAllSuggestions() {
|
||||
if (!list) return;
|
||||
list.innerHTML = "";
|
||||
const allowEdit = !!state.me?.isAdmin;
|
||||
const allowDelete =
|
||||
!!state.me?.isAdmin &&
|
||||
(state.phase === "Reveal" || state.phase === "Suggest");
|
||||
const allowDelete = !!state.me?.isAdmin;
|
||||
state.allSuggestions.forEach((s) =>
|
||||
list.appendChild(
|
||||
buildCard(s, { showAuthor: true, allowEdit, allowDelete }),
|
||||
@@ -269,15 +266,8 @@ function buildResultMeta(r) {
|
||||
}
|
||||
|
||||
export 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
|
||||
@@ -726,7 +716,6 @@ export function updatePhaseNav() {
|
||||
};
|
||||
|
||||
showNav("nav-suggest", phase === "Suggest");
|
||||
showNav("nav-reveal", phase === "Reveal");
|
||||
showNav("nav-vote", phase === "Vote");
|
||||
|
||||
const lockBadge = $("results-lock");
|
||||
@@ -737,7 +726,7 @@ export function updatePhaseNav() {
|
||||
}
|
||||
|
||||
// Toggle admin-only back buttons
|
||||
const backButtons = ["nav-reveal-prev", "nav-vote-prev"];
|
||||
const backButtons = ["nav-vote-prev"];
|
||||
backButtons.forEach((id) => {
|
||||
const btn = $(id);
|
||||
if (btn) btn.classList.toggle("hidden", !isAdmin);
|
||||
|
||||
Reference in New Issue
Block a user