Fix relock popup visibility and buttons
This commit is contained in:
@@ -18,6 +18,7 @@ import {
|
|||||||
openNewSuggestionModal,
|
openNewSuggestionModal,
|
||||||
updatePhaseNav,
|
updatePhaseNav,
|
||||||
openConfirmModal,
|
openConfirmModal,
|
||||||
|
openResultsRelockModal,
|
||||||
} from "./js/ui.js";
|
} from "./js/ui.js";
|
||||||
import {
|
import {
|
||||||
loadState,
|
loadState,
|
||||||
@@ -180,9 +181,15 @@ function setupHandlers() {
|
|||||||
const desired = !!e.target.checked;
|
const desired = !!e.target.checked;
|
||||||
try {
|
try {
|
||||||
const resp = await adminApi.setResultsOpen(desired);
|
const resp = await adminApi.setResultsOpen(desired);
|
||||||
|
const wasResultsOpen = state.resultsOpen;
|
||||||
|
const wasPhase = state.phase;
|
||||||
state.resultsOpen = resp.resultsOpen;
|
state.resultsOpen = resp.resultsOpen;
|
||||||
|
if (wasResultsOpen && !resp.resultsOpen && wasPhase === "Results") {
|
||||||
|
openResultsRelockModal();
|
||||||
|
}
|
||||||
renderPhasePill();
|
renderPhasePill();
|
||||||
toast(t("admin.resultsUpdated"));
|
toast(t("admin.resultsUpdated"));
|
||||||
|
await refreshPhaseData();
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
e.target.checked = !desired;
|
e.target.checked = !desired;
|
||||||
toast(err.message, true);
|
toast(err.message, true);
|
||||||
|
|||||||
@@ -729,7 +729,7 @@ export function openResultsRelockModal() {
|
|||||||
title: t("results.relockedTitle"),
|
title: t("results.relockedTitle"),
|
||||||
body: t("results.relockedBody"),
|
body: t("results.relockedBody"),
|
||||||
confirmLabel: t("results.relockedConfirm"),
|
confirmLabel: t("results.relockedConfirm"),
|
||||||
cancelLabel: t("modal.close"),
|
cancelLabel: null,
|
||||||
onConfirm: (close) => close(),
|
onConfirm: (close) => close(),
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -752,11 +752,15 @@ export function openConfirmModal({ title, body, confirmLabel, cancelLabel = t("m
|
|||||||
actions.className = "stack horizontal";
|
actions.className = "stack horizontal";
|
||||||
const confirmBtn = document.createElement("button");
|
const confirmBtn = document.createElement("button");
|
||||||
confirmBtn.textContent = confirmLabel ?? t("modal.confirm");
|
confirmBtn.textContent = confirmLabel ?? t("modal.confirm");
|
||||||
const cancelBtn = document.createElement("button");
|
actions.append(confirmBtn);
|
||||||
cancelBtn.className = "ghost";
|
if (cancelLabel !== null && cancelLabel !== undefined) {
|
||||||
cancelBtn.type = "button";
|
const cancelBtn = document.createElement("button");
|
||||||
cancelBtn.textContent = cancelLabel;
|
cancelBtn.className = "ghost";
|
||||||
actions.append(confirmBtn, cancelBtn);
|
cancelBtn.type = "button";
|
||||||
|
cancelBtn.textContent = cancelLabel;
|
||||||
|
actions.append(cancelBtn);
|
||||||
|
cancelBtn.addEventListener("click", close);
|
||||||
|
}
|
||||||
panel.querySelector(".edit-body")?.appendChild(actions);
|
panel.querySelector(".edit-body")?.appendChild(actions);
|
||||||
|
|
||||||
const close = () => overlay.remove();
|
const close = () => overlay.remove();
|
||||||
@@ -767,7 +771,6 @@ export function openConfirmModal({ title, body, confirmLabel, cancelLabel = t("m
|
|||||||
)
|
)
|
||||||
close();
|
close();
|
||||||
});
|
});
|
||||||
cancelBtn.addEventListener("click", close);
|
|
||||||
confirmBtn.addEventListener("click", async () => {
|
confirmBtn.addEventListener("click", async () => {
|
||||||
try {
|
try {
|
||||||
await onConfirm?.(close);
|
await onConfirm?.(close);
|
||||||
|
|||||||
Reference in New Issue
Block a user