Keep admin phase select stable while user is interacting
This commit is contained in:
@@ -91,7 +91,10 @@ function renderPhasePill() {
|
|||||||
};
|
};
|
||||||
const id = viewMap[state.phase];
|
const id = viewMap[state.phase];
|
||||||
if (id) $(id).classList.remove("hidden");
|
if (id) $(id).classList.remove("hidden");
|
||||||
$("phase-select").value = state.phase || "Suggest";
|
const phaseSelect = $("phase-select");
|
||||||
|
if (!phaseSelect.dataset.userEditing) {
|
||||||
|
phaseSelect.value = state.phase || "Suggest";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function renderCounts() {
|
function renderCounts() {
|
||||||
@@ -214,12 +217,19 @@ function setupHandlers() {
|
|||||||
});
|
});
|
||||||
toast("Phase updated");
|
toast("Phase updated");
|
||||||
state.phase = phase;
|
state.phase = phase;
|
||||||
|
$("phase-select").dataset.userEditing = "";
|
||||||
await refreshPhaseData();
|
await refreshPhaseData();
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
toast(err.message, true);
|
toast(err.message, true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const phaseSelect = $("phase-select");
|
||||||
|
["focus", "input", "click"].forEach(evt => {
|
||||||
|
phaseSelect.addEventListener(evt, () => { phaseSelect.dataset.userEditing = "1"; });
|
||||||
|
});
|
||||||
|
phaseSelect.addEventListener("blur", () => { phaseSelect.dataset.userEditing = ""; });
|
||||||
|
|
||||||
$("reset").addEventListener("click", () => adminAction("/api/admin/reset", "Reset complete"));
|
$("reset").addEventListener("click", () => adminAction("/api/admin/reset", "Reset complete"));
|
||||||
$("factory-reset").addEventListener("click", () => adminAction("/api/admin/factory-reset", "Factory reset complete"));
|
$("factory-reset").addEventListener("click", () => adminAction("/api/admin/factory-reset", "Factory reset complete"));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user