admin-on-rest-fr05t1k
Version:
A frontend Framework for building admin applications on top of REST services, using ES6, React and Material UI
38 lines (31 loc) • 1.06 kB
JavaScript
import React, { Component, PropTypes } from 'react';
import { push as pushAction } from 'react-router-redux';
import { connect } from 'react-redux';
import compose from 'recompose/compose';
import MenuItem from 'material-ui/MenuItem';
import ExitIcon from 'material-ui/svg-icons/action/power-settings-new';
import translate from '../../i18n/translate';
import { AUTH_LOGOUT } from '../../auth';
class Logout extends Component {
handleLogout = () => {
const { authClient, push } = this.props;
authClient(AUTH_LOGOUT)
.then(() => push('/login'));
}
render() {
const { authClient, translate } = this.props;
return authClient
? <MenuItem leftIcon={<ExitIcon />} primaryText={translate('aor.auth.logout')} onClick={this.handleLogout} />
: null;
}
}
Logout.propTypes = {
authClient: PropTypes.func,
push: PropTypes.func,
translate: PropTypes.func,
};
const enhance = compose(
translate,
connect(null, { push: pushAction }),
);
export default enhance(Logout);