cspace-ui
Version:
CollectionSpace user interface for browsers
58 lines (49 loc) • 1.5 kB
JSX
import React from 'react';
import PropTypes from 'prop-types';
import { injectIntl, intlShape } from 'react-intl';
import Immutable from 'immutable';
import QuickSearchFormContainer from '../../containers/search/QuickSearchFormContainer';
import NavBar from '../navigation/NavBar';
import UserMenu from '../user/UserMenu';
import Logo from './Logo';
import withConfig from '../../enhancers/withConfig';
import bannerStyles from '../../../styles/cspace-ui/Banner.css';
import bannerMainStyles from '../../../styles/cspace-ui/BannerMain.css';
import bannerRightStyles from '../../../styles/cspace-ui/BannerRight.css';
const propTypes = {
screenName: PropTypes.string.isRequired,
history: PropTypes.object,
intl: intlShape,
config: PropTypes.object,
perms: PropTypes.instanceOf(Immutable.Map),
};
function Header(props) {
const {
history,
intl,
config,
perms,
screenName,
} = props;
return (
<header>
<div className={bannerStyles.common}>
<div className={bannerMainStyles.common}>
<Logo config={config} />
<QuickSearchFormContainer
history={history}
intl={intl}
config={config}
perms={perms}
/>
</div>
<div className={bannerRightStyles.common}>
<UserMenu screenName={screenName} />
</div>
</div>
<NavBar perms={perms} />
</header>
);
}
Header.propTypes = propTypes;
export default injectIntl(withConfig(Header));