UNPKG

@startpage/theming

Version:

Create and use themes for your startpage

20 lines (19 loc) 947 B
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.ThemeProvider = void 0; const react_1 = __importDefault(require("react")); const local_storage_1 = require("@startpage/local-storage"); const ThemeContext_1 = require("./ThemeContext"); const ThemeProvider = ({ persistTheme, initialTheme, children, }) => { const ENABLE_LOCAL_STORAGE = react_1.default.useMemo(() => Boolean(persistTheme), []); const [theme, setTheme] = ENABLE_LOCAL_STORAGE ? (0, local_storage_1.useStorage)("theme", initialTheme) : react_1.default.useState(initialTheme); return (react_1.default.createElement(ThemeContext_1.ThemeContext.Provider, { value: { theme, setTheme } }, children)); }; exports.ThemeProvider = ThemeProvider;