@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
JavaScript
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
});
};