diff --git a/frontend/js/components/admins/modules.js b/frontend/js/components/admins/modules.js index d851c0d..79916b9 100644 --- a/frontend/js/components/admins/modules.js +++ b/frontend/js/components/admins/modules.js @@ -1,28 +1,20 @@ import React, { useEffect } from "react"; -import PropTypes from "prop-types"; -import { connect } from "react-redux"; +import { useDispatch, useSelector } from "react-redux"; import { getAdminModules } from "../../actions/admins"; import Modules from "../modules/modules"; -const AdminModulesConnected = ({ modules, loading, getAdminModules }) => { +export const AdminModules = () => { + const dispatch = useDispatch(); + + const loading = useSelector((state) => + state.adminStore.get("fetchingModules") + ); + const modules = useSelector((state) => state.adminStore.get("modules")); + useEffect(() => { - getAdminModules(); - }, [getAdminModules]); + dispatch(getAdminModules()); + }, [dispatch]); return ; }; -AdminModulesConnected.propTypes = { - modules: PropTypes.object, - loading: PropTypes.bool, - getAdminModules: PropTypes.func.isRequired, -}; - -const mapStateToProps = (state) => ({ - loading: state.adminStore.get("fetchingModules"), - modules: state.adminStore.get("modules"), -}); - -export const AdminModules = connect(mapStateToProps, { getAdminModules })( - AdminModulesConnected -); diff --git a/frontend/js/components/admins/stats.js b/frontend/js/components/admins/stats.js index ed0c15e..cefaf68 100644 --- a/frontend/js/components/admins/stats.js +++ b/frontend/js/components/admins/stats.js @@ -1,15 +1,17 @@ import React, { useEffect } from "react"; -import PropTypes from "prop-types"; -import { connect } from "react-redux"; +import { useDispatch, useSelector } from "react-redux"; import { Stat } from "./stat"; import { getStats } from "../../actions/admins"; -const StatsConnected = ({ stats, getStats }) => { +export const Stats = () => { + const dispatch = useDispatch(); + const stats = useSelector((state) => state.adminStore.get("stats")); + useEffect(() => { - getStats(); - }, [getStats]); + dispatch(getStats()); + }, [dispatch]); return (
@@ -34,13 +36,3 @@ const StatsConnected = ({ stats, getStats }) => {
); }; -StatsConnected.propTypes = { - stats: PropTypes.object, - getStats: PropTypes.func, -}; - -const mapStateToProps = (state) => ({ - stats: state.adminStore.get("stats"), -}); - -export const Stats = connect(mapStateToProps, { getStats })(StatsConnected); diff --git a/frontend/js/components/admins/userEdit.js b/frontend/js/components/admins/userEdit.js index f5970d6..cd6ed26 100644 --- a/frontend/js/components/admins/userEdit.js +++ b/frontend/js/components/admins/userEdit.js @@ -1,7 +1,6 @@ import React, { useState } from "react"; import PropTypes from "prop-types"; -import { connect } from "react-redux"; -import { List } from "immutable"; +import { useSelector, useDispatch } from "react-redux"; import { updateUser, deleteUser } from "../../actions/admins"; @@ -11,7 +10,7 @@ import { PolochonSelect } from "../polochons/select"; import { FormModal } from "../forms/modal"; import { FormInput } from "../forms/input"; -const UserEditConnect = ({ +export const UserEdit = ({ id, name, admin: initAdmin, @@ -19,10 +18,10 @@ const UserEditConnect = ({ polochonToken, polochonId: initPolochonId, polochonActivated: initPolochonActivated, - updateUser, - deleteUser, - publicPolochons, }) => { + const dispatch = useDispatch(); + const publicPolochons = useSelector((state) => state.polochon.get("public")); + const [modal, setModal] = useState(false); const [admin, setAdmin] = useState(initAdmin); const [activated, setActivated] = useState(initActivated); @@ -38,15 +37,17 @@ const UserEditConnect = ({ if (e) { e.preventDefault(); } - updateUser({ - userId: id, - polochonToken: token, - admin, - activated, - polochonId, - polochonActivated, - password, - }); + dispatch( + updateUser({ + userId: id, + polochonToken: token, + admin, + activated, + polochonId, + polochonActivated, + password, + }) + ); setModal(false); }; @@ -55,7 +56,7 @@ const UserEditConnect = ({ e.preventDefault(); } if (confirmDelete) { - deleteUser(name); + dispatch(deleteUser(name)); setModal(false); } else { setConfirmDelete(true); @@ -137,23 +138,12 @@ const UserEditConnect = ({ ); }; -UserEditConnect.propTypes = { +UserEdit.propTypes = { id: PropTypes.string, name: PropTypes.string, activated: PropTypes.bool, admin: PropTypes.bool, - updateUser: PropTypes.func, - deleteUser: PropTypes.func, polochonToken: PropTypes.string, polochonId: PropTypes.string, polochonActivated: PropTypes.bool, - publicPolochons: PropTypes.instanceOf(List), }; - -const mapStateToProps = (state) => ({ - publicPolochons: state.polochon.get("public"), -}); - -export const UserEdit = connect(mapStateToProps, { updateUser, deleteUser })( - UserEditConnect -); diff --git a/frontend/js/components/admins/userList.js b/frontend/js/components/admins/userList.js index d5480a1..f49b7a4 100644 --- a/frontend/js/components/admins/userList.js +++ b/frontend/js/components/admins/userList.js @@ -1,23 +1,19 @@ import React, { useEffect } from "react"; -import PropTypes from "prop-types"; -import { List } from "immutable"; -import { connect } from "react-redux"; +import { useDispatch, useSelector } from "react-redux"; import { User } from "./user"; import { getUsers } from "../../actions/admins"; import { getPolochons } from "../../actions/polochon"; -const mapStateToProps = (state) => ({ - users: state.adminStore.get("users"), -}); -const mapDispatchToProps = { getUsers, getPolochons }; +export const UserList = () => { + const dispatch = useDispatch(); + const users = useSelector((state) => state.adminStore.get("users")); -const UserListConnect = ({ users, getUsers, getPolochons }) => { useEffect(() => { - getUsers(); - getPolochons(); - }, [getUsers, getPolochons]); + dispatch(getUsers()); + dispatch(getPolochons()); + }, [dispatch]); return (
@@ -54,13 +50,3 @@ const UserListConnect = ({ users, getUsers, getPolochons }) => {
); }; -UserListConnect.propTypes = { - getUsers: PropTypes.func, - getPolochons: PropTypes.func, - users: PropTypes.PropTypes.instanceOf(List), -}; - -export const UserList = connect( - mapStateToProps, - mapDispatchToProps -)(UserListConnect);