Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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

Rev Autor Línea Nro. Línea
1972 steven 1
import React,  { useState, useMemo } from 'react';
1968 steven 2
import Spinner from '../../../shared/loading-spinner/Spinner';
1969 steven 3
import styled from 'styled-components';
1989 steven 4
import axios from '../../../utils/axios';
1966 steven 5
 
1968 steven 6
const StyledSpinnerContainer = styled.div`
7
  position: absolute;
8
  left: 0;
9
  top: 0;
10
  width: 100%;
11
  height: 100%;
12
  background: rgba(255, 255, 255, 0.4);
13
  display: flex;
14
  justify-content: center;
15
  align-items: center;
16
  z-index: 300;
17
`;
1966 steven 18
function CloseAccount() {
19
    const [showInputCode, setShowInputCode] = useState(false);
1968 steven 20
    const [loading, setLoading] = useState(false);
1990 steven 21
    const handleGetCode  = async (changeState = true) => {
1966 steven 22
        try {
1990 steven 23
            setLoading(true)
24
            const res = await axios.get('/account-settings/delete-account');
1989 steven 25
            console.log('>>: res > ', res)
1966 steven 26
            console.log('>>: get code')
1990 steven 27
            if(changeState)
28
                setShowInputCode(true)
1966 steven 29
        } catch (error) {
30
            console.log('>>: error > ', error)
1990 steven 31
        }finally{
32
            setLoading(false)
1966 steven 33
        }
34
    }
1990 steven 35
 
36
    const handleSubmit = async (e) => {
1968 steven 37
        try {
1990 steven 38
            e.preventDefault()
1968 steven 39
            setLoading(true)
1990 steven 40
            const res = await axios.post('/account-settings/delete-account');
41
            console.log('>>: res > ', res)
1968 steven 42
        } catch (error) {
43
            console.log('>>: error > ', error)
44
        }finally{
45
            setLoading(false)
46
        }
47
    }
1971 steven 48
 
1977 steven 49
    const CloseAccountContent = () => {
1975 steven 50
        if(showInputCode){
51
            return <form onSubmit={handleSubmit}>
52
                <div className="form-group">
53
                    <label htmlFor="exampleInputEmail1">Ingrese el codigo</label>
54
                    <input type="email" className="form-control" id="exampleInputEmail1" />
55
                    <small id="emailHelp" className="form-text text-muted">Este codigo fue enviado a tu correo electrónico.</small>
1990 steven 56
                    <button className="btn btn-secondary btn-sm" onClick={handleGetCode(false)}>
57
                        ¿No ha recibido su correo?, solicitue un codigo nuevo
58
                    </button>
1975 steven 59
                </div>
60
                <button type="submit" className="btn btn-primary">Enviar</button>
61
            </form>
62
        }else{
63
            return <>
1983 steven 64
                <h1 className="text-center">¿Esta seguro de eliminar su cuenta?</h1>
1975 steven 65
                <div className="row">
1983 steven 66
                    <div className='col-md col-sm-12 text-right'>
1975 steven 67
                        <button className="btn btn-primary" onClick={handleGetCode} disabled={showInputCode}>Si, estoy seguro</button>
68
                    </div>
1983 steven 69
                    <div className='col-md col-sm-12 text-left'>
70
                        <button className="btn btn-primary" disabled={showInputCode}>No estoy seguro</button>
1975 steven 71
                    </div>
72
                </div>
73
            </>
74
        }
1977 steven 75
    }
1971 steven 76
    return (
1978 steven 77
        <div className="acc-setting h-100 d-flex justify-content-center align-items-center" style={{ position: "relative" }}>
1971 steven 78
            <div className="container">
1978 steven 79
                <div className="">
1974 steven 80
                    {CloseAccountContent()}
1971 steven 81
                </div>
1966 steven 82
            </div>
1968 steven 83
            {loading && (
84
                <StyledSpinnerContainer>
85
                    <Spinner />
86
                </StyledSpinnerContainer>
87
            )}
1966 steven 88
        </div>
89
    )
90
}
91
 
92
export default CloseAccount