feat: mermaid theme auto switch

This commit is contained in:
Junyi Hou 2024-04-09 16:42:47 +08:00
parent d557d2e08d
commit 3ae4b0a8b0
3 changed files with 102 additions and 9 deletions

View file

@ -23,11 +23,20 @@
let currentTheme
let switchButton
let autoDefinedScheme = window.matchMedia('(prefers-color-scheme: dark)')
function switchTheme(e) {
currentTheme = (currentTheme === 'dark') ? 'light' : 'dark';
if (localStorage) localStorage.setItem(STORAGE_KEY, currentTheme);
document.documentElement.setAttribute('data-theme', currentTheme);
changeGiscusTheme(currentTheme);
document.body.dispatchEvent(new CustomEvent(currentTheme + "-theme-set"));
}
const autoChangeScheme = e => {
currentTheme = e.matches ? 'dark' : 'light'
document.documentElement.setAttribute('data-theme', currentTheme);
changeGiscusTheme(currentTheme);
document.body.dispatchEvent(new CustomEvent(currentTheme + "-theme-set"));
}
document.addEventListener('DOMContentLoaded', function () {
@ -58,13 +67,6 @@
return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
}
function switchTheme(e) {
currentTheme = (currentTheme === 'dark') ? 'light' : 'dark';
if (localStorage) localStorage.setItem(STORAGE_KEY, currentTheme);
document.documentElement.setAttribute('data-theme', currentTheme);
changeGiscusTheme(currentTheme);
}
function showContent() {
document.body.style.visibility = 'visible';
document.body.style.opacity = 1;