import React from 'react' import { Helmet } from 'react-helmet' import { connect } from 'react-redux' import ActivityCard from './ActivityCard' import Statistics from './Statistics' import { getData } from '../../actions' import { endPagination, getMoreActivities } from '../../actions/activities' class DashBoard extends React.Component { constructor(props, context) { super(props, context) this.state = { page: 1, } } componentDidMount() { this.props.loadActivities() } componentWillUnmount() { this.props.resetPaginationStatus(false) } render() { const { activities, loadMoreActivities, message, paginationEnd, sports } = this.props const { page } = this.state return (
mpwo - Dashboard

Dashboard

{message ? ( {message} ) : ( activities.length > 0 ? (
{activities.map(activity => ( ))} {!paginationEnd && { loadMoreActivities(page + 1) this.setState({ page: page + 1 }) }} /> }
) : ( 'No activities for now' ))}
) } } export default connect( state => ({ activities: state.activities.data, paginationEnd: state.activities.pagination_end, message: state.message, sports: state.sports.data, }), dispatch => ({ resetPaginationStatus: () => { dispatch(endPagination(false)) }, loadActivities: () => { dispatch(getData('activities', null, 1)) }, loadMoreActivities: page => { dispatch(getMoreActivities(page)) }, }) )(DashBoard)