Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 6781 | 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 LanguagesModal from './LanguagesModal'
8
import EmptySection from '../../../shared/empty-section/EmptySection'
9
 
10
const Languages = ({ languages, languagesOptions, userId, isEdit }) => {
11
  const [settedLanguages, setSettedLanguages] = useState(languages)
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
    setSettedLanguages(languages)
21
  }, [languages])
22
 
23
  return (
24
    <>
25
      <div className="profile-attr">
26
        <div className="profile-attr-header">
27
          <h2>{labels.languages}</h2>
28
          {isEdit && (
29
            <IconButton onClick={handleEdit}>
30
              <EditIcon />
31
            </IconButton>
32
          )}
33
        </div>
34
        {settedLanguages.length ? (
35
          <ul id="list-languages">
36
            {settedLanguages.map(({ name, value }) => (
37
              <li key={value}>
38
                <span>{name}</span>
39
              </li>
40
            ))}
41
          </ul>
42
        ) : (
43
          <EmptySection align="left" message={labels.EMPTY} />
44
        )}
45
      </div>
46
      <LanguagesModal
47
        show={isModalOpen}
48
        closeModal={() => setIsModalOpen(false)}
49
        userIdEncrypted={userId}
50
        languagesOptions={languagesOptions}
51
        userLanguages={settedLanguages}
52
        setLanguages={(newLanguages) => setSettedLanguages(newLanguages)}
53
      />
54
    </>
55
  )
56
}
57
 
58
export default Languages