import React, { useState, useEffect } from "react" import PropTypes from "prop-types" import { connect } from "react-redux" import Loader from "../loader/loader" import { Map } from "immutable" import { updateUser, getUserInfos, getUserTokens, getUserModules } from "../../actions/users" import Modules from "../modules/modules" const mapStateToProps = (state) => ({ isLoading: state.userStore.get("loading"), token: state.userStore.get("polochonToken"), url: state.userStore.get("polochonUrl"), modules : state.userStore.get("modules"), modulesLoading : state.userStore.get("modulesLoading"), }); const mapDispatchToProps = { updateUser, getUserInfos, getUserTokens, getUserModules } const UserProfile = (props) => { useEffect(() => { props.getUserInfos(); props.getUserModules(); }, []) return (
) } UserProfile.propTypes = { isLoading: PropTypes.bool.isRequired, token: PropTypes.string, url: PropTypes.string, updateUser: PropTypes.func.isRequired, getUserInfos: PropTypes.func.isRequired, getUserModules: PropTypes.func.isRequired, modules: PropTypes.instanceOf(Map), modulesLoading: PropTypes.bool.isRequired, }; const UserEdit = (props) => { if (props.isLoading) { return } const [url, setUrl] = useState(props.url); const [token, setToken] = useState(props.token); const [password, setPassword] = useState(""); const [passwordConfirm, setPasswordConfirm] = useState(""); const handleSubmit = (ev) => { ev.preventDefault(); props.updateUser({ "polochon_url": url, "polochon_token": token, "password": password, "password_confirm": passwordConfirm, }); } return (

Edit user


handleSubmit(ev)}>
setUrl(e.target.value)} />
setToken(e.target.value)} />

setPassword(e.target.value)} />
setPasswordConfirm(e.target.value)} />
); } UserEdit.propTypes = { isLoading: PropTypes.bool.isRequired, token: PropTypes.string, url: PropTypes.string, updateUser: PropTypes.func.isRequired, }; export default connect(mapStateToProps, mapDispatchToProps)(UserProfile);