MCPcopy Create free account
hub / github.com/CommandCodeAI/BaseAI / ThemeWatcher

Function ThemeWatcher

apps/baseai.dev/src/app/providers.tsx:9–31  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

7const FORCE_DARK_MODE_PAGES = ['/'];
8
9function ThemeWatcher() {
10 let { resolvedTheme, setTheme } = useTheme();
11
12 useEffect(() => {
13 let media = window.matchMedia('(prefers-color-scheme: dark)');
14
15 function onMediaChange() {
16 let systemTheme = media.matches ? 'dark' : 'light';
17 if (resolvedTheme === systemTheme) {
18 setTheme('system');
19 }
20 }
21
22 onMediaChange();
23 media.addEventListener('change', onMediaChange);
24
25 return () => {
26 media.removeEventListener('change', onMediaChange);
27 };
28 }, [resolvedTheme, setTheme]);
29
30 return null;
31}
32
33export function Providers({ children }: { children: React.ReactNode }) {
34 const pathname = usePathname();

Callers

nothing calls this directly

Calls 1

onMediaChangeFunction · 0.85

Tested by

no test coverage detected