import React, { useContext } from 'react'; import PropTypes from 'prop-types'; import { getConfig } from '@edx/frontend-platform'; import { injectIntl, intlShape } from '@edx/frontend-platform/i18n'; import { AppContext, AppProvider } from '@edx/frontend-platform/react'; import AnonymousUserMenu from './AnonymousUserMenu'; import AuthenticatedUserDropdown from './AuthenticatedUserDropdown'; import messages from './messages'; import store from '../store'; const LinkedLogo = ({ href, src, alt, ...attributes }) => ( ); LinkedLogo.propTypes = { href: PropTypes.string.isRequired, src: PropTypes.string.isRequired, alt: PropTypes.string.isRequired, }; const LearningHeader = ({ courseOrg, courseNumber, courseTitle, intl, showUserDropdown, }) => { const { authenticatedUser } = useContext(AppContext); const headerLogo = ( ); return ( {intl.formatMessage(messages.skipNavLink)} {headerLogo} {courseOrg} {courseNumber} {courseTitle} {showUserDropdown && authenticatedUser && ( )} {showUserDropdown && !authenticatedUser && ( )} ); }; LearningHeader.propTypes = { courseOrg: PropTypes.string, courseNumber: PropTypes.string, courseTitle: PropTypes.string, intl: intlShape.isRequired, showUserDropdown: PropTypes.bool, }; LearningHeader.defaultProps = { courseOrg: null, courseNumber: null, courseTitle: null, showUserDropdown: true, }; export default injectIntl(LearningHeader);