UNPKG

nodebb-plugin-ns-awards-next

Version:

System for rewarding forum users. It allows admin to define set of awards that could be granted to users for special accomplishments.

51 lines (44 loc) 1.35 kB
import PropTypes from 'prop-types'; import React from 'react'; import {connect} from 'react-redux'; import {removeUserForGrant} from '../../action/actions'; import UserSelectListItem from '../display/user-select-list-item'; import {getUsersForGrant} from '../../model/selector/selectors'; class UserSelectList extends React.Component { render() { let items; if (this.props.usersForGrant.length === 0) { items = <div className="alert alert-info" role="alert"> 0 users are selected for rewarding </div>; } else { items = this.props.usersForGrant.map(user => { return <UserSelectListItem itemWillDelete={() => this.props.deleteUser(user)} key={user.username} user={user}/>; }); } return ( <div className="user-select-list"> {items} </div> ); } } UserSelectList.propTypes = { deleteUser : PropTypes.func, usersForGrant: PropTypes.array }; export default connect( state => { return { usersForGrant: getUsersForGrant(state) }; }, dispatch => { return { deleteUser: user => dispatch(removeUserForGrant(user)) }; } )(UserSelectList);