diff --git a/Plugins/TimedLightDarkMode/TimedLightDarkMode.plugin.js b/Plugins/TimedLightDarkMode/TimedLightDarkMode.plugin.js
index 14c6217a4a..6b4ab6f56d 100644
--- a/Plugins/TimedLightDarkMode/TimedLightDarkMode.plugin.js
+++ b/Plugins/TimedLightDarkMode/TimedLightDarkMode.plugin.js
@@ -3,7 +3,7 @@
class TimedLightDarkMode {
getName () {return "TimedLightDarkMode";}
- getVersion () {return "1.0.0";}
+ getVersion () {return "1.0.1";}
getAuthor () {return "DevilBro";}
@@ -15,6 +15,9 @@ class TimedLightDarkMode {
};
this.defaults = {
+ settings: {
+ running: {value: true}
+ },
values: {
timer1: {value:25},
timer2: {value:75}
@@ -62,7 +65,7 @@ class TimedLightDarkMode {
if (global.BDFDB && typeof BDFDB === "object" && BDFDB.loaded) {
clearInterval(this.checkInterval);
- BDFDB.removeEles(".TLDM-slider", ".TLDM-header");
+ BDFDB.removeEles(".TLDM-settingsbox");
BDFDB.unloadMessage(this);
}
@@ -73,29 +76,37 @@ class TimedLightDarkMode {
processRadioGroup (instance, wrapper) {
if (instance.props && Array.isArray(instance.props.options) && instance.props.options[0] && instance.props.options[0].value == "light" && instance.props.options[1] && instance.props.options[1].value == "dark" && wrapper.parentElement.firstElementChild.innerText && wrapper.parentElement.firstElementChild.innerText.toUpperCase() == BDFDB.LanguageStrings.THEME.toUpperCase()) {
+ var settings = BDFDB.getAllData(this, "settings");
var values = BDFDB.getAllData(this, "values");
- var header = BDFDB.htmlToElement(`
`);
- var slider = BDFDB.htmlToElement(``);
- wrapper.parentElement.appendChild(header);
- wrapper.parentElement.appendChild(slider);
+ var settingsbox = BDFDB.htmlToElement(``);
+ wrapper.parentElement.appendChild(settingsbox);
+ var slider = settingsbox.querySelector(BDFDB.dotCN.slider);
+
+ BDFDB.initElements(settingsbox, this);
this.updateSlider(slider, values);
- BDFDB.addChildEventListener(slider, "mousedown", BDFDB.dotCN.slidergrabber, e => {this.dragSlider(e.currentTarget);});
+ BDFDB.addChildEventListener(settingsbox, "mousedown", BDFDB.dotCN.slidergrabber, e => {this.dragSlider(e.currentTarget);});
+ BDFDB.addChildEventListener(settingsbox, "click", ".settings-switch", e => {
+ this.startInterval();
+ BDFDB.toggleClass(slider, BDFDB.disCN.sliderdisabled, !e.currentTarget.checked);
+ });
}
}
startInterval () {
clearInterval(this.checkInterval);
- var values = BDFDB.getAllData(this, "values");
- var inverted = values.timer1 > values.timer2;
- var timer1LOW = this.getTime(values.timer1), timer2LOW = this.getTime(values.timer2);
- var timer1HIGH = this.getHighTime(timer2LOW), timer2HIGH = this.getHighTime(timer1LOW);
- this.checkInterval = setInterval(() => {
- var currenttime = new Date();
- var currenthours = currenttime.getHours();
- var currentminutes = currenttime.getMinutes();
- if (inverted) this.changeTheme(!(this.checkTime(timer1LOW, timer1HIGH, [currenthours, currentminutes])));
- else this.changeTheme(this.checkTime(timer2LOW, timer2HIGH, [currenthours, currentminutes]));
- },60000);
+ if (BDFDB.getData("running", this, "settings")) {
+ var values = BDFDB.getAllData(this, "values");
+ var inverted = values.timer1 > values.timer2;
+ var timer1LOW = this.getTime(values.timer1), timer2LOW = this.getTime(values.timer2);
+ var timer1HIGH = this.getHighTime(timer2LOW), timer2HIGH = this.getHighTime(timer1LOW);
+ this.checkInterval = setInterval(() => {
+ var currenttime = new Date();
+ var currenthours = currenttime.getHours();
+ var currentminutes = currenttime.getMinutes();
+ if (inverted) this.changeTheme(!(this.checkTime(timer1LOW, timer1HIGH, [currenthours, currentminutes])));
+ else this.changeTheme(this.checkTime(timer2LOW, timer2HIGH, [currenthours, currentminutes]));
+ },60000);
+ }
}
checkTime (timerLOW, timerHIGH, time) {
@@ -111,6 +122,7 @@ class TimedLightDarkMode {
dragSlider (grabber) {
var track = grabber.parentNode;
+ if (BDFDB.containsClass(track.parentNode, BDFDB.disCN.sliderdisabled)) return;
var type = grabber.getAttribute("key");
var input = track.parentNode.querySelector(`${BDFDB.dotCN.sliderinput}[key="${type}"]`);
var values = BDFDB.getAllData(this, "values");