UNPKG

d2-ui

Version:
95 lines (86 loc) 3.3 kB
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; import React from 'react'; import Avatar from 'material-ui/Avatar'; import HeaderMenu from './HeaderMenu'; import HeaderMenuItem from './HeaderMenuItem'; import styles, { applyUserStyle } from '../header-bar-styles'; import addD2Context from '../../component-helpers/addD2Context'; import FlatButton from 'material-ui/FlatButton'; import getBaseUrlFromD2ApiUrl from '../getBaseUrlFromD2ApiUrl'; var getBaseUrl = getBaseUrlFromD2ApiUrl; var ProfileMenu = addD2Context(function ProfileMenu(props, _ref) { var d2 = _ref.d2; var currentUser = props.currentUser; var items = props.items; var menuItems = items.map(function (item, index) { return React.createElement(HeaderMenuItem, _extends({ key: index }, item)); }); if (!currentUser.firstName) { return React.createElement('div', null); } var rightSideStyle = { flex: 1, display: 'flex', flexDirection: 'column', alignItems: 'center', padding: '1rem', justifyContent: 'space-between', borderLeft: '1px solid #CCC', backgroundColor: '#F5F5F5' }; // TODO: Pull out these styles var rightSide = React.createElement( 'div', { style: rightSideStyle }, React.createElement( 'div', { style: { display: 'flex', alignItems: 'center', flexDirection: 'column' } }, React.createElement( Avatar, { size: 60, style: styles.avatarBig }, currentUser.firstName.charAt(0) + ' ' + currentUser.surname.charAt(0) ), React.createElement( 'div', null, React.createElement( 'div', { style: { width: '100%', marginTop: '1rem', lineHeight: '1.5rem', fontWeight: 'bold' } }, currentUser.displayName ), React.createElement( 'div', { style: { width: '100%', lineHeight: '1.5rem' } }, currentUser.email ) ) ), React.createElement( FlatButton, { style: { width: '100%', textAlign: 'center' }, href: getBaseUrl(d2) + '/dhis-web-commons-security/logout.action' }, d2.i18n.getTranslation('log_out') ) ); return React.createElement( HeaderMenu, { name: React.createElement( Avatar, { size: 32, style: styles.avatar }, currentUser.firstName.charAt(0) + ' ' + currentUser.surname.charAt(0) ), rowItemCount: props.rowItemCount, columnItemCount: props.columnItemCount, rightSide: rightSide, width: 700, menuStyle: { flexDirection: 'row', width: 600, padding: '0' }, padding: '1rem' }, menuItems ); }); export default ProfileMenu;