From 5c4e2bb13475729de74210539c54e82d0abe24ef Mon Sep 17 00:00:00 2001 From: ggodpl <46885632+ggodpl@users.noreply.github.com> Date: Sat, 17 May 2025 02:10:40 +0200 Subject: [PATCH] add listeners to betterSettings.js --- mods/betterSettings.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/mods/betterSettings.js b/mods/betterSettings.js index bb213cc0..0ac3312d 100644 --- a/mods/betterSettings.js +++ b/mods/betterSettings.js @@ -15,6 +15,7 @@ class Setting { this.defaultValue = defaultValue ?? type[1]; this.description = description; this.validate = customValidator; + this.listeners = []; } set(value) { @@ -23,6 +24,9 @@ class Setting { const settings = JSON.parse(localStorage.getItem(`${this.tabName}/settings`)) ?? {}; settings[this.name] = value; localStorage.setItem(`${this.tabName}/settings`, JSON.stringify(settings)); + for (const listener of this.listeners) { + listener(value); + } } update() { @@ -42,6 +46,10 @@ class Setting { this.disabled = true; } + onUpdate(callback) { + this.listeners.push(callback); + } + #parseColor(colorString) { if (colorString instanceof Array) return parseColor(colorString[0]); if (typeof colorString != "string") return "#ffffff";