Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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

Rev 4407 Rev 4408
Línea 18... Línea 18...
18
}) => {
18
}) => {
Línea 19... Línea 19...
19
 
19
 
20
  const [loading, setLoading] = useState(false);
20
  const [loading, setLoading] = useState(false);
Línea 21... Línea 21...
21
  const [isAdult, setIsAdult] = useState(false);
21
  const [isAdult, setIsAdult] = useState(false);
22
 
-
 
23
  const { register, handleSubmit, setValue, watch, setError, errors } = useForm({
-
 
24
    defaultValues: {
-
 
25
      phone: "",
-
 
26
      timezone: "",
-
 
Línea 27... Línea 22...
27
    },
22
 
28
  })
23
  const { register, handleSubmit, setValue, watch, errors } = useForm()
29
 
24
 
30
  useEffect(() => {
25
  useEffect(() => {
31
    register("phone", {
26
    register("phone", {
32
      required: "Por favor ingrese su número de teléfono",
27
      required: "Por favor ingrese su número de teléfono",
33
    });
28
    })
34
    register("timezone", {
29
    register("timezone", {
Línea 35... Línea 30...
35
      required: "Por favor ingrese su zona horaria",
30
      required: "Por favor ingrese su zona horaria",
36
    });
31
    })
37
  }, []);
32
  }, []);
38
 
-
 
39
  const handleOnSubmit = async (data) => {
-
 
-
 
33
 
40
    setLoading(true);
34
  const handleOnSubmit = async (data) => {
-
 
35
    setLoading(true);
Línea 41... Línea 36...
41
    const formData = new FormData();
36
    const formData = new FormData();
42
    Object.entries(data)
37
 
43
      .map(([key, value]) => formData.append(key, value))
38
    formData.append("is_adult", isAdult ? 'y' : 'n')
44
    formData.append("is_adult", isAdult ? 'y' : 'n')
-
 
45
 
-
 
46
    await axios.post("/account-settings/basic", formData).then((response) => {
-
 
47
      const resData = response.data;
-
 
48
      if (resData.success) {
-
 
49
        addNotification({
-
 
50
          style: "success",
-
 
51
          msg: resData.data,
-
 
52
        });
-
 
53
      } else {
-
 
54
        if (typeof resData.data === "object") {
-
 
55
          resData.data;
-
 
56
          Object.entries(resData.data).map(([key, value]) => {
-
 
57
            setError(key, { type: "manual", message: value[0] });
-
 
58
          });
39
    Object.entries(data).map(([key, value]) => formData.append(key, value))
59
        } else {
-
 
60
          const errorMessage =
-
 
61
            typeof resData.data === "string"
40
 
62
              ? resData.data
-
 
63
              : "Ha ocurrido un error, Por favor intente mas tarde";
41
    axios.post("/account-settings/basic", formData)
64
          addNotification({
42
      .then(({ data: response }) => {
-
 
43
        if (!response.success) {
65
            style: "danger",
44
          const errorMessage = typeof response.data === "string" ? response.data : "Ha ocurrido un error, Por favor intente mas tarde"
66
            msg: errorMessage,
45
          return addNotification({ style: "danger", msg: errorMessage })
67
          });
46
        }
Línea 68... Línea 47...
68
        }
47
 
69
      }
48
        return addNotification({ style: "success", msg: response.data })
70
    });
49
      })
Línea 78... Línea 57...
78
      .then(({ data: response }) => {
57
      .then(({ data: response }) => {
79
        if (response.success) {
58
        if (response.success) {
80
          Object
59
          Object
81
            .entries(response.data)
60
            .entries(response.data)
82
            .map(([key, value]) => {
61
            .map(([key, value]) => {
-
 
62
              console.log(key, value)
83
              if (key === 'is_adult') {
63
              if (key === 'is_adult') {
84
                return setIsAdult(value === 'y' ? true : false)
64
                return setIsAdult(value === 'y' ? true : false)
85
              }
65
              }
86
              return setValue(key, value)
66
              return setValue(key, value)
87
            })
67
            })
Línea 123... Línea 103...
123
            <div className="cp-field">
103
            <div className="cp-field">
124
              <label htmlFor="last_name">Email</label>
104
              <label htmlFor="last_name">Email</label>
125
              <input
105
              <input
126
                type="text"
106
                type="text"
127
                name="email"
107
                name="email"
128
                id="email"
-
 
129
                ref={register({
108
                ref={register({
130
                  required: "Por favor ingrese su apellido",
109
                  required: "Por favor ingrese su correo electrónico",
131
                  pattern: {
110
                  pattern: {
132
                    value: /^[\w-.]+@([\w-]+\.)+[\w-]{2,4}$/i,
111
                    value: /^[\w-.]+@([\w-]+\.)+[\w-]{2,4}$/i,
133
                    message: "Por favor ingrese un correo válido",
112
                    message: "Por favor ingrese un correo válido",
134
                  },
113
                  },
135
                })}
114
                })}
Línea 140... Línea 119...
140
              <label htmlFor="phone">Teléfono</label>
119
              <label htmlFor="phone">Teléfono</label>
141
              <PhoneInput
120
              <PhoneInput
142
                name="phone"
121
                name="phone"
143
                inputClass="custom-input"
122
                inputClass="custom-input"
144
                value={watch("phone")}
123
                value={watch("phone")}
145
                onChange={(phone) => {
-
 
146
                  setValue("phone", phone);
124
                onChange={(phone) => setValue("phone", phone)}
147
                }}
-
 
148
              />
125
              />
149
              {<FormErrorFeedback>{errors?.phone?.message}</FormErrorFeedback>}
126
              {<FormErrorFeedback>{errors?.phone?.message}</FormErrorFeedback>}
150
            </div>
127
            </div>
151
          </div>
128
          </div>
152
          <div className="inputs__container">
129
          <div className="inputs__container">