import React from 'react'; import PropTypes from 'prop-types'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { faUserCircle } from '@fortawesome/free-solid-svg-icons'; import { getConfig } from '@edx/frontend-platform'; import { injectIntl, intlShape } from '@edx/frontend-platform/i18n'; import { Dropdown } from '@edx/paragon'; import messages from './messages'; function AuthenticatedUserDropdown({ enterpriseLearnerPortalLink, intl, username }) { let dashboardMenuItem = ( {intl.formatMessage(messages.dashboard)} ); if (enterpriseLearnerPortalLink && Object.keys(enterpriseLearnerPortalLink).length > 0) { dashboardMenuItem = ( {enterpriseLearnerPortalLink.content} ); } return ( <> {intl.formatMessage(messages.help)} {username} {dashboardMenuItem} {intl.formatMessage(messages.profile)} {intl.formatMessage(messages.account)} {!enterpriseLearnerPortalLink && ( // Users should only see Order History if they do not have an available // learner portal, because an available learner portal currently means // that they access content via Subscriptions, in which context an "order" // is not relevant. {intl.formatMessage(messages.orderHistory)} )} {intl.formatMessage(messages.signOut)} ); } AuthenticatedUserDropdown.propTypes = { enterpriseLearnerPortalLink: PropTypes.string, intl: intlShape.isRequired, username: PropTypes.string.isRequired, }; AuthenticatedUserDropdown.defaultProps = { enterpriseLearnerPortalLink: '', }; export default injectIntl(AuthenticatedUserDropdown);