minor fixess

This commit is contained in:
2026-07-13 06:04:04 +03:00
parent e9e2cbbfec
commit ff2b8a250e
34 changed files with 712 additions and 282 deletions
+27 -5
View File
@@ -52,6 +52,7 @@ $("#save-layout")?.addEventListener("click", async () => {
columns: parseInt($("#layout-columns").value, 10),
spacing: parseInt($("#layout-spacing").value, 10),
showLabels: $("#layout-show-labels").checked,
labelColor: $("#layout-label-color").value,
});
flash("Расположение сохранено");
} catch (e) { flash(e.message, true); }
@@ -84,21 +85,35 @@ $("#save-bg")?.addEventListener("click", async () => {
// ---------- Feedback (borders) ----------
function syncFeedbackPreview() {
const ok = $("#fb-preview-ok"), err = $("#fb-preview-error");
const hold = $("#fb-preview-hold"), pending = $("#fb-preview-pending");
if (!ok) return;
const okColor = $("#fb-ok-color").value;
const errColor = $("#fb-error-color").value;
const holdColor = $("#fb-hold-color").value;
const pendingColor = $("#fb-pending-color").value;
const okW = $("#fb-ok-width").value;
const errW = $("#fb-error-width").value;
const pendingW = $("#fb-pending-width").value;
const glow = $("#fb-glow").value;
$("#fb-ok-width-val").textContent = okW;
$("#fb-error-width-val").textContent = errW;
$("#fb-pending-width-val").textContent = pendingW;
$("#fb-glow-val").textContent = glow;
ok.style.boxShadow = `0 0 ${glow}px ${Math.round(glow/2)}px ${okColor}`;
ok.style.border = `${okW}px solid ${okColor}`;
err.style.boxShadow = `0 0 ${glow}px ${Math.round(glow/2)}px ${errColor}`;
err.style.border = `${errW}px solid ${errColor}`;
if (hold) {
hold.style.boxShadow = `0 0 ${Math.max(8, glow * 0.5)}px ${Math.round(glow/3)}px ${holdColor}`;
hold.style.border = `3px solid ${holdColor}`;
}
if (pending) {
pending.style.boxShadow = `0 0 ${glow}px ${Math.round(glow/2)}px ${pendingColor}`;
pending.style.border = `${pendingW}px solid ${pendingColor}`;
}
}
["fb-ok-color", "fb-error-color", "fb-ok-width", "fb-error-width", "fb-glow"]
["fb-ok-color", "fb-error-color", "fb-hold-color", "fb-pending-color",
"fb-ok-width", "fb-error-width", "fb-pending-width", "fb-glow"]
.forEach(id => $("#" + id)?.addEventListener("input", syncFeedbackPreview));
syncFeedbackPreview();
@@ -107,8 +122,11 @@ $("#save-feedback")?.addEventListener("click", async () => {
await api("PUT", "/api/feedback", {
okColor: $("#fb-ok-color").value,
errorColor: $("#fb-error-color").value,
holdColor: $("#fb-hold-color").value,
pendingColor: $("#fb-pending-color").value,
okWidth: parseInt($("#fb-ok-width").value, 10),
errorWidth: parseInt($("#fb-error-width").value, 10),
pendingWidth: parseInt($("#fb-pending-width").value, 10),
glowRadius: parseInt($("#fb-glow").value, 10),
});
flash("Обводка сохранена");
@@ -137,11 +155,15 @@ $$(".icon-tile .del").forEach(btn => {
// ---------- Password ----------
$("#save-password")?.addEventListener("click", async () => {
const pwd = $("#new-password").value;
const pwd = $("#new-password").value.trim();
if (!pwd) { flash("Введите пароль", true); return; }
await api("PUT", "/api/settings", { password: pwd });
flash("Пароль сохранён. Действует со следующего входа.");
$("#new-password").value = "";
try {
await api("PUT", "/api/settings", { password: pwd });
flash("Пароль сохранён. Действует со следующего входа.");
$("#new-password").value = "";
} catch (e) {
flash(e.message || "Не удалось сохранить пароль", true);
}
});
// ---------- Buttons drag-drop ----------