import React from 'react'; import PropTypes from 'prop-types'; import { withTranslation } from 'react-i18next'; import { isTrashPage } from '../../../../lib/util/path-utils'; import { createSubscribedElement } from '../UnstatedUtils'; import AppContainer from '../../services/AppContainer'; import RevisionPath from '../Page/RevisionPath'; import PageContainer from '../../services/PageContainer'; import TagLabels from '../Page/TagLabels'; import LikeButton from '../LikeButton'; import BookmarkButton from '../BookmarkButton'; import PageCreator from './PageCreator'; import RevisionAuthor from './RevisionAuthor'; const GrowiSubNavigation = (props) => { const isPageForbidden = document.querySelector('#grw-subnav').getAttribute('data-is-forbidden-page'); const { appContainer, pageContainer } = props; const { pageId, path, createdAt, creator, updatedAt, revisionAuthor, isCompactMode, } = pageContainer.state; const compactClassName = isCompactMode ? 'fixed-top grw-compact-subnavbar px-3' : null; // Display only the RevisionPath if the page is trash or forbidden if (isTrashPage(path) || isPageForbidden) { return (

); } return (
{/* Page Path */}

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