diff --git a/frontend/js/components/users/activation.js b/frontend/js/components/users/activation.js
index 51b0ae3..34387a3 100644
--- a/frontend/js/components/users/activation.js
+++ b/frontend/js/components/users/activation.js
@@ -1,19 +1,18 @@
import React from "react";
-import PropTypes from "prop-types";
-import { connect } from "react-redux";
+import { useSelector } from "react-redux";
import { Redirect, Link } from "react-router-dom";
-const mapStateToProps = (state) => ({
- isActivated: state.userStore.get("isActivated"),
- isLogged: state.userStore.get("isLogged"),
-});
+const UserActivation = () => {
+ const isLogged = useSelector((state) => state.userStore.get("isLogged"));
+ const isActivated = useSelector((state) =>
+ state.userStore.get("isActivated")
+ );
-const UserActivation = (props) => {
- if (!props.isLogged) {
+ if (!isLogged) {
return ;
}
- if (props.isActivated) {
+ if (isActivated) {
return ;
}
@@ -31,9 +30,4 @@ const UserActivation = (props) => {
);
};
-UserActivation.propTypes = {
- isActivated: PropTypes.bool.isRequired,
- isLogged: PropTypes.bool.isRequired,
-};
-
-export default connect(mapStateToProps)(UserActivation);
+export default UserActivation;
diff --git a/frontend/js/components/users/edit.js b/frontend/js/components/users/edit.js
index a34c03c..c24e24f 100644
--- a/frontend/js/components/users/edit.js
+++ b/frontend/js/components/users/edit.js
@@ -1,44 +1,30 @@
import React, { useState, useEffect } from "react";
-import PropTypes from "prop-types";
-import { connect } from "react-redux";
+import { useDispatch, useSelector } from "react-redux";
import Loader from "../loader/loader";
-import { List } from "immutable";
import { getUserInfos, updateUser } from "../../actions/users";
import { getPolochons } from "../../actions/polochon";
import { PolochonSelect } from "../polochons/select";
-const mapStateToProps = (state) => ({
- loading: state.userStore.get("loading"),
- publicPolochons: state.polochon.get("public"),
- polochonId: state.userStore.get("polochonId"),
- polochonActivated: state.userStore.get("polochonActivated"),
-});
+export const UserEdit = () => {
+ const dispatch = useDispatch();
-const mapDispatchToProps = {
- updateUser,
- getPolochons,
- getUserInfos,
-};
-
-const UserEditConnect = ({
- loading,
- polochonId,
- polochonActivated,
- updateUser,
- getPolochons,
- getUserInfos,
- publicPolochons,
-}) => {
const [id, setId] = useState(polochonId);
const [password, setPassword] = useState("");
const [passwordConfirm, setPasswordConfirm] = useState("");
+ const loading = useSelector((state) => state.userStore.get("loading"));
+ const publicPolochons = useSelector((state) => state.polochon.get("public"));
+ const polochonId = useSelector((state) => state.userStore.get("polochonId"));
+ const polochonActivated = useSelector((state) =>
+ state.userStore.get("polochonActivated")
+ );
+
useEffect(() => {
- getPolochons();
- getUserInfos();
- }, [getPolochons, getUserInfos]);
+ dispatch(getPolochons());
+ dispatch(getUserInfos());
+ }, [dispatch]);
useEffect(() => {
setId(polochonId);
@@ -46,11 +32,13 @@ const UserEditConnect = ({
const handleSubmit = (ev) => {
ev.preventDefault();
- updateUser({
- password: password,
- password_confirm: passwordConfirm, // eslint-disable-line camelcase
- polochon_id: id, // eslint-disable-line camelcase
- });
+ dispatch(
+ updateUser({
+ password: password,
+ password_confirm: passwordConfirm, // eslint-disable-line camelcase
+ polochon_id: id, // eslint-disable-line camelcase
+ })
+ );
};
if (loading) {
@@ -115,17 +103,3 @@ const UserEditConnect = ({
);
};
-UserEditConnect.propTypes = {
- loading: PropTypes.bool.isRequired,
- polochonId: PropTypes.string,
- polochonActivated: PropTypes.bool,
- updateUser: PropTypes.func,
- getPolochons: PropTypes.func,
- getUserInfos: PropTypes.func,
- publicPolochons: PropTypes.instanceOf(List),
-};
-
-export const UserEdit = connect(
- mapStateToProps,
- mapDispatchToProps
-)(UserEditConnect);
diff --git a/frontend/js/components/users/login.js b/frontend/js/components/users/login.js
index 3b5632a..45c8b61 100644
--- a/frontend/js/components/users/login.js
+++ b/frontend/js/components/users/login.js
@@ -1,29 +1,28 @@
import React, { useState } from "react";
import PropTypes from "prop-types";
-import { connect } from "react-redux";
+import { useDispatch, useSelector } from "react-redux";
import { Redirect, Link } from "react-router-dom";
import { loginUser } from "../../actions/users";
-const mapStateToProps = (state) => ({
- isLogged: state.userStore.get("isLogged"),
- isLoading: state.userStore.get("loading"),
- error: state.userStore.get("error"),
-});
-const mapDispatchToProps = { loginUser };
+const UserLoginForm = () => {
+ const dispatch = useDispatch();
+
+ const isLogged = useSelector((state) => state.userStore.get("isLogged"));
+ const isLoading = useSelector((state) => state.userStore.get("loading"));
+ const error = useSelector((state) => state.userStore.get("error"));
-const UserLoginForm = (props) => {
const [username, setUsername] = useState("");
const [password, setPassword] = useState("");
const handleSubmit = (e) => {
e.preventDefault();
- if (!props.isLoading) {
- props.loginUser(username, password);
+ if (!isLoading) {
+ dispatch(loginUser(username, password));
}
};
- if (props.isLogged) {
+ if (isLogged) {
return ;
}
@@ -32,8 +31,8 @@ const UserLoginForm = (props) => {
Log in
- {props.error && props.error !== "" && (
-
{props.error}
+ {error && error !== "" && (
+
{error}
)}