Separate bot filter settings

This commit is contained in:
rajchales-monito
2026-07-30 13:57:13 +02:00
parent a0bef3baa3
commit 377a7eda98
2 changed files with 25 additions and 12 deletions
+15 -8
View File
@@ -78,6 +78,7 @@ $("#clusterBotFilterEnabled").addEventListener("change", markPresenceSettingsDir
$("#clusterBotCount").addEventListener("input", markPresenceSettingsDirty);
$("#clusterBotWindowSeconds").addEventListener("input", markPresenceSettingsDirty);
$("#savePresenceSettings").addEventListener("click", savePresenceSettings);
$("#saveBotFilterSettings").addEventListener("click", savePresenceSettings);
$("#adminSoundToggle").addEventListener("click", () => {
setAdminSoundMuted(!state.soundMuted);
});
@@ -772,12 +773,14 @@ function renderPresenceSettings(settings) {
$("#clusterBotFilterEnabled").checked = normalized.clusterBotFilterEnabled;
$("#clusterBotCount").value = normalized.clusterBotCount;
$("#clusterBotWindowSeconds").value = normalized.clusterBotWindowSeconds;
setPresenceStatus(presenceStatusText(normalized, "Oranzova"));
setPresenceStatus(`Oranzova: ${normalized.activeSeconds}-${normalized.offlineSeconds} s necinosti.`);
setBotFilterStatus(botFilterStatusText(normalized));
}
function markPresenceSettingsDirty() {
const normalized = currentPresenceSettingsFromForm();
setPresenceStatus(presenceStatusText(normalized, "Neulozeno. Oranzova"));
setPresenceStatus(`Neulozeno. Oranzova bude ${normalized.activeSeconds}-${normalized.offlineSeconds} s.`);
setBotFilterStatus(`Neulozeno. ${botFilterStatusText(normalized)}`);
}
async function savePresenceSettings() {
@@ -790,7 +793,8 @@ async function savePresenceSettings() {
renderPresenceSettings(state.site.settings.adminPresence || normalized);
state.visitorRenderKey = "";
await Promise.all([loadConversations(), loadVisitors()]);
setPresenceStatus(presenceStatusText(normalized, "Ulozeno. Oranzova"));
setPresenceStatus(`Ulozeno. Oranzova: ${normalized.activeSeconds}-${normalized.offlineSeconds} s necinosti.`);
setBotFilterStatus(`Ulozeno. ${botFilterStatusText(normalized)}`);
}
function normalizePresenceSettings(value = {}) {
@@ -815,11 +819,10 @@ function currentPresenceSettingsFromForm() {
});
}
function presenceStatusText(settings, prefix) {
const cluster = settings.clusterBotFilterEnabled
? ` Hromadny filtr: ${settings.clusterBotCount} navstev / ${settings.clusterBotWindowSeconds} s.`
: " Hromadny filtr vypnuty.";
return `${prefix}: ${settings.activeSeconds}-${settings.offlineSeconds} s necinosti.${cluster}`;
function botFilterStatusText(settings) {
return settings.clusterBotFilterEnabled
? `Hromadny filtr: ${settings.clusterBotCount} navstev / ${settings.clusterBotWindowSeconds} s.`
: "Hromadny filtr vypnuty.";
}
function clampNumber(value, min, max, fallback) {
@@ -832,6 +835,10 @@ function setPresenceStatus(message) {
$("#presenceStatus").textContent = message;
}
function setBotFilterStatus(message) {
$("#botFilterStatus").textContent = message;
}
function renderTelegramSettings(settings) {
$("#telegramEnabled").checked = Boolean(settings.enabled);
$("#telegramOperatorName").value = settings.operatorName || "Alex";