Implement admin back-pass flow and guarded admin actions
This commit is contained in:
@@ -42,6 +42,7 @@ export function renderVotes() {
|
||||
li.querySelector(".card-body").appendChild(footer);
|
||||
list.appendChild(li);
|
||||
});
|
||||
state.displayedVoteSuggestionsSig = state.allSuggestionsSig;
|
||||
updatePhaseNav();
|
||||
updateMissingBadgeFromDom();
|
||||
list.scrollTop = prevScroll;
|
||||
@@ -202,9 +203,11 @@ export function updatePhaseNav() {
|
||||
|
||||
showNav("nav-suggest", phase === "Suggest");
|
||||
showNav("nav-vote", phase === "Vote");
|
||||
const playerCanMoveBackToSuggest =
|
||||
!isAdmin && phase === "Vote" && state.hasJoker;
|
||||
const jokerBtn = $("open-joker-modal");
|
||||
if (jokerBtn) {
|
||||
const showJoker = phase === "Vote" && state.hasJoker;
|
||||
const showJoker = false;
|
||||
jokerBtn.classList.toggle("hidden", !showJoker);
|
||||
jokerBtn.disabled = !showJoker;
|
||||
}
|
||||
@@ -242,11 +245,14 @@ export function updatePhaseNav() {
|
||||
renderAdminLinker();
|
||||
updateMissingBadgeFromDom();
|
||||
|
||||
const backButtons = ["nav-vote-prev"];
|
||||
backButtons.forEach((id) => {
|
||||
const btn = $(id);
|
||||
if (btn) btn.classList.toggle("hidden", !isAdmin);
|
||||
});
|
||||
const votePrev = $("nav-vote-prev");
|
||||
if (votePrev) {
|
||||
const canUseBack = isAdmin || playerCanMoveBackToSuggest;
|
||||
votePrev.classList.toggle("hidden", !canUseBack);
|
||||
votePrev.textContent = playerCanMoveBackToSuggest
|
||||
? t("nav.backToSuggestOnce")
|
||||
: t("nav.prev");
|
||||
}
|
||||
|
||||
const suggestNext = $("nav-suggest-next");
|
||||
if (suggestNext) {
|
||||
@@ -268,8 +274,10 @@ export function updatePhaseNav() {
|
||||
: t("nav.next");
|
||||
}
|
||||
|
||||
const adminResultsToggle = $("results-open");
|
||||
const adminResultsToggle = $("results-open-toggle");
|
||||
if (adminResultsToggle) {
|
||||
adminResultsToggle.checked = !!state.resultsOpen;
|
||||
adminResultsToggle.textContent = state.resultsOpen
|
||||
? t("admin.resultsOpenButtonDisable")
|
||||
: t("admin.resultsOpenButtonEnable");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user