From 6bca6eeb29dd59ca0bc593648784b176ff109295 Mon Sep 17 00:00:00 2001 From: zaphostingpreview Date: Wed, 16 Sep 2026 10:49:12 +0000 Subject: [PATCH] Add useDarkMode hook --- src/hooks/useDarkMode.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 src/hooks/useDarkMode.ts 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) }; +}