54 lines
2.3 KiB
JavaScript
54 lines
2.3 KiB
JavaScript
// @ts-nocheck
|
|
import React from 'react';
|
|
import ReactDOM from 'react-dom/client';
|
|
import { createBrowserHistory } from 'history';
|
|
import { unstable_HistoryRouter as HistoryRouter } from 'react-router-dom';
|
|
import { ConfigProvider } from 'antd';
|
|
import { StyleProvider, legacyLogicalPropertiesTransformer } from '@ant-design/cssinjs';
|
|
import dayjs from 'dayjs';
|
|
import { ResponsiveProvider } from '../responsive';
|
|
import { FeaturesProvider } from '../features';
|
|
import AppError from './AppError';
|
|
import AppContainer from './AppContainer';
|
|
import AppRouter from './AppRouter';
|
|
// import { AliveScope, autoFixContext } from 'react-activation'
|
|
import 'dayjs/locale/zh-cn';
|
|
import zhCN from 'antd/locale/zh_CN';
|
|
import enUS from 'antd/locale/en_US';
|
|
/* autoFixContext(
|
|
[require('react/jsx-runtime'), 'jsx', 'jsxs', 'jsxDEV'],
|
|
[require('react/jsx-dev-runtime'), 'jsx', 'jsxs', 'jsxDEV']
|
|
) */
|
|
export default function initialize(features, appName, routers, locales, error, format) {
|
|
const history = createBrowserHistory();
|
|
features.navigator.setHistory(history);
|
|
const { language } = window.navigator;
|
|
dayjs.locale(locales?.dayJs || ['zh-CN', 'zh_CN'].includes(language) ? 'zh-cn' : 'en-us');
|
|
const Main = error ? (<HistoryRouter history={history}>
|
|
<AppError error={error} features={features}/>
|
|
</HistoryRouter>) : (<HistoryRouter history={history}>
|
|
<ResponsiveProvider>
|
|
<FeaturesProvider features={features}>
|
|
<ConfigProvider locale={locales?.dayJs || ['zh-CN', 'zh_CN'].includes(language) ? zhCN : enUS} theme={{
|
|
cssVar: {
|
|
prefix: 'adm', // 和antd-mobile共享
|
|
}
|
|
}}>
|
|
<StyleProvider hashPriority="high" transformers={[legacyLogicalPropertiesTransformer]}>
|
|
<AppContainer>
|
|
<AppRouter features={features} appName={appName} routers={routers}/>
|
|
</AppContainer>
|
|
</StyleProvider>
|
|
</ConfigProvider>
|
|
</FeaturesProvider>
|
|
</ResponsiveProvider>
|
|
</HistoryRouter>);
|
|
if (format) {
|
|
return Main;
|
|
}
|
|
else {
|
|
const root = ReactDOM.createRoot(document.getElementById('root'));
|
|
root.render(Main);
|
|
}
|
|
}
|