made theme switching better
This commit is contained in:
parent
dc3d52a7cb
commit
df5fc9890b
4 changed files with 20 additions and 18 deletions
|
@ -1,11 +1,21 @@
|
|||
const THEME_KEY = "ZULMA_THEME";
|
||||
|
||||
let theme = localStorage.getItem(THEME_KEY);
|
||||
if (theme) {
|
||||
changeTheme(theme);
|
||||
document.querySelectorAll('#theme-select>option').forEach(element => {
|
||||
if (element.value === theme) {
|
||||
element.selected = 'selected';
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function changeTheme(themeName) {
|
||||
let alternates = [];
|
||||
|
||||
document.querySelectorAll('link.stylesheet').forEach(element => {
|
||||
if (element.id === themeName) {
|
||||
element.media = '';
|
||||
element.disabled = false;
|
||||
}
|
||||
else {
|
||||
alternates.push(element);
|
||||
|
@ -13,7 +23,7 @@ function changeTheme(themeName) {
|
|||
});
|
||||
|
||||
alternates.forEach(element => {
|
||||
element.media = 'none';
|
||||
element.disabled = true;
|
||||
});
|
||||
|
||||
saveTheme(themeName);
|
||||
|
@ -23,18 +33,6 @@ function saveTheme(themeName) {
|
|||
localStorage.setItem(THEME_KEY, themeName);
|
||||
}
|
||||
|
||||
window.addEventListener('DOMContentLoaded', () => {
|
||||
let theme = localStorage.getItem(THEME_KEY);
|
||||
if (theme) {
|
||||
changeTheme(theme);
|
||||
document.querySelectorAll('#theme-select>option').forEach(element => {
|
||||
if (element.value === theme) {
|
||||
element.selected = 'selected';
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
window.addEventListener('load', () => {
|
||||
document.getElementById('theme-select').onchange = function () {
|
||||
changeTheme(this.value);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue