Proyectos de Subversion LeadersLinked - SPA

Rev

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

Rev Autor Línea Nro. Línea
5 stevensc 1
import React from 'react'
2
import { axios } from '../../../utils'
674 stevensc 3
import { Avatar } from '@mui/material'
5 stevensc 4
import MapOutlinedIcon from '@mui/icons-material/MapOutlined'
5
import ShareOutlinedIcon from '@mui/icons-material/ShareOutlined'
674 stevensc 6
import VisibilityOutlinedIcon from '@mui/icons-material/VisibilityOutlined'
7
import styled from 'styled-components'
8
 
9
import Paraphrase from '../../UI/Paraphrase'
671 stevensc 10
import StyledContainer from '../WidgetLayout'
5 stevensc 11
 
674 stevensc 12
const StyledProfileStatus = styled.div`
13
  display: flex;
14
  align-items: center;
15
  justify-content: space-around;
16
`
17
 
5 stevensc 18
export default function ProfileInfo({
19
  image,
20
  name,
21
  description,
22
  visits,
23
  country,
24
  connections,
25
  linkAdmin,
671 stevensc 26
  linkImpersonate
5 stevensc 27
}) {
28
  const getAdminUrl = async () => {
29
    try {
30
      const { data } = await axios.get('/backend/signin-admin')
31
      if (data.success) window.open(data.data)
32
    } catch (error) {
33
      console.log('>>: error > ', error)
34
    }
35
  }
36
 
37
  return (
671 stevensc 38
    <StyledContainer className='p-2'>
672 stevensc 39
      <Avatar
40
        src={image}
41
        alt={`${name} profile-image`}
42
        sx={{ margin: '0 auto', width: 100, height: 100 }}
43
      />
5 stevensc 44
      <h2>{name}</h2>
674 stevensc 45
      <Paraphrase>{description}</Paraphrase>
46
 
47
      <StyledProfileStatus>
48
        <span>
5 stevensc 49
          <VisibilityOutlinedIcon />
674 stevensc 50
          {visits}
51
        </span>
52
        <span>
5 stevensc 53
          <MapOutlinedIcon />
674 stevensc 54
          {country}
55
        </span>
56
        <span>
5 stevensc 57
          <ShareOutlinedIcon />
674 stevensc 58
          {connections}
59
        </span>
60
      </StyledProfileStatus>
61
 
5 stevensc 62
      <ul>
63
        {linkAdmin && (
64
          <li>
671 stevensc 65
            <a href='#' onClick={() => getAdminUrl()}>
5 stevensc 66
              Administración
67
            </a>
68
          </li>
69
        )}
70
        {linkImpersonate && (
71
          <li>
671 stevensc 72
            <a href='/impersonate'>Personificar otro usuario</a>
5 stevensc 73
          </li>
74
        )}
75
        <li>
671 stevensc 76
          <a href='/account-settings'>Configuración de la cuenta</a>
5 stevensc 77
        </li>
78
        <li>
671 stevensc 79
          <a href='/privacy-policy'>Política de privacidad</a>
5 stevensc 80
        </li>
81
        <li>
671 stevensc 82
          <a href='/cookies'>Política de cookies</a>
5 stevensc 83
        </li>
671 stevensc 84
        <li className='logOutContainer'>
85
          <a className='logOutContainer__a' href='/signout'>
5 stevensc 86
            Cerrar sesión
87
          </a>
88
        </li>
89
      </ul>
671 stevensc 90
    </StyledContainer>
5 stevensc 91
  )
92
}