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);