import React, { Component } from 'react'; import PropTypes from 'prop-types'; import { t } from '@lingui/macro'; import { I18n } from '@lingui/react'; import { Dropdown, DropdownItem, DropdownToggle, DropdownPosition, Toolbar, ToolbarGroup, ToolbarItem, Tooltip } from '@patternfly/react-core'; import { QuestionCircleIcon, UserIcon, } from '@patternfly/react-icons'; const DOCLINK = 'https://docs.ansible.com/ansible-tower/latest/html/userguide/index.html'; class PageHeaderToolbar extends Component { constructor (props) { super(props); this.state = { isHelpOpen: false, isUserOpen: false, }; this.handleHelpSelect = this.handleHelpSelect.bind(this); this.handleHelpToggle = this.handleHelpToggle.bind(this); this.handleUserSelect = this.handleUserSelect.bind(this); this.handleUserToggle = this.handleUserToggle.bind(this); } handleHelpSelect () { const { isHelpOpen } = this.state; this.setState({ isHelpOpen: !isHelpOpen }); } handleUserSelect () { const { isUserOpen } = this.state; this.setState({ isUserOpen: !isUserOpen }); } handleHelpToggle (isOpen) { this.setState({ isHelpOpen: isOpen }); } handleUserToggle (isOpen) { this.setState({ isUserOpen: isOpen }); } render () { const { isHelpOpen, isUserOpen } = this.state; const { isAboutDisabled, onAboutClick, onLogoutClick } = this.props; return ( {({ i18n }) => ( Help } > )} dropdownItems={[ {i18n._(t`Help`)} , {i18n._(t`About`)} ]} /> User } >   User Name )} dropdownItems={[ {i18n._(t`User Details`)} , {i18n._(t`Logout`)} ]} /> )} ); } } PageHeaderToolbar.propTypes = { isAboutDisabled: PropTypes.bool, onAboutClick: PropTypes.func.isRequired, onLogoutClick: PropTypes.func.isRequired, }; PageHeaderToolbar.defaultProps = { isAboutDisabled: false, }; export default PageHeaderToolbar;