@startpage/theming
Version:
Create and use themes for your startpage
20 lines (19 loc) • 947 B
JavaScript
;
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;