Rev 2995 | Rev 2997 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import React from 'react'
import { useNavigate } from 'react-router-dom'
import { useDispatch } from 'react-redux'
import { Avatar, styled, Typography } from '@mui/material'
import {
VisibilityOutlined,
MapOutlined,
ShareOutlined
} from '@mui/icons-material'
import { axios } from '@utils'
import { addNotification } from '@store/notification/notification.actions'
import Widget from '@components/UI/Widget'
import Options from '@components/UI/Option'
const Row = styled('div')(() => ({
display: 'flex',
justifyContent: 'space-around',
alignItems: 'center'
}))
export default function ProfileInfo({
image,
fullName,
visits,
country,
connections,
linkAdmin,
linkImpersonate
}) {
const navigate = useNavigate()
const dispatch = useDispatch()
const getAdminUrl = async () => {
try {
const response = await axios.get('/backend/signin-admin')
const { data, success } = response.data
if (!success) throw new Error(data)
window.open(data)
} catch (error) {
dispatch(addNotification({ style: 'danger', msg: error.message }))
}
}
return (
<Widget>
<Widget.Body>
<Avatar
src={image}
alt={`${fullName} profile-image`}
sx={{ margin: '0 auto', width: 100, height: 100 }}
/>
<Typography variant='h2'>{fullName}</Typography>
<Row>
<Typography variant='overline'>
<VisibilityOutlined />
{visits}
</Typography>
<Typography variant='overline'>
<MapOutlined />
{country}
</Typography>
<Typography variant='overline'>
<ShareOutlined />
{connections}
</Typography>
{/* <Options>
{linkAdmin ? (
<Options.Item onClick={getAdminUrl}>Administración</Options.Item>
) : null}
{linkImpersonate ? (
<Options.Item onClick={() => navigate('/impersonate')}>
Personificar otro usuario
</Options.Item>
) : null}
<Options.Item onClick={() => navigate('/account-settings')}>
Configuración de la cuenta
</Options.Item>
<Options.Item onClick={() => navigate('/privacy-policy')}>
Política de privacidad
</Options.Item>
<Options.Item onClick={() => navigate('/cookies')}>
Política de cookies
</Options.Item>
<Options.Item onClick={() => navigate('/signout')}>
Cerrar sesión
</Options.Item>
</Options> */}
</Row>
</Widget.Body>
</Widget>
)
}