mirror of
https://github.com/vale981/Vulcan
synced 2025-03-10 12:36:39 -04:00
45 lines
No EOL
1.6 KiB
JavaScript
45 lines
No EOL
1.6 KiB
JavaScript
import { Components, registerComponent } from 'meteor/nova:lib';
|
|
import React, { PropTypes, Component } from 'react';
|
|
import { FormattedMessage } from 'react-intl';
|
|
import { Meteor } from 'meteor/meteor';
|
|
import { Dropdown, MenuItem } from 'react-bootstrap';
|
|
import { LinkContainer } from 'react-router-bootstrap';
|
|
import Users from 'meteor/nova:users';
|
|
import { withCurrentUser } from 'meteor/nova:core';
|
|
import { withApollo } from 'react-apollo';
|
|
|
|
class UsersMenu extends Component {
|
|
|
|
render() {
|
|
|
|
const {currentUser, client} = this.props;
|
|
|
|
return (
|
|
<div className="users-menu">
|
|
<Dropdown id="user-dropdown">
|
|
<Dropdown.Toggle>
|
|
<Components.UsersAvatar size="small" user={currentUser} link={false} />
|
|
<div>{Users.getDisplayName(currentUser)}</div>
|
|
</Dropdown.Toggle>
|
|
<Dropdown.Menu>
|
|
<LinkContainer to={`/users/${currentUser.__slug}`}>
|
|
<MenuItem className="dropdown-item" eventKey="1"><FormattedMessage id="users.profile"/></MenuItem>
|
|
</LinkContainer>
|
|
<LinkContainer to={`/account`}>
|
|
<MenuItem className="dropdown-item" eventKey="2"><FormattedMessage id="users.edit_account"/></MenuItem>
|
|
</LinkContainer>
|
|
<MenuItem className="dropdown-item" eventKey="4" onClick={() => Meteor.logout(() => client.resetStore())}><FormattedMessage id="users.log_out"/></MenuItem>
|
|
</Dropdown.Menu>
|
|
</Dropdown>
|
|
</div>
|
|
)
|
|
}
|
|
|
|
}
|
|
|
|
UsersMenu.contextTypes = {
|
|
currentUser: React.PropTypes.object,
|
|
messages: React.PropTypes.object
|
|
};
|
|
|
|
registerComponent('UsersMenu', UsersMenu, withCurrentUser, withApollo); |