@coinmeca/ui
Version:
This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).
18 lines • 637 B
JSX
"use client";
import { useTheme } from "../hooks";
import { createContext, useLayoutEffect } from "react";
export const ThemeContext = createContext({});
export default function Theme({ children }) {
const { theme, setTheme } = useTheme();
function update(theme) {
setTheme(theme);
localStorage?.setItem("theme", theme);
}
useLayoutEffect(() => {
const stored = localStorage.getItem("theme");
if (stored)
setTheme(stored);
}, []);
return <ThemeContext.Provider value={{ theme, setTheme: update }}>{children}</ThemeContext.Provider>;
}
//# sourceMappingURL=Theme.jsx.map