Proyectos de Subversion LeadersLinked - SPA

Rev

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

Rev Autor Línea Nro. Línea
2909 stevensc 1
import React, { useState } from 'react'
2
import { Badge, IconButton, Avatar as MuiAvatar } from '@mui/material'
3
import { Edit } from '@mui/icons-material'
2910 stevensc 4
 
2909 stevensc 5
import ImageModal from '@components/modals/ImageModal'
6
 
7
export default function Avatar({
8
  src = '',
9
  alt = '',
10
  styles = {},
11
  url = '',
12
  edit = false,
13
  ...props
14
}) {
15
  const [showModal, setShowModal] = useState(false)
16
  const [image, setImage] = useState(src)
17
 
2910 stevensc 18
  const toggleModal = () => setShowModal(!showModal)
2909 stevensc 19
 
20
  return (
21
    <>
22
      <Badge
23
        overlap='circular'
24
        anchorOrigin={{ vertical: 'top', horizontal: 'right' }}
25
        badgeContent={
26
          edit && (
27
            <IconButton onClick={toggleModal}>
28
              <Edit />
29
            </IconButton>
30
          )
31
        }
32
      >
33
        <MuiAvatar src={image} alt={alt} sx={styles} {...props} icon />
34
      </Badge>
35
      <ImageModal
36
        show={showModal}
37
        url={url}
38
        message='Imágenes recomendadas de 200px'
39
        onClose={toggleModal}
40
        onComplete={(newImage) => setImage(newImage)}
41
      />
42
    </>
43
  )
44
}