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