import React from 'react' import { Helmet } from 'react-helmet' import { connect } from 'react-redux' import ActivityCard from './ActivityCard' import Calendar from './../Others/Calendar' import Records from './Records' import Statistics from './Statistics' import UserStatistics from './UserStatistics' import { getData } from '../../actions' import { getMoreActivities } from '../../actions/activities' class DashBoard extends React.Component { constructor(props, context) { super(props, context) this.state = { page: 1, } } componentDidMount() { this.props.loadActivities() } render() { const { activities, loadMoreActivities, message, records, sports, user } = this.props const paginationEnd = activities.length > 0 ? activities[activities.length - 1].previous_activity === null : true const { page } = this.state return (
mpwo - Dashboard {message ? ( {message} ) : ( (activities && sports.length > 0) && (
{activities.length > 0 ? ( activities.map(activity => ( ) )) : ( 'No activities. Upload one !' )} {!paginationEnd && { loadMoreActivities(page + 1) this.setState({ page: page + 1 }) }} /> }
) )}
) } } export default connect( state => ({ activities: state.activities.data, message: state.message, records: state.records.data, sports: state.sports.data, user: state.user, }), dispatch => ({ loadActivities: () => { dispatch(getData('activities', { page: 1 })) dispatch(getData('records')) }, loadMoreActivities: page => { dispatch(getMoreActivities(page)) }, }) )(DashBoard)