From a647053b4050ac6a6c2764144010e1ca413c2f7c Mon Sep 17 00:00:00 2001 From: "Jingwei.Zhang" Date: Tue, 14 Sep 2021 10:56:45 +0800 Subject: [PATCH] feat: Add administrator link in header in user center page 1. Add administrator link in header in user center page 2. Refactor overview component in user center 3. Refactor HeaderRightContent component 4. Add isUserCenterPage prop in containers Change-Id: I03357e70d4fbe860740c3663f35aef63457835bb --- .../Layout/GlobalHeader/AvatarDropdown.jsx | 7 +- .../Layout/GlobalHeader/RightContent.jsx | 98 ++++++++++--------- src/layouts/Base/index.jsx | 16 ++- .../containers/UserCenter/index.jsx | 11 ++- 4 files changed, 72 insertions(+), 60 deletions(-) diff --git a/src/components/Layout/GlobalHeader/AvatarDropdown.jsx b/src/components/Layout/GlobalHeader/AvatarDropdown.jsx index 39b3a13d..8b597ad1 100644 --- a/src/components/Layout/GlobalHeader/AvatarDropdown.jsx +++ b/src/components/Layout/GlobalHeader/AvatarDropdown.jsx @@ -152,13 +152,8 @@ class AvatarDropdown extends React.Component { shape="circle" icon={} className={styles.avatar} - onClick={() => { - const { rootStore } = this.props; - rootStore.routing.push('/user/center'); - }} + href="/user/center" /> - {/* */} - {/* {currentUser.name} */} ); diff --git a/src/components/Layout/GlobalHeader/RightContent.jsx b/src/components/Layout/GlobalHeader/RightContent.jsx index 3b3e63f2..396acb59 100644 --- a/src/components/Layout/GlobalHeader/RightContent.jsx +++ b/src/components/Layout/GlobalHeader/RightContent.jsx @@ -12,42 +12,43 @@ // See the License for the specific language governing permissions and // limitations under the License. -import React from 'react'; +import React, { PureComponent } from 'react'; import { Button, Col, Row } from 'antd'; -import { isUserCenterPage } from 'utils'; import Avatar from './AvatarDropdown'; import styles from './index.less'; -// eslint-disable-next-line no-unused-vars -const gotoConsole = (type, props) => { - const { rootStore } = props; - rootStore.clearData(); - if (type === 0) { - rootStore.routing.push('/base/overview'); - } else { - rootStore.routing.push('/base/overview-admin'); +export class GlobalHeaderRight extends PureComponent { + get isAdminPage() { + const { isAdminPage = false } = this.props; + return isAdminPage; } -}; -const GlobalHeaderRight = (props) => { - const { - isAdminPage = false, - rootStore: { hasAdminPageRole = false } = {}, - location: { pathname }, - } = props; - let linkRender = null; - if (isAdminPage || isUserCenterPage(pathname)) { - linkRender = ( - - ); - } else if (hasAdminPageRole) { - linkRender = ( + get isUserCenterPage() { + const { isUserCenterPage = false } = this.props; + return isUserCenterPage; + } + + renderConsole() { + if (this.isAdminPage || this.isUserCenterPage) { + return ( + + ); + } + return null; + } + + renderAdministrator() { + const { rootStore: { hasAdminPageRole = false } = {} } = this.props; + if (!hasAdminPageRole || this.isAdminPage) { + return null; + } + return (