Rev 3029 | Rev 3040 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import React from 'react'import { useSelector } from 'react-redux'import { IconButton } from '@mui/material'import { Add } from '@mui/icons-material'import { useExperiences } from '@hooks'import Widget from '@components/UI/Widget'import ExperienceItem from './experience-item'import ExperienceModal from './experience-modal'import ConfirmModal from '@components/modals/ConfirmModal'import EmptySection from '@components/UI/EmptySection'const ExperiencesCard = ({uuid = '',experiences: defaultExperiences = [],edit = false}) => {const {modalState,experiences,currentExperience,showModal,onAdd,onEdit,onDelete} = useExperiences({defaultExperiences})const labels = useSelector(({ intl }) => intl.labels)const clearModal = () => showModal(null)return (<><Widget><Widget.Headertitle={labels.experience}renderAction={() => {if (!edit) return nullreturn (<IconButton onClick={() => showModal('add')}><Add /></IconButton>)}}/><Widget.Body>{experiences.length ? (experiences.map((experience, index) => (<ExperienceItemkey={index}experience={experience}onEdit={() => showModal('edit', experience)}onDelete={() => showModal('delete', experience)}edit={edit}/>))) : (<EmptySection align='left' message={labels.datatable_empty} />)}</Widget.Body></Widget><ExperienceModalshow={modalState === 'add' || modalState === 'edit'}currentExperience={currentExperience}onClose={clearModal}onConfirm={(experience) =>modalState === 'add' ? onAdd(uuid, experience) : onEdit(experience)}/><ConfirmModalshow={modalState === 'delete'}title='Eliminar Experiencia'message='¿Esta seguro de eliminar esta experiencia?'onClose={clearModal}onAccept={onDelete}/></>)}export default ExperiencesCard