zmp-react
Version:
Build full featured iOS & Android apps using ZMP & React
55 lines (43 loc) • 1.56 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = void 0;
var _lite = _interopRequireDefault(require("zmp-core/lite"));
var _componentsRouter = _interopRequireDefault(require("./components-router"));
var _zmp = require("./zmp");
exports.zmp = _zmp.zmp;
exports.zmpready = _zmp.zmpready;
exports.theme = _zmp.theme;
var ZMPReact = {
name: 'reactPlugin',
installed: false,
install: function install(params) {
if (params === void 0) {
params = {};
}
if (ZMPReact.installed) return;
ZMPReact.installed = true;
(0, _zmp.zmpinitEvents)();
var _params = params,
paramsTheme = _params.theme,
userAgent = _params.userAgent;
if (paramsTheme === 'md') _zmp.theme.md = true;
if (paramsTheme === 'ios') _zmp.theme.ios = true;
if (paramsTheme === 'aurora') _zmp.theme.aurora = true; // eslint-disable-next-line
var needThemeCalc = typeof window === 'undefined' ? !!userAgent : true;
if (needThemeCalc && (!paramsTheme || paramsTheme === 'auto')) {
var device = _lite.default.getDevice({
userAgent: userAgent
}, true);
_zmp.theme.ios = !!device.ios;
_zmp.theme.aurora = device.desktop && device.electron;
_zmp.theme.md = !_zmp.theme.ios && !_zmp.theme.aurora;
}
(0, _zmp.zmpready)(function () {
(0, _zmp.setTheme)();
});
_lite.default.Router.use(_componentsRouter.default);
}
};
var _default = ZMPReact;
exports.default = _default;