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)
)