Sha256: e5152e214b470eeb2d14ca8d504543280efac089cfdd3b7b563e6387d7bedb06
Contents?: true
Size: 902 Bytes
Versions: 5
Compression:
Stored size: 902 Bytes
Contents
import { Component, PropTypes } from 'react'; import Icon from '../application/icon.component'; class VoteButton extends Component { render() { const { buttonClassName, iconName, votes, voteAction, disabled, selectedClass } = this.props; let voteClasses = `${buttonClassName} ${selectedClass}`; return ( <button className={voteClasses} onClick={() => voteAction()} disabled={disabled}> <Icon name={iconName} iconExtraClassName="icon--small" /> { ` ${votes}` } </button> ); } } VoteButton.propTypes = { buttonClassName: PropTypes.string.isRequired, iconName: PropTypes.string.isRequired, votes: PropTypes.number.isRequired, voteAction: PropTypes.func.isRequired, selectedClass: PropTypes.string, disabled: PropTypes.bool }; VoteButton.defaultProps = { selectedClass: "selected", disabled: false }; export default VoteButton;
Version data entries
5 entries across 5 versions & 2 rubygems