Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 2630 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
3432 stevensc 1
import React, { useEffect, useState } from "react";
2
import { Redirect, useParams } from "react-router-dom";
3
import { useDispatch } from "react-redux";
2630 stevensc 4
 
3432 stevensc 5
import { axios } from "utils/index";
6
import { addNotification } from "../../redux/notification/notification.actions";
2630 stevensc 7
 
8
const ActiveAccount = () => {
3432 stevensc 9
  const [isValidated, setIsValidated] = useState(false);
10
  const dispatch = useDispatch();
11
  const { uuid } = useParams();
2630 stevensc 12
 
13
  useEffect(() => {
14
    const activeAccount = async () => {
15
      try {
3432 stevensc 16
        const response = await axios.get(`/activate-account/${uuid}`);
17
        const { data, success } = response.data;
2630 stevensc 18
 
19
        if (!success) {
3432 stevensc 20
          throw new Error(data);
2630 stevensc 21
        }
22
 
3432 stevensc 23
        dispatch(addNotification({ style: "success", msg: data }));
2630 stevensc 24
      } catch (error) {
3432 stevensc 25
        console.log(error);
26
        dispatch(addNotification({ style: "danger", msg: error.message }));
2630 stevensc 27
      } finally {
3432 stevensc 28
        setIsValidated(true);
2630 stevensc 29
      }
3432 stevensc 30
    };
2630 stevensc 31
 
3432 stevensc 32
    activeAccount();
33
  }, [uuid]);
2630 stevensc 34
 
35
  if (!isValidated) {
3432 stevensc 36
    return null;
2630 stevensc 37
  }
38
 
3432 stevensc 39
  return <Redirect to="/signin" />;
40
};
2630 stevensc 41
 
3432 stevensc 42
export default ActiveAccount;