Keep admin phase select stable while user is interacting

This commit is contained in:
2026-01-28 15:20:44 +01:00
parent 5cb9135179
commit 528d276ba0

View File

@@ -91,7 +91,10 @@ function renderPhasePill() {
};
const id = viewMap[state.phase];
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() {
@@ -214,12 +217,19 @@ function setupHandlers() {
});
toast("Phase updated");
state.phase = phase;
$("phase-select").dataset.userEditing = "";
await refreshPhaseData();
} catch (err) {
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"));
$("factory-reset").addEventListener("click", () => adminAction("/api/admin/factory-reset", "Factory reset complete"));
}