vuepress-theme-fuse
Version:
A VuePress theme that supports Bingo Fuse Api document.
45 lines (37 loc) • 1.06 kB
JavaScript
export default {
data() {
return {
darkTheme: false,
ignoreForcedThemes: false,
};
},
mounted() {
if (this.fuse.disableDarkTheme !== true) {
if (this.fuse.defaultDarkTheme === true && !localStorage.getItem('dark-theme')) {
localStorage.setItem('dark-theme', true);
}
this.darkTheme = localStorage.getItem('dark-theme') === 'true';
this.toggleDarkTheme();
}
if (this.fuse.disableThemeIgnore !== true) {
this.ignoreForcedThemes = localStorage.getItem('ignore-forced-themes') === 'true';
}
},
methods: {
toggleDarkTheme() {
if (this.darkTheme) {
document.body.classList.add('fuse-theme-dark');
return localStorage.setItem('dark-theme', true);
}
document.body.classList.remove('fuse-theme-dark');
localStorage.setItem('dark-theme', false);
},
toggleForcedThemes() {
if (this.ignoreForcedThemes) {
this.setTheme(localStorage.getItem('color-theme'));
return localStorage.setItem('ignore-forced-themes', true);
}
localStorage.removeItem('ignore-forced-themes');
},
},
};