Replace results-phase checkbox with stateful button
This commit is contained in:
@@ -81,8 +81,9 @@ function setupResultsToggle(runSerializedRefresh) {
|
||||
const resultsToggle = $("results-open");
|
||||
if (!resultsToggle) return;
|
||||
|
||||
resultsToggle.addEventListener("change", async (e) => {
|
||||
const desired = !!e.target.checked;
|
||||
resultsToggle.addEventListener("click", async () => {
|
||||
const desired = !state.resultsOpen;
|
||||
resultsToggle.disabled = true;
|
||||
try {
|
||||
const resp = await adminApi.setResultsOpen(desired);
|
||||
const wasResultsOpen = state.resultsOpen;
|
||||
@@ -95,8 +96,9 @@ function setupResultsToggle(runSerializedRefresh) {
|
||||
toast(t("admin.resultsUpdated"));
|
||||
await runSerializedRefresh();
|
||||
} catch (err) {
|
||||
e.target.checked = !desired;
|
||||
toast(err.message, true);
|
||||
} finally {
|
||||
resultsToggle.disabled = false;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -270,6 +270,8 @@ export function updatePhaseNav() {
|
||||
|
||||
const adminResultsToggle = $("results-open");
|
||||
if (adminResultsToggle) {
|
||||
adminResultsToggle.checked = !!state.resultsOpen;
|
||||
adminResultsToggle.textContent = state.resultsOpen
|
||||
? t("admin.resultsOpenDisable")
|
||||
: t("admin.resultsOpenEnable");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user