Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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

/* eslint-disable react/prop-types */
import React, { useState, useEffect } from 'react'
import { useSelector } from 'react-redux'

import IconButton from '@mui/material/IconButton'
import EditIcon from '@mui/icons-material/Edit'
import EmptySection from '../../../shared/empty-section/EmptySection'
import HobbiesModal from './HobbiesModal'

const HobbiesAndInterests = ({
  hobbiesAndInterest,
  hobbiesAndInterestsOptions,
  userId,
  isEdit,
}) => {
  const [isModalOpen, setIsModalOpen] = useState(false)
  const [settedHobbiesAndInterest, setSettedHobbiesAndInterest] =
    useState(hobbiesAndInterest)

  const labels = useSelector((state) => state.labels)

  const handleEdit = () => {
    setIsModalOpen(true)
  }

  useEffect(() => {
    setSettedHobbiesAndInterest(hobbiesAndInterest)
  }, [hobbiesAndInterest])

  return (
    <>
      <div className="profile-attr">
        <div className="profile-attr-header">
          <h2>{labels.HOBBIES_AND_INTERESTS}</h2>
          {isEdit && (
            <IconButton onClick={handleEdit}>
              <EditIcon />
            </IconButton>
          )}
        </div>
        {settedHobbiesAndInterest.length ? (
          <ul id="list-skills">
            {settedHobbiesAndInterest.map(({ name, value }) => (
              <li key={value}>
                <span>{name}</span>
              </li>
            ))}
          </ul>
        ) : (
          <EmptySection align="left" message={labels.EMPTY} />
        )}
      </div>
      <HobbiesModal
        show={isModalOpen}
        closeModal={() => setIsModalOpen(false)}
        userIdEncrypted={userId}
        hobbiesAndInterestsOptions={hobbiesAndInterestsOptions}
        userHobbiesAndInterests={settedHobbiesAndInterest}
        setUserHobbiesAndInterests={(newHobbiesAndInterests) =>
          setSettedHobbiesAndInterest(newHobbiesAndInterests)
        }
      />
    </>
  )
}

export default HobbiesAndInterests