浏览代码

personal info mok

amenpunk 2 年之前
父节点
当前提交
3248d0767a
共有 4 个文件被更改,包括 74 次插入90 次删除
  1. 52 89
      src/Pages/Configuracion.jsx
  2. 3 0
      src/Pages/Login.jsx
  3. 3 1
      src/Reducers/index.js
  4. 16 0
      src/Slices/recluterSlice.js

+ 52 - 89
src/Pages/Configuracion.jsx

@@ -1,101 +1,64 @@
1 1
 import React from 'react'
2 2
 import ProfilePicture from '../Images/man.png';
3 3
 import { Row, Col, Button } from 'react-bootstrap'
4
+import { useSelector } from 'react-redux'
4 5
 
5 6
 export function Configuracion() {
6 7
 
7
-    let [ filename, setFilename ] = React.useState('');
8
-    const hiddenFileInput = React.useRef(null);
8
+  let recluter = useSelector((state) => state.recluter.info)
9
+  console.log('recluter: ', recluter)
9 10
 
10
-    return (
11
-        <div className="content-section">
12
-            <div className="main">
13
-                <h1 className="breadcrumb-header">Configuraciones</h1>
14
-                <Row>
15
-                    <Col md="12">
16
-                        <div className="panel">
11
+  return (
12
+    <div className="content-section">
13
+      <div className="main">
14
+        <h1 className="breadcrumb-header">Configuraciones</h1>
15
+        <Row>
16
+          <Col md="12">
17
+            <div className="panel">
18
+              <Row style={{padding:15}} className="row">
19
+                <Col md="6">
20
+                  <div className="inputs_config">
21
+                    <p>Datos personales</p>
22
+                    <label>Nombre</label>
23
+                    <input type="text" name="nombre_user" placeholder="Fernando Vásquez" />
24
+                    <label>Apellidos</label>
25
+                    <input type="text" name="puesto" placeholder="Gerente general" />
26
+                    <label>Dirección</label>
27
+                    <input type="text" name="direccion" placeholder="Melbourn, Australia" />
28
+                    <label>Número</label>
29
+                    <input type="number" name="numero" placeholder="12345678" />
30
+                  </div>
31
+                </Col>
32
+                <Col md="6">
33
+                  <div className="inputs_config">
34
+                    <p>Redes sociales</p>
35
+                    <label>Facebook</label>
36
+                    <input type="text" name="facebook" placeholder="Link de Facebook" />
37
+                    <label>Linkein</label>
38
+                    <input type="text" name="linkedin" placeholder="Link de Linkedin" />
39
+                    <label>Instagram</label>
40
+                    <input type="text" name="instagram" placeholder="Link de Instagram" />
41
+                    <label>Correo</label>
42
+                    <input type="email" name="instagram" placeholder="Correo electrónico" />
43
+                  </div>
44
+                </Col>
45
+              </Row>
17 46
 
18
-                            <Row style={{ padding : 25 }} className="row">
19
-                                <Col md="4">
20
-                                    <div className="img-container">
21
-                                        <img src={ProfilePicture} alt='profile ' />
22
-                                    </div>
23
-                                </Col>
24
-                                <Col md="8">
47
+              <Row>
48
+                <Col md='12'>
49
+                  <div className="boton_guardar_info">
50
+                    <div className="success_btn">
51
+                      <span >Guardar</span>
52
+                    </div>
53
+                  </div>
54
+                </Col>
55
+              </Row>
25 56
 
26
-                                    <input 
27
-                                        value={filename} 
28
-                                        type="text" 
29
-                                        className="file-upload-input" 
30
-                                        disabled="" 
31
-                                        placeholder="Ningún archivo seleccionado" readOnly
32
-                                    />
33
-
34
-                                    <Button className="btn_add_producto_confirm" style={{ marginLeft : 15 }}>
35
-                                        SUBIR FOTO
36
-                                    </Button>
37
-
38
-                                    <input
39
-                                        multiple={false}
40
-                                        type="file"
41
-                                        ref={hiddenFileInput}
42
-                                        onChange={(event) => {
43
-                                            const files = event.target.files;
44
-                                            console.log('files crud ', files[0])
45
-                                            setFilename(files[0])
46
-                                        }}
47
-                                        style={{display: 'none'}}
48
-                                    />
49
-
50
-                                
51
-
52
-                                </Col>
53
-                            </Row>
54
-
55
-                            <Row className="row">
56
-                                <Col md="6">
57
-                                    <div className="inputs_config">
58
-                                        <p>Datos personales</p>
59
-                                        <label>Nombre</label>
60
-                                        <input type="text" name="nombre_user" placeholder="Fernando Vásquez"/>
61
-                                        <label>Puesto / Profesión</label>
62
-                                        <input type="text" name="puesto" placeholder="Gerente general"/>
63
-                                        <label>Dirección</label>
64
-                                        <input type="text" name="direccion" placeholder="Melbourn, Australia"/>
65
-                                        <label>Número</label>
66
-                                        <input type="number" name="numero" placeholder="12345678"/>
67
-                                    </div>
68
-                                </Col>
69
-                                <Col md="6">
70
-                                    <div className="inputs_config">
71
-                                        <p>Redes sociales</p>
72
-                                        <label>Facebook</label>
73
-                                        <input type="text" name="facebook" placeholder="Link de Facebook"/>
74
-                                        <label>Linkein</label>
75
-                                        <input type="text" name="linkedin" placeholder="Link de Linkedin"/>
76
-                                        <label>Instagram</label>
77
-                                        <input type="text" name="instagram" placeholder="Link de Instagram"/>
78
-                                        <label>Correo</label>
79
-                                        <input type="email" name="instagram" placeholder="Correo electrónico"/>
80
-                                    </div>
81
-                                </Col>
82
-                            </Row>
83
-
84
-                            <Row>
85
-                                <Col md='12'>
86
-                                    <div className="boton_guardar_info">
87
-                                        <div className="success_btn">
88
-                                            <span >Guardar</span>
89
-                                        </div>
90
-                                    </div>
91
-                                </Col>
92
-                            </Row>
93
-
94
-                        </div>
95
-                    </Col>
96
-                </Row>
97 57
             </div>
98
-        </div>
99
-    )
58
+          </Col>
59
+        </Row>
60
+      </div>
61
+    </div>
62
+  )
100 63
 
101 64
 }

+ 3 - 0
src/Pages/Login.jsx

@@ -4,6 +4,7 @@ import jwt_decode from "jwt-decode";
4 4
 import { useDispatch, useSelector } from 'react-redux';
5 5
 import { setToken } from '../Slices/tokenSlice'
6 6
 import { setRole, setProfile } from '../Slices/userSlice'
7
+import { setInfo } from '../Slices/recluterSlice'
7 8
 
8 9
 import {
9 10
   Paper, Box, Grid, Checkbox, FormControlLabel, Typography,
@@ -61,6 +62,8 @@ export function Login() {
61 62
         .post({})
62 63
         .then(response => {
63 64
 
65
+          dispatch(setInfo(response))
66
+
64 67
           let { token, nombre, apelidos, empresa } = response;
65 68
           toast.success(`Bienvenido ${nombre} ${apelidos} !!`)
66 69
           token = token.replace("Bearer ", "")

+ 3 - 1
src/Reducers/index.js

@@ -2,11 +2,13 @@ import { combineReducers } from '@reduxjs/toolkit'
2 2
 import tokenReducer from '../Slices/tokenSlice.js';
3 3
 import userReducer from '../Slices/userSlice.js';
4 4
 import cleaverSlice from '../Slices/cleaverSlice.js';
5
+import recluterSlice from '../Slices/recluterSlice.js';
5 6
 
6 7
 const rootReducer = combineReducers({
7 8
   token : tokenReducer,
8 9
   user: userReducer,
9
-  cleaver : cleaverSlice
10
+  cleaver : cleaverSlice,
11
+  recluter : recluterSlice
10 12
 });
11 13
 
12 14
 export default rootReducer;

+ 16 - 0
src/Slices/recluterSlice.js

@@ -0,0 +1,16 @@
1
+import { createSlice } from '@reduxjs/toolkit'
2
+
3
+const initialState = { info : {} }
4
+
5
+export const recluterSlice = createSlice({
6
+  name : 'recluter',
7
+  reducers: {
8
+    setInfo : (state,action) => {
9
+      state.info = action.payload;
10
+    }
11
+  },
12
+  initialState
13
+})
14
+
15
+export const { setInfo } = recluterSlice.actions;
16
+export default recluterSlice.reducer;