Files
codey.lol/src/hooks/useHtmlThemeAttr.jsx

13 lines
371 B
React
Raw Normal View History

export function useHtmlThemeAttr () {
const [theme, setTheme] = useState(() =>
document.documentElement.getAttribute("data-theme") || "light"
);
useEffect(() => {
const handler = (e) => setTheme(e.detail);
document.addEventListener("set-theme", handler);
return () => document.removeEventListener("set-theme", handler);
}, []);
return theme;
}