swisskyrepo.github.io/_includes/dark-mode.html

43 lines
1.1 KiB
HTML
Raw Normal View History

2022-12-18 21:12:11 +00:00
<script src="https://cdn.jsdelivr.net/npm/darkreader@4.9.44/darkreader.js"></script>
2022-09-30 14:46:02 +00:00
<script>
2022-12-18 20:51:16 +00:00
function darkmode_enable() {
DarkReader.setFetchMethod(window.fetch)
DarkReader.enable();
localStorage.setItem('dark-mode', 'true');
}
2022-09-30 14:46:02 +00:00
2022-12-18 20:51:16 +00:00
function darkmode_disable() {
DarkReader.disable();
localStorage.setItem('dark-mode', 'false');
}
2022-09-30 14:46:02 +00:00
2022-12-18 20:55:09 +00:00
// Handle local configuration
2022-12-18 21:18:22 +00:00
window.addEventListener('DOMContentLoaded', function () {
2022-12-18 21:12:11 +00:00
let is_enabled = localStorage.getItem('dark-mode')
if (is_enabled === 'true' ) {
DarkReader.setFetchMethod(window.fetch)
DarkReader.enable();
}
})
2022-12-18 20:55:09 +00:00
// Handle button action
document.getElementsByClassName('dark-mode-button')[0].onclick = function() {
darkmode_toggle()
}
2022-12-18 20:51:16 +00:00
function darkmode_toggle() {
let is_enabled = localStorage.getItem('dark-mode')
2022-12-18 21:12:11 +00:00
if (is_enabled === null) {
2022-12-18 20:51:16 +00:00
darkmode_enable()
2022-12-18 21:12:11 +00:00
}
else if(is_enabled === 'false' ) {
darkmode_enable()
}
2022-12-18 20:51:16 +00:00
else {
darkmode_disable();
2022-09-30 14:46:02 +00:00
}
}
</script>