Your Name
- - - -Current Phase
-Loading…
- -diff --git a/wwwroot/app.js b/wwwroot/app.js
index f979e44..a6fd26c 100644
--- a/wwwroot/app.js
+++ b/wwwroot/app.js
@@ -49,10 +49,12 @@ async function loadState() {
renderPhasePill();
renderCounts();
const nameInput = $("name-input");
- if (!nameInput.dataset.userEditing) {
+ if (nameInput && !nameInput.dataset.userEditing) {
nameInput.value = me.displayName || "";
}
- $("player-id").textContent = `Player ID: ${me.id}`;
+ if ($("player-id")) {
+ $("player-id").textContent = `Player ID: ${me.id}`;
+ }
}
async function loadSuggestData() {
@@ -92,35 +94,28 @@ function renderPhasePill() {
const id = viewMap[state.phase];
if (id) $(id).classList.remove("hidden");
const phaseSelect = $("phase-select");
- if (!phaseSelect.dataset.userEditing) {
+ if (phaseSelect && !phaseSelect.dataset.userEditing) {
phaseSelect.value = state.phase || "Suggest";
}
}
function renderCounts() {
if (!state.counts) return;
- $("phase-description").textContent = `Phase: ${state.phase}`;
$("counts").textContent = `Players: ${state.counts.players} • Suggestions: ${state.counts.suggestions} • Votes: ${state.counts.votes}`;
}
function renderMySuggestions() {
- const list = $("my-suggestions");
- list.innerHTML = "";
- state.mySuggestions.forEach((s) => {
- const li = document.createElement("li");
- li.innerHTML = `${s.name}${s.genre ? ` · ${s.genre}` : ""}
${s.description || ""}`;
- list.appendChild(li);
- });
+ const wrap = $("my-suggestions");
+ if (!wrap) return;
+ wrap.innerHTML = "";
+ state.mySuggestions.forEach((s) => wrap.appendChild(buildCard(s, { showAuthor: false })));
}
function renderAllSuggestions() {
const list = $("all-suggestions");
+ if (!list) return;
list.innerHTML = "";
- state.allSuggestions.forEach((s) => {
- const li = document.createElement("li");
- li.innerHTML = `${s.name} by ${s.author || "Anonymous"}${s.genre ? ` · ${s.genre}` : ""}
${s.description || ""}`;
- list.appendChild(li);
- });
+ state.allSuggestions.forEach((s) => list.appendChild(buildCard(s, { showAuthor: true })));
}
function renderVotes() {
@@ -128,18 +123,14 @@ function renderVotes() {
list.innerHTML = "";
const votesMap = Object.fromEntries(state.myVotes.map((v) => [v.suggestionId, v.score]));
state.allSuggestions.forEach((s) => {
- const li = document.createElement("li");
+ const li = buildCard(s, { showAuthor: true });
const current = votesMap[s.id] ?? 0;
- li.innerHTML = `
-
${s.genre}
` : ""} + ${s.description ? `${s.description}
` : ""} + ${s.youtubeUrl ? `YouTube ↗` : ""} +Blind suggestions, blind votes, quick decision.
-Loading…
- -