Skip to content

Commit 89e2271

Browse files
committed
スマホ用トグルとPC用トグルの連動
1 parent 72b8260 commit 89e2271

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

app/[docs_id]/themeToggle.tsx

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,20 @@ export function ThemeToggle() {
2727
useEffect(() => {
2828
const checkIsDarkSchemePreferred = () =>
2929
window?.matchMedia?.('(prefers-color-scheme:dark)')?.matches ?? false;
30-
setIsChecked(checkIsDarkSchemePreferred());
30+
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();
3144
}, []);
3245

3346
return (

0 commit comments

Comments
 (0)