devroom.io/static/css/custom.js

35 lines
1.2 KiB
JavaScript

function activateDarkMode() {
console.log("activated dark mode");
document.body.classList.add('inverted');
}
function activateLightMode() {
console.log("activated ligth mode");
document.body.classList.remove('inverted');
}
function setColorScheme() {
const isDarkMode = window.matchMedia("(prefers-color-scheme: dark)").matches
const isLightMode = window.matchMedia("(prefers-color-scheme: light)").matches
const isNotSpecified = window.matchMedia("(prefers-color-scheme: no-preference)").matches
const hasNoSupport = !isDarkMode && !isLightMode && !isNotSpecified;
window.matchMedia("(prefers-color-scheme: dark)").addListener(e => e.matches && activateDarkMode())
window.matchMedia("(prefers-color-scheme: light)").addListener(e => e.matches && activateLightMode())
if(isDarkMode) activateDarkMode()
if(isLightMode) activateLightMode()
if(isNotSpecified || hasNoSupport) {
console.log('You specified no preference for a color scheme or your browser does not support it. I Schedule dark mode during night time.')
now = new Date();
hour = now.getHours();
if (hour < 4 || hour >= 16) {
activateDarkMode();
}
}
}
document.addEventListener('DOMContentLoaded', function(event) {
setColorScheme();
})