Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 6782 | Ir a la última revisión | | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
6753 stevensc 1
/* eslint-disable react/prop-types */
2
import React, { useState, useEffect } from 'react'
3
import { useSelector } from 'react-redux'
4
 
5
import IconButton from '@mui/material/IconButton'
6
import EditIcon from '@mui/icons-material/Edit'
7
import SkillsModal from './SkillsModal'
8
import EmptySection from '../../../shared/empty-section/EmptySection'
9
 
10
const Skills = ({ skills, skillsOptions, userId, isEdit }) => {
11
  const [settedSkills, setSettedSkills] = useState(skills)
12
  const [isModalOpen, setIsModalOpen] = useState(false)
13
  const labels = useSelector(({ intl }) => intl.labels)
14
 
15
  const handleEdit = () => {
16
    setIsModalOpen(true)
17
  }
18
 
19
  useEffect(() => {
20
    setSettedSkills(skills)
21
  }, [skills])
22
 
23
  return (
24
    <>
25
      <div className="profile-attr">
26
        <div className="profile-attr-header">
27
          <h2>{labels.skills}</h2>
28
          {isEdit && (
29
            <IconButton onClick={handleEdit}>
30
              <EditIcon />
31
            </IconButton>
32
          )}
33
        </div>
34
        <ul>
35
          {settedSkills.length ? (
36
            settedSkills.map(({ name }) => (
37
              <li key={name}>
38
                <span>{name}</span>
39
              </li>
40
            ))
41
          ) : (
42
            <EmptySection align="left" message={labels.EMPTY} />
43
          )}
44
        </ul>
45
      </div>
46
      <SkillsModal
47
        show={isModalOpen}
48
        closeModal={() => setIsModalOpen(false)}
49
        userIdEncrypted={userId}
50
        skillsOptions={skillsOptions}
51
        userSkillsArray={settedSkills}
52
        setSkills={(newSkills) => setSettedSkills(newSkills)}
53
      />
54
    </>
55
  )
56
}
57
 
58
export default Skills