Sha256: 03e5effc6eb9733bc476581c7c7d12f5a538f980204f04452ac7f0d295fcd85a
Contents?: true
Size: 1.01 KB
Versions: 3
Compression:
Stored size: 1.01 KB
Contents
function toggleDarkMode() { const DARK_CLASS = 'dark'; var body = document.querySelector("body"); if (body.classList.contains(DARK_CLASS)) { setCookie('theme', 'light'); body.classList.remove(DARK_CLASS); } else { setCookie('theme', 'dark'); body.classList.add(DARK_CLASS); } } function getCookie(name) { var v = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)'); return v ? v[2] : null; } function setCookie(name, value, days) { var d = new Date; d.setTime(d.getTime() + 24*60*60*1000*days); document.cookie = name + "=" + value + ";path=/;expires=" + d.toGMTString(); } function deleteCookie(name) { setCookie(name, '', -1); } const userPrefersDark = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches; var theme = getCookie('theme'); if ( (theme === null && userPrefersDark) || theme === 'dark') { var toggleInput = document.querySelector('#dark-mode-toggle'); toggleInput.checked = true; toggleDarkMode(); }
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
plainwhite-0.12 | assets/js/darkmode.js |
plainwhite-0.11 | assets/js/darkmode.js |
plainwhite-0.10 | assets/js/darkmode.js |