From c38c767d1c77d2b6d7852014369de3dab9413826 Mon Sep 17 00:00:00 2001 From: Miodec Date: Thu, 10 Feb 2022 22:51:09 +0100 Subject: [PATCH] subscribing to config event fixes 2 circular dependencies part of #2462 --- frontend/src/js/config.js | 3 --- frontend/src/js/controllers/sound-controller.js | 9 ++++++++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/frontend/src/js/config.js b/frontend/src/js/config.js index e6d44fd44..0a3bd8644 100644 --- a/frontend/src/js/config.js +++ b/frontend/src/js/config.js @@ -1,5 +1,4 @@ import * as DB from "./db"; -import * as Sound from "./controllers/sound-controller"; import * as OutOfFocus from "./test/out-of-focus"; import * as Notifications from "./elements/notifications"; import LayoutList from "./test/layouts"; @@ -222,7 +221,6 @@ export function setPlaySoundOnClick(val, nosave) { val = "off"; } config.playSoundOnClick = val; - if (config.playSoundOnClick !== "off") Sound.init(); if (!nosave) saveToLocalStorage(); dispatchEvent("playSoundOnClick", config.playSoundOnClick); } @@ -232,7 +230,6 @@ export function setSoundVolume(val, nosave) { val = "1.0"; } config.soundVolume = val; - Sound.setVolume(val); if (!nosave) saveToLocalStorage(); dispatchEvent("soundVolume", config.soundVolume); } diff --git a/frontend/src/js/controllers/sound-controller.js b/frontend/src/js/controllers/sound-controller.js index 4182334d5..edf089945 100644 --- a/frontend/src/js/controllers/sound-controller.js +++ b/frontend/src/js/controllers/sound-controller.js @@ -1,4 +1,4 @@ -import Config from "../config"; +import Config, * as UpdateConfig from "../config"; import Howler, { Howl } from "howler"; let errorSound = null; @@ -248,3 +248,10 @@ export function playError() { export function setVolume(val) { Howler.Howler.volume(val); } + +$(document).ready(() => { + UpdateConfig.subscribeToEvent((eventKey, eventValue) => { + if (eventKey === "playSoundOnClick" && eventValue !== "off") init(); + if (eventKey === "soundVolume") setVolume(eventValue); + }); +});