47 lines
1.2 KiB
JavaScript
47 lines
1.2 KiB
JavaScript
import React, { useEffect } from "react"
|
|
import PropTypes from "prop-types"
|
|
import { connect } from "react-redux"
|
|
|
|
import { Stat } from "./stat"
|
|
|
|
import { getStats } from "../../actions/admins"
|
|
|
|
const StatsConnected = ({ stats, getStats }) => {
|
|
useEffect(() => {
|
|
getStats();
|
|
}, [getStats])
|
|
|
|
return (
|
|
<div className="row d-flex flex-wrap">
|
|
<Stat
|
|
name="Movies"
|
|
count={stats.get("movies_count")}
|
|
torrentCount={stats.get("movies_torrents_count")}
|
|
torrentCountById={stats.get("movies_torrents_count_by_id")}
|
|
/>
|
|
<Stat
|
|
name="Shows"
|
|
count={stats.get("shows_count")}
|
|
torrentCount={stats.get("episodes_torrents_count")}
|
|
torrentCountById={stats.get("shows_torrents_count_by_id")}
|
|
/>
|
|
<Stat
|
|
name="Episodes"
|
|
count={stats.get("episodes_count")}
|
|
torrentCount={stats.get("episodes_torrents_count")}
|
|
torrentCountById={stats.get("episodes_torrents_count_by_id")}
|
|
/>
|
|
</div>
|
|
)
|
|
}
|
|
StatsConnected.propTypes = {
|
|
stats: PropTypes.object,
|
|
getStats: PropTypes.func,
|
|
}
|
|
|
|
const mapStateToProps = state => ({
|
|
stats: state.adminStore.get("stats"),
|
|
});
|
|
|
|
export const Stats = connect(mapStateToProps, {getStats})(StatsConnected);
|