File size: 512 Bytes
143859e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import { createSubscriber } from "svelte/reactivity";

const subscribe = createSubscriber(update => {
	const mutationObserver = new MutationObserver(entries => {
		for (const entry of entries) {
			if (entry.type === "attributes" && entry.attributeName === "class") {
				update();
			}
		}
	});
	mutationObserver.observe(document.body, { attributes: true });

	return () => {
		mutationObserver.disconnect();
	};
});

export function isDark() {
	subscribe();
	return document.body.classList.contains("dark");
}