diff --git a/package.json b/package.json index 3257c13c..85c1660e 100644 --- a/package.json +++ b/package.json @@ -49,17 +49,13 @@ "dependencies": { "@ant-design/icons": "^4.8.3", "@ant-design/pro-components": "^2.7.9", - "@umijs/route-utils": "^2.2.2", "antd": "^5.18.0", "antd-style": "^3.6.2", "classnames": "^2.5.1", - "omit.js": "^2.0.2", + "dayjs": "^1.11.13", "querystring": "^0.2.1", - "rc-menu": "^9.14.0", - "rc-util": "^5.41.0", "react": "^18.3.1", - "react-dom": "^18.3.1", - "react-helmet-async": "^1.3.0" + "react-dom": "^18.3.1" }, "devDependencies": { "@ant-design/pro-cli": "^3.3.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d7eee952..2b305c55 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -14,9 +14,6 @@ importers: '@ant-design/pro-components': specifier: ^2.7.9 version: 2.7.15(antd@5.20.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(rc-field-form@2.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@umijs/route-utils': - specifier: ^2.2.2 - version: 2.2.2 antd: specifier: ^5.18.0 version: 5.20.3(date-fns@2.30.0)(moment@2.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -26,27 +23,18 @@ importers: classnames: specifier: ^2.5.1 version: 2.5.1 - omit.js: - specifier: ^2.0.2 - version: 2.0.2 + dayjs: + specifier: ^1.11.13 + version: 1.11.13 querystring: specifier: ^0.2.1 version: 0.2.1 - rc-menu: - specifier: ^9.14.0 - version: 9.15.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - rc-util: - specifier: ^5.41.0 - version: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: specifier: ^18.3.1 version: 18.3.1 react-dom: specifier: ^18.3.1 version: 18.3.1(react@18.3.1) - react-helmet-async: - specifier: ^1.3.0 - version: 1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) devDependencies: '@ant-design/pro-cli': specifier: ^3.3.0 @@ -1979,9 +1967,6 @@ packages: resolution: {integrity: sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - '@qixian.cs/path-to-regexp@6.1.0': - resolution: {integrity: sha512-2jIiLiVZB1jnY7IIRQKtoV8Gnr7XIhk4mC88ONGunZE3hYt5IHUG4BE/6+JiTBjjEWQLBeWnZB8hGpppkufiVw==} - '@radix-ui/popper@0.0.10': resolution: {integrity: sha512-YFKuPqQPKscreQid7NuB4it3PMzSwGg03vgrud6sVliHkI43QNAOHyrHyMNo015jg6QK5GVDn+7J2W5uygqSGA==} @@ -2740,9 +2725,6 @@ packages: peerDependencies: umi: '>=3' - '@umijs/route-utils@2.2.2': - resolution: {integrity: sha512-cMk6qizy0pfpiwpVCvNQB0BKBUJEH33pDv5q5k2tSleSDw2abkJkTu2Kd5hKzoESLuFK43oGeOfcplZqm2bRxw==} - '@umijs/route-utils@4.0.1': resolution: {integrity: sha512-+1ixf1BTOLuH+ORb4x8vYMPeIt38n9q0fJDwhv9nSxrV46mxbLF0nmELIo9CKQB2gHfuC4+hww6xejJ6VYnBHQ==} @@ -6346,9 +6328,6 @@ packages: lodash.groupby@4.6.0: resolution: {integrity: sha512-5dcWxm23+VAoz+awKmBaiBvzox8+RqMgFhi7UvX9DHZr2HdxHXM/Wrf8cfKpsW37RNrvtPn6hSwNqurSILbmJw==} - lodash.isequal@4.5.0: - resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} - lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} @@ -6518,9 +6497,6 @@ packages: resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} engines: {node: '>= 4.0.0'} - memoize-one@5.2.1: - resolution: {integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==} - memoizee@0.4.17: resolution: {integrity: sha512-DGqD7Hjpi/1or4F/aYAspXKNm5Yili0QDAFAY4QYvpqpgiY6+1jOfqpmByzjxbWd/T9mChbCArXAbDAsTm5oXA==} engines: {node: '>=0.12'} @@ -8070,12 +8046,6 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' - rc-menu@9.15.1: - resolution: {integrity: sha512-UKporqU6LPfHnpPmtP6hdEK4iO5Q+b7BRv/uRpxdIyDGplZy9jwUjsnpev5bs3PQKB0H0n34WAPDfjAfn3kAPA==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - rc-menu@9.8.4: resolution: {integrity: sha512-lmw2j8I2fhdIzHmC9ajfImfckt0WDb2KVJJBBRIsxPEw2kGkEfjLMUoB1NgiNT/Q5cC8PdjGOGQjHJIJMwyNMw==} peerDependencies: @@ -13462,8 +13432,6 @@ snapshots: picocolors: 1.0.1 tslib: 2.7.0 - '@qixian.cs/path-to-regexp@6.1.0': {} - '@radix-ui/popper@0.0.10': dependencies: '@babel/runtime': 7.25.6 @@ -13922,7 +13890,7 @@ snapshots: '@types/history': 4.7.11 '@types/react': 18.3.4 '@types/react-router': 5.1.20 - redux: 3.7.2 + redux: 4.2.1 '@types/react-router@5.1.20': dependencies: @@ -14867,13 +14835,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@umijs/route-utils@2.2.2': - dependencies: - '@qixian.cs/path-to-regexp': 6.1.0 - fast-deep-equal: 3.1.3 - lodash.isequal: 4.5.0 - memoize-one: 5.2.1 - '@umijs/route-utils@4.0.1': {} '@umijs/server@4.3.18': @@ -19641,8 +19602,6 @@ snapshots: lodash.groupby@4.6.0: {} - lodash.isequal@4.5.0: {} - lodash.merge@4.6.2: {} lodash.throttle@4.1.1: {} @@ -19882,8 +19841,6 @@ snapshots: dependencies: fs-monkey: 1.0.6 - memoize-one@5.2.1: {} - memoizee@0.4.17: dependencies: d: 1.0.2 @@ -21712,17 +21669,6 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - rc-menu@9.15.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): - dependencies: - '@babel/runtime': 7.25.6 - '@rc-component/trigger': 2.2.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - classnames: 2.5.1 - rc-motion: 2.9.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - rc-overflow: 1.3.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - rc-menu@9.8.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.25.6 diff --git a/src/components/RightContent/AvatarDropdown.tsx b/src/components/RightContent/AvatarDropdown.tsx index 766a5d32..fe30b2f9 100644 --- a/src/components/RightContent/AvatarDropdown.tsx +++ b/src/components/RightContent/AvatarDropdown.tsx @@ -2,10 +2,10 @@ import { outLogin } from '@/services/ant-design-pro/api'; import { LogoutOutlined, SettingOutlined, UserOutlined } from '@ant-design/icons'; import { history, useModel } from '@umijs/max'; import { Spin } from 'antd'; +import type { MenuProps } from 'antd'; import { createStyles } from 'antd-style'; import { stringify } from 'querystring'; -import type { MenuInfo } from 'rc-menu/lib/interface'; -import React, { useCallback } from 'react'; +import React from 'react'; import { flushSync } from 'react-dom'; import HeaderDropdown from '../HeaderDropdown'; @@ -62,20 +62,17 @@ export const AvatarDropdown: React.FC = ({ menu, childre const { initialState, setInitialState } = useModel('@@initialState'); - const onMenuClick = useCallback( - (event: MenuInfo) => { - const { key } = event; - if (key === 'logout') { - flushSync(() => { - setInitialState((s) => ({ ...s, currentUser: undefined })); - }); - loginOut(); - return; - } - history.push(`/account/${key}`); - }, - [setInitialState], - ); + const onMenuClick: MenuProps['onClick'] = (event) => { + const { key } = event; + if (key === 'logout') { + flushSync(() => { + setInitialState((s) => ({ ...s, currentUser: undefined })); + }); + loginOut(); + return; + } + history.push(`/account/${key}`); + }; const loading = (