Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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

Rev Autor Línea Nro. Línea
6753 stevensc 1
import React, { useState, useEffect } from 'react'
2
import { useSelector } from 'react-redux'
3
import IconButton from '@mui/material/IconButton'
4
import EditIcon from '@mui/icons-material/Edit'
6782 stevensc 5
 
6753 stevensc 6
import LanguagesModal from './LanguagesModal'
6782 stevensc 7
import EmptySection from '../UI/EmptySection'
6753 stevensc 8
 
6781 stevensc 9
const Languages = ({ languages, userId, isEdit }) => {
6785 stevensc 10
  const [settedLanguages, setSettedLanguages] = useState([])
6753 stevensc 11
  const [isModalOpen, setIsModalOpen] = useState(false)
12
  const labels = useSelector(({ intl }) => intl.labels)
13
 
14
  const handleEdit = () => {
15
    setIsModalOpen(true)
16
  }
17
 
18
  useEffect(() => {
6786 stevensc 19
    languages && setSettedLanguages(languages)
6753 stevensc 20
  }, [languages])
21
 
22
  return (
23
    <>
24
      <div className="profile-attr">
25
        <div className="profile-attr-header">
26
          <h2>{labels.languages}</h2>
27
          {isEdit && (
28
            <IconButton onClick={handleEdit}>
29
              <EditIcon />
30
            </IconButton>
31
          )}
32
        </div>
6782 stevensc 33
        {settedLanguages.length ? (
6753 stevensc 34
          <ul id="list-languages">
6782 stevensc 35
            {settedLanguages.map(({ name, value }) => (
6753 stevensc 36
              <li key={value}>
37
                <span>{name}</span>
38
              </li>
39
            ))}
40
          </ul>
41
        ) : (
6782 stevensc 42
          <EmptySection align="left" message={labels.empty} />
6753 stevensc 43
        )}
44
      </div>
45
      <LanguagesModal
46
        show={isModalOpen}
47
        closeModal={() => setIsModalOpen(false)}
48
        userIdEncrypted={userId}
49
        userLanguages={settedLanguages}
50
        setLanguages={(newLanguages) => setSettedLanguages(newLanguages)}
51
      />
52
    </>
53
  )
54
}
55
 
56
export default Languages