diff --git a/src/hooks/useDarkMode.ts b/src/hooks/useDarkMode.ts new file mode 100644 index 0000000..34be2ac --- /dev/null +++ b/src/hooks/useDarkMode.ts @@ -0,0 +1,15 @@ +import { useState, useEffect } from "react"; + +export function useDarkMode() { + const [enabled, setEnabled] = useState(() => { + if (typeof window === "undefined") return false; + return localStorage.getItem("theme") === "dark"; + }); + + useEffect(() => { + document.documentElement.classList.toggle("dark", enabled); + localStorage.setItem("theme", enabled ? "dark" : "light"); + }, [enabled]); + + return { enabled, toggle: () => setEnabled((v) => !v) }; +}