import React from 'react'; import PropTypes from 'prop-types'; import { withTranslation } from 'react-i18next'; import { createSubscribedElement } from '../UnstatedUtils'; import AppContainer from '../../services/AppContainer'; import RevisionPath from '../Page/RevisionPath'; import PageContainer from '../../services/PageContainer'; import BookmarkButton from '../BookmarkButton'; import UserPicture from '../User/UserPicture'; const GrowiSubNavigationForUserPage = (props) => { const pageUser = JSON.parse(document.querySelector('#grw-subnav-for-user-page').getAttribute('data-page-user')); const { appContainer, pageContainer } = props; const { pageId, isHeaderSticky, isSubnavCompact } = pageContainer.state; const additionalClassNames = ['grw-subnavbar', 'grw-subnavbar-user-page']; const layoutType = appContainer.getConfig().layoutType; if (layoutType === 'growi') { if (isHeaderSticky) { additionalClassNames.push('grw-subnavbar-sticky'); } if (isSubnavCompact) { additionalClassNames.push('py-2 grw-subnavbar-compact'); } else { additionalClassNames.push('py-3'); } } return (

{pageUser.name}

  • {pageUser.username}
  • {pageUser.isEmailPublished ? pageUser.email : '*****'}
  • {pageUser.introduction &&
  • {pageUser.introduction}

  • }
); }; /** * Wrapper component for using unstated */ const GrowiSubNavigationForUserPageWrapper = (props) => { return createSubscribedElement(GrowiSubNavigationForUserPage, props, [AppContainer, PageContainer]); }; GrowiSubNavigationForUserPage.propTypes = { t: PropTypes.func.isRequired, // i18next appContainer: PropTypes.instanceOf(AppContainer).isRequired, pageContainer: PropTypes.instanceOf(PageContainer).isRequired, }; export default withTranslation()(GrowiSubNavigationForUserPageWrapper);