import React, { useState, useEffect } from "react"; import PropTypes from "prop-types"; import { connect } 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") }); 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(""); useEffect(() => { getPolochons(); getUserInfos(); }, [getPolochons, getUserInfos]); useEffect(() => { setId(polochonId); }, [polochonId]); const handleSubmit = ev => { ev.preventDefault(); updateUser({ password: password, password_confirm: passwordConfirm, polochon_id: id }); }; if (loading) { return ; } return (

Edit user


handleSubmit(ev)}>

setPassword(e.target.value)} />
setPasswordConfirm(e.target.value)} />
); }; 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);