import React from 'react' import { withTranslation } from 'react-i18next' import { connect } from 'react-redux' import { getAppData } from '../../actions/application' import { getFileSize } from '../../utils' class AdminStats extends React.Component { componentDidMount() { this.props.loadAppStats() } render() { const { appStats, t } = this.props const uploadDirSize = getFileSize(appStats.uploads_dir_size, false) return (
{appStats.users ? appStats.users : 0}
{`${ appStats.users === 1 ? t('administration:user') : t('administration:users') }`}
{appStats.sports ? appStats.sports : 0}
{`${ appStats.sports === 1 ? t('common:sport') : t('common:sports') }`}
{appStats.workouts ? appStats.workouts : 0}
{`${ appStats.workouts === 1 ? t('common:workout') : t('common:workouts') }`}
{uploadDirSize.size}
{uploadDirSize.suffix} ({t('administration:uploads')})
) } } export default withTranslation()( connect( state => ({ appStats: state.application.statistics, }), dispatch => ({ loadAppStats: () => { dispatch(getAppData('stats/all')) }, }) )(AdminStats) )