Rev 4261 | Rev 4710 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
/* eslint-disable react/prop-types */
import React, { useState } from 'react'
import Avatar from '../../../shared/Avatar/Avatar'
import axios from '../../../utils/axios'
import ArrowDropDownIcon from '@mui/icons-material/ArrowDropDown';
const UserOptions = ({
image = '',
name = '',
adminUrl = '',
impersonateUrl = '',
}) => {
const [displayOptions, setDisplayOptions] = useState(false)
const handleDisplay = async (e) => {
e.preventDefault()
setDisplayOptions(!displayOptions)
}
const getAdminUrl = async (e) => {
e.preventDefault()
try {
const { data } = await axios.get('/backend/signin-admin')
if (data.success) return window.open(data.data);
} catch (error) {
console.log('>>: error > ', error)
}
}
return (
<li>
<a
href="#"
className="header__option"
onClick={handleDisplay}
>
<Avatar
imageUrl={image}
name={name}
size='md'
/>
<span>Me <ArrowDropDownIcon className='user__option-icon' /></span>
</a>
<div className={`user__options-dropdown ${displayOptions ? 'fadeIn' : 'fadeOut'}`}>
<div className='user__options-description'>
<div className='user__options-info'>
<Avatar
imageUrl={image}
name={name}
size='xl'
/>
<h3>{name}</h3>
</div>
<a href='#' className='btn__profile'>
View profile
</a>
</div>
{(adminUrl || impersonateUrl) &&
<div className='user__options-item'>
<h3>Admin</h3>
<ul>
{adminUrl &&
<li>
<a href="#" onClick={getAdminUrl} >Administración</a>
</li>
}
{impersonateUrl &&
<li>
<a href="/impersonate">Personificar otro usuario</a>
</li>
}
</ul>
</div>
}
<div className='user__options-item'>
<h3>Cuenta</h3>
<ul>
<li>
<a href="/account-settings">Configuración de la cuenta</a>
</li>
<li>
<a href="/privacy-policy">Política de privacidad</a>
</li>
<li>
<a href="/cookies">Política de cookies</a>
</li>
</ul>
</div>
<div className='user__options-item'>
<ul>
<li className='logOutContainer'>
<a className='logOutContainer__a' href="/signout">
Cerrar sesión
</a>
</li>
</ul>
</div>
</div >
</li >
)
}
export default UserOptions