Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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

Rev Autor Línea Nro. Línea
4250 stevensc 1
/* eslint-disable react/prop-types */
4251 stevensc 2
import React, { useState } from 'react'
4250 stevensc 3
import Avatar from '../../../shared/Avatar/Avatar'
4251 stevensc 4
import axios from '../../../utils/axios'
5
import ArrowDropDownIcon from '@mui/icons-material/ArrowDropDown';
4250 stevensc 6
 
7
const UserOptions = ({
8
    image = '',
9
    name = '',
10
    adminUrl = '',
11
    impersonateUrl = '',
12
}) => {
13
 
4251 stevensc 14
    const [displayOptions, setDisplayOptions] = useState(false)
15
 
16
    const handleDisplay = async (e) => {
17
        e.preventDefault()
18
        setDisplayOptions(!displayOptions)
19
    }
20
 
21
    const getAdminUrl = async (e) => {
22
        e.preventDefault()
23
        try {
24
            const { data } = await axios.get('/backend/signin-admin')
25
            if (data.success) return window.open(data.data);
26
        } catch (error) {
27
            console.log('>>: error > ', error)
28
        }
29
    }
30
 
4250 stevensc 31
    return (
32
        <li>
4251 stevensc 33
            <a
34
                href="#"
35
                className="header__option"
36
                onClick={handleDisplay}
37
            >
38
                <Avatar
39
                    imageUrl={image}
40
                    name={name}
41
                    size='md'
42
                />
4253 stevensc 43
                <h3>Me <ArrowDropDownIcon className='user__option-icon'/></h3>
4251 stevensc 44
            </a>
45
            <div className={`user__options-dropdown ${displayOptions ? 'fadeIn' : 'fadeOut'}`}>
46
                <ul>
47
                    {adminUrl &&
48
                        <li>
49
                            <a href="#" onClick={getAdminUrl} >Administración</a>
50
                        </li>
51
                    }
52
                    {impersonateUrl &&
53
                        <li>
54
                            <a href="/impersonate">Personificar otro usuario</a>
55
                        </li>
56
                    }
57
                    <li>
58
                        <a href="/account-settings">Configuración de la cuenta</a>
59
                    </li>
60
                    <li>
61
                        <a href="/privacy-policy">Política de privacidad</a>
62
                    </li>
63
                    <li>
64
                        <a href="/cookies">Política de cookies</a>
65
                    </li>
66
                    <li className='logOutContainer'>
67
                        <a className='logOutContainer__a' href="/signout">
68
                            Cerrar sesión
69
                        </a>
70
                    </li>
71
                </ul>
72
            </div >
4250 stevensc 73
        </li>
74
    )
75
}
76
 
77
export default UserOptions