MCPcopy
hub / github.com/darkreader/darkreader / runColorSchemeChangeDetector

Function runColorSchemeChangeDetector

src/utils/media-query.ts:10–22  ·  view source on GitHub ↗
(callback: (isDark: boolean) => void)

Source from the content-addressed store, hash-verified

8const listeners = new Set<(isDark: boolean) => void>();
9
10export function runColorSchemeChangeDetector(callback: (isDark: boolean) => void): void {
11 listeners.add(callback);
12 if (query) {
13 return;
14 }
15 query = matchMedia('(prefers-color-scheme: dark)');
16 if (isMatchMediaChangeEventListenerSupported) {
17 // MediaQueryList change event is not cancellable and does not bubble
18 query.addEventListener('change', onChange);
19 } else {
20 query.addListener(onChange);
21 }
22}
23
24export function stopColorSchemeChangeDetector(): void {
25 if (!query || !onChange) {

Callers 3

index.tsFile · 0.90
updateEventListenersFunction · 0.90
updateAutoStateMethod · 0.90

Calls 2

addMethod · 0.80
addListenerMethod · 0.45

Tested by

no test coverage detected