Grégoire Delattre c5cafacbf1 Update everything to work with the new router
By the way, remove the router state from redux.
2019-05-19 02:31:25 +02:00

51 lines
1.3 KiB
JavaScript

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 (
<React.Fragment>
<Stats stats={props.stats}/>
<UserList users={props.users} updateUser={props.updateUser}/>
<Modules modules={props.modules} isLoading={false} />
</React.Fragment>
)
}
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);