We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 72b8260 commit 89e2271Copy full SHA for 89e2271
app/[docs_id]/themeToggle.tsx
@@ -27,7 +27,20 @@ export function ThemeToggle() {
27
useEffect(() => {
28
const checkIsDarkSchemePreferred = () =>
29
window?.matchMedia?.('(prefers-color-scheme:dark)')?.matches ?? false;
30
- setIsChecked(checkIsDarkSchemePreferred());
+ setIsChecked(checkIsDarkSchemePreferred());
31
+
32
+ const updateChecked =() =>{
33
+ const theme= document.documentElement.getAttribute("data-theme");
34
+ setIsChecked(theme === "dark");
35
+ }
36
37
+ const observer = new MutationObserver(updateChecked);
38
+ observer.observe(document.documentElement, {
39
+ attributes: true,
40
+ attributeFilter: ["data-theme"],
41
+ });
42
43
+ return () => observer.disconnect();
44
}, []);
45
46
return (
0 commit comments