oak-frontend-base/lib/platforms/web/initialize/index.js

39 lines
2.6 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const jsx_runtime_1 = require("react/jsx-runtime");
const client_1 = tslib_1.__importDefault(require("react-dom/client"));
const history_1 = require("history");
const react_router_dom_1 = require("react-router-dom");
const antd_1 = require("antd");
const cssinjs_1 = require("@ant-design/cssinjs");
const dayjs_1 = tslib_1.__importDefault(require("dayjs"));
const responsive_1 = require("../responsive");
const features_1 = require("../features");
const AppError_1 = tslib_1.__importDefault(require("./AppError"));
const AppContainer_1 = tslib_1.__importDefault(require("./AppContainer"));
const AppRouter_1 = tslib_1.__importDefault(require("./AppRouter"));
const react_activation_1 = require("react-activation");
require("dayjs/locale/zh-cn");
const zh_CN_1 = tslib_1.__importDefault(require("antd/locale/zh_CN"));
const en_US_1 = tslib_1.__importDefault(require("antd/locale/en_US"));
(0, react_activation_1.autoFixContext)([require('react/jsx-runtime'), 'jsx', 'jsxs', 'jsxDEV'], [require('react/jsx-dev-runtime'), 'jsx', 'jsxs', 'jsxDEV']);
function initialize(features, appName, routers, locales, error) {
const root = client_1.default.createRoot(document.getElementById('root'));
const history = (0, history_1.createBrowserHistory)();
features.navigator.setHistory(history);
if (error) {
root.render((0, jsx_runtime_1.jsx)(AppError_1.default, { error: error, features: features }));
}
else {
const { language } = window.navigator;
dayjs_1.default.locale(locales?.dayJs || ['zh-CN', 'zh_CN'].includes(language) ? 'zh-cn' : 'en-us');
root.render((0, jsx_runtime_1.jsx)(react_router_dom_1.unstable_HistoryRouter, { history: history, children: (0, jsx_runtime_1.jsx)(responsive_1.ResponsiveProvider, { children: (0, jsx_runtime_1.jsx)(features_1.FeaturesProvider, { features: features, children: (0, jsx_runtime_1.jsx)(antd_1.ConfigProvider, { locale: locales?.dayJs || ['zh-CN', 'zh_CN'].includes(language) ? zh_CN_1.default : en_US_1.default, theme: {
cssVar: {
prefix: 'adm', // 和antd-mobile共享
}
}, children: (0, jsx_runtime_1.jsx)(cssinjs_1.StyleProvider, { hashPriority: "high", transformers: [cssinjs_1.legacyLogicalPropertiesTransformer], children: (0, jsx_runtime_1.jsx)(AppContainer_1.default, { children: (0, jsx_runtime_1.jsx)(AppRouter_1.default, { features: features, appName: appName, routers: routers }) }) }) }) }) }) }));
}
}
exports.default = initialize;