aboutsummaryrefslogtreecommitdiff
path: root/src/app/settings.js
diff options
context:
space:
mode:
author0neGal <mail@0negal.com>2023-01-27 22:59:06 +0100
committer0neGal <mail@0negal.com>2023-01-27 22:59:06 +0100
commitfeef5a6c98239a2c08433aec1bbc4e5510a79e32 (patch)
treeedd7f6fc7451a2d1de0ae207e2a654eb7eeda222 /src/app/settings.js
parentdee886fb40c4e8600a309a44e4a6938bcb61d51d (diff)
downloadViper-feef5a6c98239a2c08433aec1bbc4e5510a79e32.tar.gz
Viper-feef5a6c98239a2c08433aec1bbc4e5510a79e32.zip
move app/*.js files into app/js/
Diffstat (limited to 'src/app/settings.js')
-rw-r--r--src/app/settings.js137
1 files changed, 0 insertions, 137 deletions
diff --git a/src/app/settings.js b/src/app/settings.js
deleted file mode 100644
index 63b4b99..0000000
--- a/src/app/settings.js
+++ /dev/null
@@ -1,137 +0,0 @@
-var Settings = {
- toggle: (state) => {
- if (state) {
- Settings.load();
- options.scrollTo(0, 0);
- overlay.classList.add("shown");
- options.classList.add("shown");
-
- return
- } else if (! state) {
- if (state != undefined) {
- overlay.classList.remove("shown");
- options.classList.remove("shown");
- return
- }
- }
-
- Settings.load();
- options.scrollTo(0, 0);
- overlay.classList.toggle("shown");
- options.classList.toggle("shown");
- },
- apply: () => {
- settings = {...settings, ...Settings.get()};
- ipcRenderer.send("save-settings", Settings.get());
- },
- reloadSwitches: () => {
- let switches = document.querySelectorAll(".switch");
-
- for (let i = 0; i < switches.length; i++) {
- switches[i].setAttribute("onclick", `Settings.switch(${i})`);
- }
- },
- switch: (element, state) => {
- let switches = document.querySelectorAll(".switch");
- if (switches[element]) {
- element = switches[element];
- }
-
- let on = () => {
- element.classList.add("on");
- element.classList.remove("off");
- }
-
- let off = () => {
- element.classList.add("off");
- element.classList.remove("on");
- }
-
- if (state != undefined) {
- if (state) {on()} else {off()}
- } else {
- if (element.classList.contains("on")) {off()} else {on()}
- }
-
- Settings.reloadSwitches();
- },
- get: () => {
- let opts = {};
- let options = document.querySelectorAll(".option");
-
- for (let i = 0; i < options.length; i++) {
- let optName = options[i].getAttribute("name");
- if (options[i].querySelector(".actions input")) {
- let input = options[i].querySelector(".actions input").value;
- if (options[i].getAttribute("type")) {
- opts[optName] = input.split(" ");
- } else {
- opts[optName] = input;
- }
- } else if (options[i].querySelector(".actions select")) {
- opts[optName] = options[i].querySelector(".actions select").value;
- } else if (options[i].querySelector(".actions .switch")) {
- if (options[i].querySelector(".actions .switch.on")) {
- opts[optName] = true;
- } else {
- opts[optName] = false;
- }
- }
- }
-
- return opts;
- },
- load: () => {
- let options = document.querySelectorAll(".option");
-
- for (let i = 0; i < options.length; i++) {
- let optName = options[i].getAttribute("name");
- if (optName == "forcedlang") {
- let div = options[i].querySelector("select");
-
- div.innerHTML = "";
- let langs = fs.readdirSync(__dirname + "/../lang");
- for (let i in langs) {
- title = JSON.parse(fs.readFileSync(__dirname + `/../lang/${langs[i]}`, "utf8"))["lang.title"];
- if (title) {
- div.innerHTML += `<option value="${langs[i].replace(/\..*$/, '')}">${title}</option>`
- }
-
- }
-
- div.value = settings.forcedlang;
- continue;
- }
-
- if (settings[optName] != undefined) {
- switch(typeof settings[optName]) {
- case "string":
- options[i].querySelector(".actions input").value = settings[optName];
- break
- case "object":
- options[i].querySelector(".actions input").value = settings[optName].join(" ");
- break
- case "boolean":
- let switchDiv = options[i].querySelector(".actions .switch");
- if (settings[optName]) {
- switchDiv.classList.add("on");
- switchDiv.classList.remove("off");
- } else {
- switchDiv.classList.add("off");
- switchDiv.classList.remove("on");
- }
- break
-
- }
- }
- }
-
- ipcRenderer.send("can-autoupdate");
- ipcRenderer.on("cant-autoupdate", () => {
- document.querySelector(".option[name=autoupdate]").style.display = "none";
- })
- }
-}
-
-Settings.reloadSwitches();
-Settings.load();