stitch-ui
Version:
45 lines (38 loc) • 1.13 kB
JavaScript
// TODO proptypes
/* eslint-disable react/prop-types */
/* eslint-disable import/prefer-default-export */
/* eslint-disable react/prefer-es6-class */
/* eslint-disable react/no-string-refs */
/* eslint-disable jsx-a11y/label-has-for */
/* eslint-disable jsx-a11y/href-no-hash */
import React from "react";
import PropTypes from "prop-types";
class RootAdminUserImpersonator extends React.Component {
constructor(props, context) {
super(props, context);
this.stopImpersonation = this.stopImpersonation.bind(this);
}
stopImpersonation() {
this.props.client.client.auth.stopImpersonation().then(() => {
this.context.router.history.replace("/");
this.context.router.history.reload();
});
}
render() {
if (
this.props.client &&
!this.props.client.client.auth.isImpersonatingUser()
) {
return null;
}
return (
<div className="topnav-impersonate" onClick={this.stopImpersonation}>
Stop Impersonation
</div>
);
}
}
RootAdminUserImpersonator.contextTypes = {
router: PropTypes.object
};
export default RootAdminUserImpersonator;