import React from 'react'; import PropTypes from 'prop-types'; import { withTranslation } from 'react-i18next'; import { UncontrolledTooltip } from 'reactstrap'; import { withUnstatedContainers } from '../UnstatedUtils'; import NavigationContainer from '../../services/NavigationContainer'; import AppContainer from '../../services/AppContainer'; import GrowiLogo from '../Icons/GrowiLogo'; import PersonalDropdown from './PersonalDropdown'; import GlobalSearch from './GlobalSearch'; class GrowiNavbar extends React.Component { renderNavbarRight() { const { t, appContainer, navigationContainer } = this.props; const { currentUser } = appContainer; // render login button if (currentUser == null) { return
  • Login
  • ; } return ( <>
  • ); } renderConfidential() { const { appContainer } = this.props; const { crowi } = appContainer.config; return (
  • {crowi.confidential} {crowi.confidential}
  • ); } render() { const { appContainer, navigationContainer } = this.props; const { crowi, isSearchServiceConfigured } = appContainer.config; const { isDeviceSmallerThanMd } = navigationContainer.state; return ( <> {/* Brand Logo */}
    {crowi.title}
    {/* Navbar Right */} { isSearchServiceConfigured && !isDeviceSmallerThanMd && (
    ) } ); } } /** * Wrapper component for using unstated */ const GrowiNavbarWrapper = withUnstatedContainers(GrowiNavbar, [AppContainer, NavigationContainer]); GrowiNavbar.propTypes = { t: PropTypes.func.isRequired, // i18next appContainer: PropTypes.instanceOf(AppContainer).isRequired, navigationContainer: PropTypes.instanceOf(NavigationContainer).isRequired, }; export default withTranslation()(GrowiNavbarWrapper);