diff --git a/.umirc.js b/.umirc.js
index 32d7d26..b0565dd 100644
--- a/.umirc.js
+++ b/.umirc.js
@@ -5,6 +5,12 @@ const path = require('path')
const lessToJs = require('less-vars-to-js')
const isDevelopment = process.env.NODE_ENV === 'development'
+const { theme } = require('antd/lib')
+const { convertLegacyToken } = require('@ant-design/compatible/lib')
+
+const mapToken = theme.defaultAlgorithm(theme.defaultSeed)
+const v4Token = convertLegacyToken(mapToken)
+
// how to speed compile: https://umijs.org/guide/boost-compile-speed
export default {
// IMPORTANT! change next line to yours or delete. And hide in dev
@@ -63,9 +69,12 @@ export default {
},
// Theme for antd
// https://ant.design/docs/react/customize-theme
- theme: lessToJs(
+ theme: {
+ ...v4Token,
+ ...lessToJs(
fs.readFileSync(path.join(__dirname, './src/themes/default.less'), 'utf8')
- ),
+ )
+ },
webpack5: {},
mfsu: {},
chainWebpack: function (config, { webpack }) {
diff --git a/package.json b/package.json
index 4b1c72b..0cb5bb9 100644
--- a/package.json
+++ b/package.json
@@ -6,7 +6,7 @@
"dependencies": {
"@ant-design/icons": "^4.6.2",
"@lingui/react": "^3.8.0",
- "antd": "^4.0.0",
+ "antd": "^5.0.0",
"axios": "^0.21.0",
"classnames": "^2.2.6",
"d3-shape": "^2.1.0",
@@ -38,6 +38,7 @@
"store": "^2.0.0"
},
"devDependencies": {
+ "@ant-design/compatible": "^5.1.0",
"@babel/preset-react": "^7.12.13",
"@lingui/cli": "^3.8.0",
"@lingui/macro": "^3.8.0",
diff --git a/src/components/GlobalFooter/index.less b/src/components/GlobalFooter/index.less
index e4b3dfd..ac43595 100644
--- a/src/components/GlobalFooter/index.less
+++ b/src/components/GlobalFooter/index.less
@@ -1,4 +1,4 @@
-@import '~antd/lib/style/themes/default.less';
+/* @import '~antd/lib/style/themes/default.less'; */
.globalFooter {
margin: 48px 0 24px 0;
diff --git a/src/components/Layout/Header.js b/src/components/Layout/Header.js
index 3b37540..08ba1bc 100644
--- a/src/components/Layout/Header.js
+++ b/src/components/Layout/Header.js
@@ -10,7 +10,7 @@ import {
} from '@ant-design/icons'
import { Trans } from "@lingui/macro"
import { getLocale, setLocale } from 'utils'
-import moment from 'moment'
+import dayjs from 'dayjs'
import classnames from 'classnames'
import config from 'config'
import styles from './Header.less'
@@ -107,7 +107,7 @@ class Header extends PureComponent {
{item.title}
}
- description={moment(item.date).fromNow()}
+ description={dayjs(item.date).fromNow()}
/>
@@ -141,6 +141,7 @@ class Header extends PureComponent {
[styles.fixed]: fixed,
[styles.collapsed]: collapsed,
})}
+ style={{height: 72, backgroundColor: 'white', paddingInline: 0}}
id="layoutHeader"
>
+ (
{isMobile ? (
{hasPermission ? children : }
- document.querySelector('#primaryLayout')}
/>
@@ -152,8 +152,8 @@ class PrimaryLayout extends PureComponent {
/>
-
- )
+ )
+ );
}
}
diff --git a/src/pages/dashboard/components/recentSales.js b/src/pages/dashboard/components/recentSales.js
index 01907dc..bcfdac1 100644
--- a/src/pages/dashboard/components/recentSales.js
+++ b/src/pages/dashboard/components/recentSales.js
@@ -1,5 +1,5 @@
import React from 'react'
-import moment from 'moment'
+import dayjs from 'dayjs'
import PropTypes from 'prop-types'
import { Table, Tag } from 'antd'
import { Color } from 'utils'
@@ -38,7 +38,7 @@ function RecentSales({ data }) {
{
title: 'DATE',
dataIndex: 'date',
- render: text => moment(text).format('YYYY-MM-DD'),
+ render: text => dayjs(text).format('YYYY-MM-DD'),
},
{
title: 'PRICE',
diff --git a/src/pages/user/components/Filter.js b/src/pages/user/components/Filter.js
index 3443baa..74315c8 100644
--- a/src/pages/user/components/Filter.js
+++ b/src/pages/user/components/Filter.js
@@ -1,6 +1,6 @@
import React, { Component } from 'react'
import PropTypes from 'prop-types'
-import moment from 'moment'
+import dayjs from 'dayjs'
import { FilterItem } from 'components'
import { Trans } from "@lingui/macro"
import { t } from "@lingui/macro"
@@ -30,8 +30,8 @@ class Filter extends Component {
const { createTime } = fields
if (createTime && createTime.length) {
fields.createTime = [
- moment(createTime[0]).format('YYYY-MM-DD'),
- moment(createTime[1]).format('YYYY-MM-DD'),
+ dayjs(createTime[0]).format('YYYY-MM-DD'),
+ dayjs(createTime[1]).format('YYYY-MM-DD'),
]
}
return fields
@@ -72,10 +72,10 @@ class Filter extends Component {
let initialCreateTime = []
if (filter.createTime && filter.createTime[0]) {
- initialCreateTime[0] = moment(filter.createTime[0])
+ initialCreateTime[0] = dayjs(filter.createTime[0])
}
if (filter.createTime && filter.createTime[1]) {
- initialCreateTime[1] = moment(filter.createTime[1])
+ initialCreateTime[1] = dayjs(filter.createTime[1])
}
return (
diff --git a/src/pages/user/components/Modal.js b/src/pages/user/components/Modal.js
index cae9d7f..4173fad 100644
--- a/src/pages/user/components/Modal.js
+++ b/src/pages/user/components/Modal.js
@@ -40,7 +40,7 @@ class UserModal extends PureComponent {
const { item = {}, onOk, form, ...modalProps } = this.props
return (
-
+ (
-
- )
+ )
+ );
}
}
diff --git a/src/pages/user/index.js b/src/pages/user/index.js
index d713e99..1f8a61d 100644
--- a/src/pages/user/index.js
+++ b/src/pages/user/index.js
@@ -49,11 +49,11 @@ class User extends PureComponent {
get modalProps() {
const { dispatch, user, loading } = this.props
- const { currentItem, modalVisible, modalType } = user
+ const { currentItem, modalOpen, modalType } = user
return {
item: modalType === 'create' ? {} : currentItem,
- visible: modalVisible,
+ open: modalOpen,
destroyOnClose: true,
maskClosable: false,
confirmLoading: loading.effects[`user/${modalType}`],
diff --git a/src/pages/user/model.js b/src/pages/user/model.js
index 83ba699..031ed90 100644
--- a/src/pages/user/model.js
+++ b/src/pages/user/model.js
@@ -16,7 +16,7 @@ export default modelExtend(pageModel, {
state: {
currentItem: {},
- modalVisible: false,
+ modalOpen: false,
modalType: 'create',
selectedRowKeys: [],
},
@@ -100,11 +100,11 @@ export default modelExtend(pageModel, {
reducers: {
showModal(state, { payload }) {
- return { ...state, ...payload, modalVisible: true }
+ return { ...state, ...payload, modalOpen: true }
},
hideModal(state) {
- return { ...state, modalVisible: false }
+ return { ...state, modalOpen: false }
},
},
})
diff --git a/src/themes/default.less b/src/themes/default.less
index 8fabcc1..7d2603d 100644
--- a/src/themes/default.less
+++ b/src/themes/default.less
@@ -1,16 +1,16 @@
-// 本文件是对 ant-design:
-// https://github.com/ant-design/ant-design/blob/master/components/style/themes/default.less
-// 相应变量值的覆盖
-// 注意:只需写出要覆盖的变量即可(不需要覆盖的变量不要写)
-
-@import '../../node_modules/antd/lib/style/themes/default.less';
-
-@border-radius-base: 3px;
-@border-radius-sm: 2px;
-@shadow-color: rgba(0, 0, 0, 0.05);
-@shadow-1-down: 4px 4px 40px @shadow-color;
-@border-color-split: #f4f4f4;
-@border-color-base: #e5e5e5;
-@font-size-base: 13px;
-@text-color: #666;
-@hover-color: #f9f9fc;
+// 本文件是对 ant-design:
+// https://github.com/ant-design/ant-design/blob/master/components/style/themes/default.less
+// 相应变量值的覆盖
+// 注意:只需写出要覆盖的变量即可(不需要覆盖的变量不要写)
+
+/* @import '../../node_modules/antd/lib/style/themes/default.less';*/
+
+@border-radius-base: 3px;
+@border-radius-sm: 2px;
+@shadow-color: rgba(0, 0, 0, 0.05);
+@shadow-1-down: 4px 4px 40px @shadow-color;
+@border-color-split: #f4f4f4;
+@border-color-base: #e5e5e5;
+@font-size-base: 13px;
+@text-color: #666;
+@hover-color: #f9f9fc;
diff --git a/src/themes/index.less b/src/themes/index.less
index fc5d498..2418b17 100644
--- a/src/themes/index.less
+++ b/src/themes/index.less
@@ -1,3 +1,4 @@
+@import '~antd/dist/reset.css';
@import '~themes/vars.less';
body {
diff --git a/src/utils/index.js b/src/utils/index.js
index 925bc5b..85ace7c 100644
--- a/src/utils/index.js
+++ b/src/utils/index.js
@@ -1,10 +1,14 @@
import { cloneDeep } from 'lodash'
const { pathToRegexp } = require("path-to-regexp")
-import moment from 'moment'
-import 'moment/locale/zh-cn'
import store from 'store'
import { i18n } from './config'
+import dayjs from 'dayjs'
+import relativeTime from 'dayjs/plugin/relativeTime'
+import 'dayjs/locale/zh-cn'
+
+dayjs.extend(relativeTime)
+
export classnames from 'classnames'
export config from './config'
export request from './request'
@@ -165,8 +169,8 @@ export function getLocale() {
export function setLocale(language) {
if (getLocale() !== language) {
- moment.locale(language === 'zh' ? 'zh-cn' : language)
+ dayjs.locale(language === 'zh' ? 'zh-cn' : language)
store.set('locale', language)
window.location.reload()
}
-}
\ No newline at end of file
+}