Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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

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 SkillsModal from './SkillsModal'
import EmptySection from '../UI/EmptySection'

const Skills = ({ skills, userId, isEdit }) => {
  const [settedSkills, setSettedSkills] = useState([])
  const [isModalOpen, setIsModalOpen] = useState(false)
  const labels = useSelector(({ intl }) => intl.labels)

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

  useEffect(() => {
    skills && setSettedSkills(skills)
  }, [skills])

  return (
    <>
      <div className="profile-attr">
        <div className="profile-attr-header">
          <h2>{labels.skills}</h2>
          {isEdit && (
            <IconButton onClick={handleEdit}>
              <EditIcon />
            </IconButton>
          )}
        </div>
        <ul>
          {settedSkills.length ? (
            settedSkills.map(({ name }) => (
              <li key={name}>
                <span>{name}</span>
              </li>
            ))
          ) : (
            <EmptySection align="left" message={labels.empty} />
          )}
        </ul>
      </div>
      <SkillsModal
        show={isModalOpen}
        closeModal={() => setIsModalOpen(false)}
        userIdEncrypted={userId}
        userSkillsArray={settedSkills}
        setSkills={(newSkills) => setSettedSkills(newSkills)}
      />
    </>
  )
}

export default Skills