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 (