Skip to content

Instantly share code, notes, and snippets.

@wchargin
Created July 3, 2025 19:06
Show Gist options
  • Save wchargin/155b8ad072bf1b403d5b5a3eab22a39b to your computer and use it in GitHub Desktop.
Save wchargin/155b8ad072bf1b403d5b5a3eab22a39b to your computer and use it in GitHub Desktop.
(() => {
function setDark(dark) {
document.documentElement.classList.toggle("dark", dark);
}
const mql = window.matchMedia("(prefers-color-scheme: dark)");
function updateDark() {
const fromLocalStorage = localStorage.getItem("theme");
if (fromLocalStorage != null) {
setDark(fromLocalStorage === "dark");
return;
}
setDark(mql.matches);
}
mql.addEventListener("change", updateDark);
window.addEventListener("storage", updateDark);
updateDark();
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment