feat: mermaid theme auto switch
This commit is contained in:
parent
d557d2e08d
commit
3ae4b0a8b0
3 changed files with 102 additions and 9 deletions
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue