Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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

/* eslint-disable react/prop-types */
import React from 'react'
import { useState } from 'react'
import { profileTypes } from '../../../Profile.types'
import ImageModal from './ImageModal'

const ProfileImg = ({
  entityId = '',
  profileId = '',
  image = '',
  imageProfileCover = '',
  profileType = ''
}) => {
  // states
  const [isModalOpen, setIsModalOpen] = useState(false)

  const [profileImg, setProfileImg] = useState(() => {
    switch (profileType) {
      case profileTypes.USER:
        return {
          path: `/storage/type/user-profile/code/${entityId}/${image ? `filename/${image}` : ''}`,
          uid: Date.now()
        }
      case profileTypes.COMPANY:
        return {
          path: `/storage/type/company/code/${entityId}/${image ? `filename/${image}` : ''}`,
          uid: Date.now()
        }
      default:
        return {
          path: image,
          uid: Date.now()
        }
    }
  })

  const handleModalOpen = (event) => {
    event && event.preventDefault()
    setIsModalOpen(!isModalOpen)
  }

  return (
    <>
      <div className="user-pro-img">
        <img
          id="user-profile-img"
          src={`${profileImg.path}?${profileImg.uid}`}
          alt=""
        />
        {profileId &&
          <div className="add-dp" id="OpenImgUpload">
            <a href="#" className="btn-image-open" onClick={handleModalOpen}>
              <i className="fas fa-camera"></i>
            </a>
          </div>}
      </div>
      <ImageModal
        isModalOpen={isModalOpen}
        profileId={profileId}
        setProfileImg={(newImage) => setProfileImg(newImage)}
        imageProfileCover={imageProfileCover}
        handleModalOpen={handleModalOpen}
        profileType={profileType}
      />
    </>
  )
}

export default ProfileImg