Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3047 | Rev 3287 | 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,
3047 stevensc 13
  size,
3059 stevensc 14
  badgeStyles,
2909 stevensc 15
  ...props
16
}) {
17
  const [showModal, setShowModal] = useState(false)
18
  const [image, setImage] = useState(src)
19
 
2910 stevensc 20
  const toggleModal = () => setShowModal(!showModal)
2909 stevensc 21
 
22
  return (
23
    <>
24
      <Badge
25
        overlap='circular'
26
        anchorOrigin={{ vertical: 'top', horizontal: 'right' }}
27
        badgeContent={
28
          edit && (
29
            <IconButton onClick={toggleModal}>
30
              <Edit />
31
            </IconButton>
32
          )
33
        }
3059 stevensc 34
        sx={badgeStyles}
2909 stevensc 35
      >
36
        <MuiAvatar src={image} alt={alt} sx={styles} {...props} icon />
37
      </Badge>
38
      <ImageModal
39
        show={showModal}
40
        url={url}
3047 stevensc 41
        message={`Imágenes recomendadas de ${size ?? '200px'} `}
2909 stevensc 42
        onClose={toggleModal}
43
        onComplete={(newImage) => setImage(newImage)}
44
      />
45
    </>
46
  )
47
}