import React, { useState } from "react" import PropTypes from "prop-types" import { connect } from "react-redux" import { getUsers, getStats, getAdminModules, updateUser } from "../../actions/admins" import Modules from "../modules/modules" import { UserList } from "./users" import { Stats } from "./stats" const AdminPanel = props => { const [fetched, setIsFetched] = useState(false); if (!fetched) { props.getUsers(); props.getStats(); props.getAdminModules(); setIsFetched(true); } return ( ) } AdminPanel.propTypes = { stats: PropTypes.object, users: PropTypes.object, modules: PropTypes.object, updateUser: PropTypes.func.isRequired, getUsers: PropTypes.func.isRequired, getStats: PropTypes.func.isRequired, getAdminModules: PropTypes.func.isRequired, }; const mapStateToProps = state => ({ users: state.adminStore.get("users"), stats: state.adminStore.get("stats"), modules: state.adminStore.get("modules"), }); const mapDispatchToProps = { getUsers, getStats, getAdminModules, updateUser } export default connect(mapStateToProps, mapDispatchToProps)(AdminPanel);