Files
threetwo/src/client/hooks/useDarkMode.tsx
2025-12-02 17:05:58 -05:00

18 lines
482 B
TypeScript

import React, { useEffect, useState } from "react";
export const useDarkMode = () => {
const [theme, setTheme] = useState(localStorage.theme);
const colorTheme = theme === "dark" ? "light" : "dark";
useEffect(() => {
const root = window.document.documentElement;
root.classList.remove(colorTheme);
root.classList.add(theme);
// save theme to local storage
localStorage.setItem("theme", theme);
}, [theme, colorTheme]);
return [theme, setTheme];
};