import React, { Fragment } from 'react';
import PropTypes from 'prop-types';
import { withTranslation } from 'react-i18next';
import {
UncontrolledDropdown, DropdownToggle, DropdownMenu,
} from 'reactstrap';
import StatusActivateButton from './StatusActivateButton';
import StatusSuspendedButton from './StatusSuspendedButton';
import RemoveUserButton from './UserRemoveButton';
import RemoveAdminButton from './RemoveAdminButton';
import GiveAdminButton from './GiveAdminButton';
import { withUnstatedContainers } from '../../UnstatedUtils';
import AppContainer from '../../../services/AppContainer';
import AdminUsersContainer from '../../../services/AdminUsersContainer';
class UserMenu extends React.Component {
constructor(props) {
super(props);
this.state = {
};
this.onPasswordResetClicked = this.onPasswordResetClicked.bind(this);
}
onPasswordResetClicked() {
this.props.adminUsersContainer.showPasswordResetModal(this.props.user);
}
renderEditMenu() {
const { t } = this.props;
return (
{t('admin:user_management.user_table.edit_menu')}
);
}
renderStatusMenu() {
const { t, user } = this.props;
return (
{t('status')}
{(user.status === 1 || user.status === 3) && }
{user.status === 2 && }
{(user.status === 1 || user.status === 3 || user.status === 5) && }
);
}
renderAdminMenu() {
const { t, user } = this.props;
return (
{t('admin:user_management.user_table.administrator_menu')}
{user.admin === true && }
{user.admin === false && }
);
}
render() {
const { user } = this.props;
return (
);
}
}
const UserMenuWrapper = withUnstatedContainers(UserMenu, [AppContainer, AdminUsersContainer]);
UserMenu.propTypes = {
t: PropTypes.func.isRequired, // i18next
appContainer: PropTypes.instanceOf(AppContainer).isRequired,
adminUsersContainer: PropTypes.instanceOf(AdminUsersContainer).isRequired,
user: PropTypes.object.isRequired,
};
export default withTranslation()(UserMenuWrapper);