Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 1 | Rev 2634 | Ir a la última revisión | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 1 Rev 2633
Línea 1... Línea 1...
1
import {axios} from "../../../utils";
1
import { axios } from "../../../utils";
2
import React, { useEffect, useState } from "react";
2
import React, { useEffect, useState } from "react";
3
import { useForm } from "react-hook-form";
3
import { useForm } from "react-hook-form";
4
import { connect } from "react-redux";
4
import { connect } from "react-redux";
5
import styled from "styled-components";
5
import styled from "styled-components";
6
import { addNotification } from "../../../redux/notification/notification.actions";
6
import { addNotification } from "../../../redux/notification/notification.actions";
Línea 44... Línea 44...
44
    setLoading(true);
44
    setLoading(true);
Línea 45... Línea 45...
45
 
45
 
Línea 46... Línea 46...
46
    let errorPassword = false;
46
    let errorPassword = false;
47
 
47
 
48
    const validPassword = new RegExp('^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$^x%x*-]).{6,16}$');
48
    const validPassword = new RegExp('^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$^x%x*-]).{6,16}$');
49
    
49
 
50
    // se verifica si la clave cumple la expresion regular
50
    // se verifica si la clave cumple la expresion regular
51
    if (!validPassword.test(data.password)) {
51
    if (!validPassword.test(data.password)) {
52
      setIsErrorPassword(true);
52
      setIsErrorPassword(true);
Línea 64... Línea 64...
64
        setIsErrorConfirmation(false);
64
        setIsErrorConfirmation(false);
65
      }, 10000);
65
      }, 10000);
66
      setLoading(false);
66
      setLoading(false);
67
      errorPassword = true;
67
      errorPassword = true;
68
    }
68
    }
69
    
69
 
70
    if(!errorPassword){
70
    if (!errorPassword) {
71
      const formData = new FormData();
71
      const formData = new FormData();
72
      Object.entries(data).map(([key, value]) => {
72
      Object.entries(data).map(([key, value]) => {
73
        formData.append(key, value);
73
        formData.append(key, value);
74
      });
74
      });
75
      await axios
75
      await axios
Línea 97... Línea 97...
97
                msg: errorMessage,
97
                msg: errorMessage,
98
              });
98
              });
99
            }
99
            }
100
          }
100
          }
101
        });
101
        });
102
        setLoading(false);
102
      setLoading(false);
103
    }
103
    }
104
    
104
 
105
    errorPassword = false;
105
    errorPassword = false;
106
  };
106
  };
Línea 107... Línea 107...
107
 
107
 
108
  useEffect(() => {
108
  useEffect(() => {
109
    reset({ ...getValues });
109
    reset({ ...getValues });
Línea 110... Línea 110...
110
  }, [isSubmitSuccessful]);
110
  }, [isSubmitSuccessful]);
111
 
-
 
112
  return (
111
 
113
    <div
-
 
114
      className="acc-setting"
-
 
115
      style={{
-
 
116
        position: "relative",
-
 
117
      }}
112
  return (
118
    >
113
    <div className="settings-container">
119
      <h3>Básica</h3>
114
      <h2>Cambiar clave</h2>
120
      <form onSubmit={handleSubmit(handleOnSubmit)}>
115
      <form onSubmit={handleSubmit(handleOnSubmit)}>
121
        <div className="cp-field">
116
        <div className="cp-field">
122
          <label htmlFor="password">Clave</label>
117
          <label htmlFor="password">Clave</label>
Línea 133... Línea 128...
133
              pattern="^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$^x%x*-]).{6,16}$"
128
              pattern="^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$^x%x*-]).{6,16}$"
134
              title="La clave debe contener entre 6 y 16 caracteres, incluida una letra mayúscula, un número y un carácter especial #?!@$^%*-"
129
              title="La clave debe contener entre 6 y 16 caracteres, incluida una letra mayúscula, un número y un carácter especial #?!@$^%*-"
135
            />
130
            />
136
            <i className="fa fa-lock"></i>
131
            <i className="fa fa-lock"></i>
137
          </div>
132
          </div>
138
          { isErrorPassword && (
133
          {isErrorPassword && (
139
            <p className="text-danger">Disculpe, La clave debe contener entre 6 y 16 caracteres, incluida una letra mayúscula, un número y un carácter especial #?!@$^%*-</p>
134
            <p className="text-danger">Disculpe, La clave debe contener entre 6 y 16 caracteres, incluida una letra mayúscula, un número y un carácter especial #?!@$^%*-</p>
140
          )}
135
          )}
141
          {<FormErrorFeedback>{errors?.password?.message}</FormErrorFeedback>}
136
          {<FormErrorFeedback>{errors?.password?.message}</FormErrorFeedback>}
142
        </div>
137
        </div>
143
        <div className="cp-field">
138
        <div className="cp-field">
Línea 158... Línea 153...
158
              pattern="^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$^x%x*-]).{6,16}$"
153
              pattern="^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$^x%x*-]).{6,16}$"
159
              title="La clave debe contener entre 6 y 16 caracteres, incluida una letra mayúscula, un número y un carácter especial #?!@$^%*-"
154
              title="La clave debe contener entre 6 y 16 caracteres, incluida una letra mayúscula, un número y un carácter especial #?!@$^%*-"
160
            />
155
            />
161
            <i className="fa fa-lock"></i>
156
            <i className="fa fa-lock"></i>
162
          </div>
157
          </div>
163
          { isErrorConfirmation && (
158
          {isErrorConfirmation && (
164
            <p className="text-danger">Disculpe, las claves tienen que coincidir</p>
159
            <p className="text-danger">Disculpe, las claves tienen que coincidir</p>
165
          )}
160
          )}
166
          {
161
          {
167
            <FormErrorFeedback>
162
            <FormErrorFeedback>
168
              {errors?.confirmation?.message}
163
              {errors?.confirmation?.message}