UNPKG

@twa-dev/mark42

Version:

Mark42 is a simple lightweight tree-shakable UI library for [Telegram Web Apps (TWA)](https://core.telegram.org/bots/webapps).

36 lines (33 loc) 1.15 kB
import { useEffect, Fragment } from "react"; import { useTheme } from "../../hooks/useTheme"; import { useColorScheme } from "../../hooks/useColorScheme"; import WebApp from "@twa-dev/sdk"; import { jsx as _jsx } from "react/jsx-runtime"; var setHeaderColor = WebApp.setHeaderColor, setBackgroundColor = WebApp.setBackgroundColor, themeParams = WebApp.themeParams; export var Page = function Page(_ref) { var children = _ref.children, _ref$mode = _ref.mode, mode = _ref$mode === void 0 ? "primary" : _ref$mode; var theme = useTheme(); var colorScheme = useColorScheme(); useEffect(function () { var color = mode === "primary" ? themeParams.bg_color : themeParams.secondary_bg_color; try { setBackgroundColor(color); if (theme === "apple") { setHeaderColor(color); } } catch (e) { console.error(e); } document.documentElement.style.setProperty("background", color); return function () { document.documentElement.style.removeProperty("background"); }; }, [mode, colorScheme, theme]); return /*#__PURE__*/_jsx(Fragment, { children: children }); };