Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 4599 | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
3730 stevensc 1
/* eslint-disable react/prop-types */
5374 stevensc 2
import React from 'react'
3
import { useState } from 'react'
4
import { profileTypes } from '../../../Profile.types'
4599 stevensc 5
import ImageModal from './ImageModal'
1 www 6
 
3730 stevensc 7
const ProfileImg = ({
8
  entityId = '',
9
  profileId = '',
10
  image = '',
11
  imageProfileCover = '',
12
  profileType = ''
13
}) => {
1 www 14
  // states
5374 stevensc 15
  const [isModalOpen, setIsModalOpen] = useState(false)
4599 stevensc 16
 
1 www 17
  const [profileImg, setProfileImg] = useState(() => {
18
    switch (profileType) {
19
      case profileTypes.USER:
20
        return {
3872 stevensc 21
          path: `/storage/type/user-profile/code/${entityId}/${image ? `filename/${image}` : ''}`,
5374 stevensc 22
          uid: Date.now()
23
        }
1 www 24
      case profileTypes.COMPANY:
25
        return {
3872 stevensc 26
          path: `/storage/type/company/code/${entityId}/${image ? `filename/${image}` : ''}`,
5374 stevensc 27
          uid: Date.now()
3730 stevensc 28
        }
1 www 29
      default:
5374 stevensc 30
        return {
31
          path: image,
32
          uid: Date.now()
33
        }
1 www 34
    }
5374 stevensc 35
  })
1 www 36
 
37
  const handleModalOpen = (event) => {
5374 stevensc 38
    event && event.preventDefault()
39
    setIsModalOpen(!isModalOpen)
40
  }
1 www 41
 
42
  return (
4599 stevensc 43
    <>
1 www 44
      <div className="user-pro-img">
45
        <img
46
          id="user-profile-img"
47
          src={`${profileImg.path}?${profileImg.uid}`}
48
          alt=""
49
        />
5374 stevensc 50
        {profileId &&
51
          <div className="add-dp" id="OpenImgUpload">
52
            <a href="#" className="btn-image-open" onClick={handleModalOpen}>
53
              <i className="fas fa-camera"></i>
54
            </a>
55
          </div>}
1 www 56
      </div>
4599 stevensc 57
      <ImageModal
58
        isModalOpen={isModalOpen}
59
        profileId={profileId}
60
        setProfileImg={(newImage) => setProfileImg(newImage)}
61
        imageProfileCover={imageProfileCover}
62
        handleModalOpen={handleModalOpen}
63
        profileType={profileType}
64
      />
65
    </>
5374 stevensc 66
  )
67
}
1 www 68
 
5374 stevensc 69
export default ProfileImg