Skip to content

Commit

Permalink
Load user data from redux
Browse files Browse the repository at this point in the history
  • Loading branch information
carolinesalib committed Apr 23, 2020
1 parent 78423cf commit afb5dd3
Show file tree
Hide file tree
Showing 2 changed files with 65 additions and 9 deletions.
67 changes: 59 additions & 8 deletions app/javascript/containers/UserSettings/UserSettings.jsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,36 @@
import React from "react"
import React, { useState, useEffect } from "react"
import classes from './UserSettings.sass'
import SecondLevelNavigation from "../../components/Navigation/SecondLevelNavigation/SecondLevelNavigation";
import TextInputWithLabel from "../../components/TextInputWithLabel/TextInputWithLabel";
import {connect} from "react-redux";
import {createStructuredSelector} from "reselect";

const UserSettings = (props) => {
const [userSettings, setUserSettings] = useState({
name: '',
email: '',
phone: '',
password: '**********',
passwordConfirmation: '**********'
});

useEffect(() => {
const user = props.user;

const userData = {
name: user.name,
email: user.email,
phone: user.phone,
};

setUserSettings(userData)

return () => {
// cleanup
};
}, []);


const UserSettings = () => {
return (
<div className={classes.UserSettings}>
<SecondLevelNavigation>
Expand All @@ -18,18 +45,42 @@ const UserSettings = () => {

<div className={classes.formInputs}>
<div>
<TextInputWithLabel className={classes.textInput} label="Nome Completo" />
<TextInputWithLabel className={classes.textInput} label="Email" />
<TextInputWithLabel className={classes.textInput} label="Telefone" />
<TextInputWithLabel
className={classes.textInput}
label="Nome Completo"
value={userSettings.name}
/>
<TextInputWithLabel
className={classes.textInput}
label="Email"
value={userSettings.email}
/>
<TextInputWithLabel
className={classes.textInput}
label="Telefone"
value={userSettings.phone}
/>
</div>
<div>
<TextInputWithLabel className={classes.textInput} label="Senha" />
<TextInputWithLabel className={classes.textInput} label="Confirmação de senha" />
<TextInputWithLabel
className={classes.textInput}
label="Senha"
value={userSettings.password}
/>
<TextInputWithLabel
className={classes.textInput}
label="Confirmação de senha"
value={userSettings.passwordConfirmation}
/>
</div>
</div>
</div>
</div>
);
};

export default UserSettings;
const mapStateToProps = createStructuredSelector({
user: state => state.app.user
});

export default connect(mapStateToProps, null)(UserSettings);
7 changes: 6 additions & 1 deletion app/views/static/index.html.erb
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
<%= javascript_pack_tag 'application' %>
<%= react_component('App', user: { email: current_user&.email, group: current_user&.group }) %>
<%= react_component('App', user: {
email: current_user&.email,
name: current_user&.name,
phone: current_user&.phone,
group: current_user&.group,
}) %>

0 comments on commit afb5dd3

Please sign in to comment.