Improved theme selection. Added changeTheme method.

This commit is contained in:
n1474335 2019-10-27 15:17:06 +00:00
parent 6659174f88
commit 383aab5f85
2 changed files with 18 additions and 3 deletions

View File

@ -492,8 +492,9 @@ class App {
} catch (err) {}
}
// Read in theme from URI params
if (this.uriParams.theme) {
document.querySelector(":root").className = this.uriParams.theme;
this.manager.options.changeTheme(Utils.escapeHtml(this.uriParams.theme));
}
this.autoBakePause = false;

View File

@ -153,14 +153,28 @@ class OptionsWaiter {
/**
* Changes the theme by setting the class of the <html> element.
* Theme change event listener
*
* @param {Event} e
*/
themeChange(e) {
const themeClass = e.target.value;
document.querySelector(":root").className = themeClass;
this.changeTheme(themeClass);
}
/**
* Changes the theme by setting the class of the <html> element.
*
* @param (string} theme
*/
changeTheme(theme) {
document.querySelector(":root").className = theme;
// Update theme selection
const themeSelect = document.getElementById("theme");
themeSelect.selectedIndex = themeSelect.querySelector(`option[value="${theme}"`).index;
}