import React from 'react'; import PropTypes from 'prop-types'; import { injectIntl, intlShape } from '@edx/frontend-platform/i18n'; import { getConfig } from '@edx/frontend-platform'; // Local Components import { Menu, MenuTrigger, MenuContent } from './Menu'; import Avatar from './Avatar'; import { LinkedLogo, Logo } from './Logo'; // i18n import messages from './Header.messages'; // Assets import { CaretIcon } from './Icons'; class DesktopHeader extends React.Component { constructor(props) { // eslint-disable-line no-useless-constructor super(props); } renderMainMenu() { const { mainMenu } = this.props; // Nodes are accepted as a prop if (!Array.isArray(mainMenu)) { return mainMenu; } return mainMenu.map((menuItem) => { const { type, href, content, submenuContent, } = menuItem; if (type === 'item') { return ( {content} ); } return (
); }); } renderUserMenu() { const { userMenu, avatar, username, intl, } = this.props; return ( ); } renderLoggedOutItems() { const { loggedOutItems } = this.props; return loggedOutItems.map((item, i, arr) => ( {item.content} )); } render() { const { logo, logoAltText, logoDestination, loggedIn, intl, } = this.props; const logoProps = { src: logo, alt: logoAltText, href: logoDestination }; const logoClasses = getConfig().AUTHN_MINIMAL_HEADER ? 'mw-100' : null; return (