Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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

Rev Autor Línea Nro. Línea
6794 stevensc 1
import React, { useState } from 'react'
6795 stevensc 2
import { axios } from '../../../../utils'
3
import { getMonthName } from '../../../../utils/dates'
6794 stevensc 4
import parse from 'html-react-parser'
5
import EditIcon from '@mui/icons-material/EditOutlined'
6
import DeleteIcon from '@mui/icons-material/DeleteOutline'
7
 
6795 stevensc 8
import ConfirmationBox from '../../../UI/ConfirmBox'
9
 
6794 stevensc 10
const ExperienceCard = ({
11
  experience,
12
  isEdit = false,
13
  onEdit = () => {},
6807 stevensc 14
  onDelete = () => {},
6794 stevensc 15
}) => {
16
  const [isShowModal, setIsShowModal] = useState(false)
17
 
6807 stevensc 18
  const deleteExperience = () => {
19
    axios
20
      .post(experience.link_delete)
21
      .then(({ data: response }) => response.success && onDelete(response.data))
6794 stevensc 22
  }
23
 
24
  return (
25
    <div className="card__items">
26
      <div className="card__options-container">
27
        <h4>{experience.title}</h4>
28
        {isEdit && (
29
          <div className="card__options-icons position-relative">
30
            <button
31
              className="button-icon"
32
              onClick={() =>
33
                onEdit(
34
                  'Experiencia',
35
                  experience.link_edit,
36
                  experience.description || ' '
37
                )
38
              }
39
            >
40
              <EditIcon />
41
            </button>
42
            <button
43
              className="button-icon"
44
              onClick={() => setIsShowModal(true)}
45
            >
46
              <DeleteIcon />
47
            </button>
48
            <ConfirmationBox
49
              show={isShowModal}
50
              onClose={() => setIsShowModal(false)}
51
              onAccept={deleteExperience}
52
            />
53
          </div>
54
        )}
55
      </div>
56
      <p>{experience.company}</p>
57
      <span>{`${
58
        typeof experience.industry === 'object'
59
          ? experience.industry.name
60
          : experience.industry
61
      } / ${experience.size}`}</span>
62
      <span>
63
        {`${getMonthName(experience.from_month)} ${experience.from_year}`} -{' '}
64
        {experience.to_year
65
          ? `${getMonthName(experience.to_month)} ${experience.to_year}`
66
          : 'Actual'}
67
      </span>
68
      <p>{experience.formatted_adress}</p>
69
      {experience.description && parse(experience.description)}
70
    </div>
71
  )
72
}
73
 
74
export default ExperienceCard