thelounge/client/js/socket-events/setting.js
2018-03-30 09:32:20 +02:00

28 lines
729 B
JavaScript

"use strict";
const socket = require("../socket");
const options = require("../options");
function evaluateSetting(name, value) {
if (options.settings.syncSettings && options.settings[name] !== value && !options.noSync.includes(name)) {
options.processSetting(name, value, true);
} else if (options.alwaysSync.includes(name)) {
options.processSetting(name, value, true);
}
}
socket.on("setting:new", function(data) {
const name = data.name;
const value = data.value;
evaluateSetting(name, value);
});
socket.on("setting:all", function(settings) {
if (Object.keys(settings).length === 0) {
options.syncAllSettings();
} else {
for (const name in settings) {
evaluateSetting(name, settings[name]);
}
}
});