From 3743383fd27f25c9742cfc8013aa6fd5503cb819 Mon Sep 17 00:00:00 2001 From: Mirco Wittrien Date: Tue, 11 Dec 2018 21:36:15 +0100 Subject: [PATCH] Update ThemeSettings.plugin.js --- Plugins/ThemeSettings/ThemeSettings.plugin.js | 30 +++++++++++-------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/Plugins/ThemeSettings/ThemeSettings.plugin.js b/Plugins/ThemeSettings/ThemeSettings.plugin.js index 7ebc80368b..9df0f69082 100644 --- a/Plugins/ThemeSettings/ThemeSettings.plugin.js +++ b/Plugins/ThemeSettings/ThemeSettings.plugin.js @@ -7,7 +7,7 @@ class ThemeSettings { getDescription () {return "Allows you to change Theme Variables within BetterDiscord.";} - getVersion () {return "1.0.0";} + getVersion () {return "1.0.1";} getAuthor () {return "DevilBro";} @@ -155,8 +155,10 @@ class ThemeSettings { vars = vars[1].replace(/[\t\n\r]/g,"").replace(/\s{2,}/g," ").replace(/\/\*+.*?\*+\//g,""); vars = vars.split("{"); vars.shift(); - vars = vars.join("{").replace(/ (;|--)/g,"$1").replace(/(:) /g,"$1") - vars = vars.split(";}")[0].slice(2).split(";--"); + vars = vars.join("{").replace(/\s+(;|--)/g,"$1").replace(/(:|;)\s+/g,"$1"); + vars = vars.split("}")[0]; + vars = vars[vars.length -1] == ";" ? vars.slice(0,-1) : vars; + vars = vars.slice(2).split(";--"); if (vars.length > 1) return vars; } return []; @@ -164,18 +166,21 @@ class ThemeSettings { createThemeSettings (name, vars) { if (!this.started || typeof BDFDB !== "object") return; - var settingshtml = `
${BDFDB.encodeToHTML(name)}

Update all variables

`; + var settingshtml = `
${BDFDB.encodeToHTML(name)}

Update all variables

`; + + var settingspanel = $(settingshtml)[0]; + var settingspanelinner = settingspanel.querySelector(".DevilBro-settings-inner"); + for (let varstr of vars) { varstr = varstr.split(":"); let varname = varstr.shift(); - let varvalue = varstr.join(":"); - let iscontentvar = varvalue[0] == varvalue[varvalue.length-1] && (varvalue[0] == `"` || varvalue[0] == `'`); - varvalue = iscontentvar ? varvalue.slice(1,-1) : varvalue; - settingshtml += `

${varname}:

`; + let varvalue = varstr.join(":").trim(); + $(`

${varname}:

`) + .appendTo(settingspanelinner) + .find(BDFDB.dotCN.input) + .val(varvalue) + .attr("placeholder", varvalue); } - settingshtml += `
`; - - var settingspanel = $(settingshtml)[0]; BDFDB.initElements(settingspanel); @@ -189,8 +194,7 @@ class ThemeSettings { let newvalue = input.value; if (newvalue && newvalue.trim() && newvalue != oldvalue) { let varname = input.getAttribute("option"); - if (input.getAttribute("iscontent")) css = css.replace(new RegExp(`--${varname}(\\s*):(\\s*)(["'])${oldvalue}["']`,"g"),`--${varname}$1:$2$3${newvalue}$3`); - else css = css.replace(new RegExp(`--${varname}(\\s*):(\\s*)${oldvalue}`,"g"),`--${varname}$1:$2${newvalue}`); + css = css.replace(new RegExp(`--${varname}(\\s*):(\\s*)${oldvalue}`,"g"),`--${varname}$1:$2${newvalue}`); amount++; } }