From bcc4af23a02dc53fd23d321ce1ee3958038fc4f4 Mon Sep 17 00:00:00 2001 From: STEINMETZ THOMAS <thomas.steinmetz2@etu.unistra.fr> Date: Mon, 18 Oct 2021 23:15:57 +0200 Subject: [PATCH] add photo in signup and profile --- backend/models/user.js | 4 ++++ frontend/src/containers/Login.container.js | 6 +++--- frontend/src/containers/Profile.container.js | 6 +++++- frontend/src/containers/SignUp.container.js | 9 +++++++++ 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/backend/models/user.js b/backend/models/user.js index e6b7c97..d1c5e47 100644 --- a/backend/models/user.js +++ b/backend/models/user.js @@ -23,6 +23,10 @@ const UserSchema = new mongoose.Schema({ minlength: 8, select: false, }, + url_photo: { + type:String, + required: false, + } }); UserSchema.virtual('likes', { diff --git a/frontend/src/containers/Login.container.js b/frontend/src/containers/Login.container.js index 50527bf..de341ac 100644 --- a/frontend/src/containers/Login.container.js +++ b/frontend/src/containers/Login.container.js @@ -5,13 +5,13 @@ import * as loginActions from '../actions/Login.actions'; import { Form, Button, Card } from "react-bootstrap"; export class Login extends React.Component { - + constructor(props) { super(props); this.state = { username: "", - password: "" + password: "", }; this.login = this.login.bind(this); @@ -71,7 +71,7 @@ export class Login extends React.Component { {this.props.state.error && <div><br/>{JSON.stringify(this.props.state.errorMessage.message)}</div>} </Form> </Card.Body> - </Card> + </Card> ); } } diff --git a/frontend/src/containers/Profile.container.js b/frontend/src/containers/Profile.container.js index ebb06f9..d547be3 100644 --- a/frontend/src/containers/Profile.container.js +++ b/frontend/src/containers/Profile.container.js @@ -25,7 +25,7 @@ export class Profile extends React.Component { [event.target.id]: event.target.value }); } - + validateForm() { return this.state.oldpassword.length > 0 && this.state.password.length > 0; } @@ -50,6 +50,10 @@ export class Profile extends React.Component { <div>{this.props.state.me.email}</div> </div> <br/> + <div> + <h6>Photo</h6> + <img src={this.props.state.me.url_photo}/> + </div> <Form onSubmit={(e) => {e.preventDefault(); this.changePassword(e)}}> <Form.Group controlId="oldpassword"> <Form.Label>Old password</Form.Label> diff --git a/frontend/src/containers/SignUp.container.js b/frontend/src/containers/SignUp.container.js index 801db47..0af2479 100644 --- a/frontend/src/containers/SignUp.container.js +++ b/frontend/src/containers/SignUp.container.js @@ -13,6 +13,7 @@ export class SignUp extends React.Component { username: "", password: "", email: "", + url_photo: "", }; this.register = this.register.bind(this); } @@ -69,6 +70,14 @@ export class SignUp extends React.Component { minLength={8} /> </Form.Group> + <Form.Group controlId="url_photo" className="mb-3"> + <Form.Label>Url Photo</Form.Label> + <Form.Control + type="text" + value={this.state.url_photo} + onChange={this.handleChange} + /> + </Form.Group> <Button block disabled={!this.validateForm()} -- GitLab