import { injectIntl, defineMessages } from 'react-intl' import Button from './button' import Text from './text' const messages = defineMessages({ load_more: { id: 'status.load_more', defaultMessage: 'Load more' }, }) export default @injectIntl class LoadMore extends PureComponent { static propTypes = { onClick: PropTypes.func, disabled: PropTypes.bool, visible: PropTypes.bool, intl: PropTypes.object.isRequired, } static defaultProps = { visible: true, } handleClick = (e) => { this.props.onClick(e) } render() { const { disabled, visible, intl, } = this.props if (!visible || disabled) return null return ( <div className={[_s.default, _s.py15, _s.px10].join(' ')}> <Button isBlock radiusSmall backgroundColor='tertiary' color='primary' disabled={disabled || !visible} style={{ visibility: visible ? 'visible' : 'hidden', }} onClick={this.handleClick} aria-label={intl.formatMessage(messages.load_more)} > <Text color='inherit' align='center'> {intl.formatMessage(messages.load_more)} </Text> </Button> </div> ) } }