Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3128 | Rev 3150 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
3127 stevensc 1
import React, { useState } from 'react'
3128 stevensc 2
import { useNavigate } from 'react-router-dom'
3127 stevensc 3
import { Typography } from '@mui/material'
4
 
5
import { usePurposes } from '@hooks'
6
 
7
import Widget from '@components/UI/Widget'
8
import Options from '@components/UI/Option'
9
import ConfirmModal from '@components/modals/ConfirmModal'
10
 
11
export default function PurposeItem({
3128 stevensc 12
  purpose: { id, name, description, actions }
3127 stevensc 13
}) {
14
  const [show, setShow] = useState(false)
15
  const navigate = useNavigate()
16
 
17
  const { deletePurpose } = usePurposes()
18
 
19
  const toggleConfirmModal = () => setShow(!show)
20
 
21
  return (
3129 stevensc 22
    <>
23
      <Widget>
24
        <Widget.Header
25
          title={name}
26
          renderAction={() => (
27
            <Options>
28
              {actions.link_edit && (
29
                <Options.Item onClick={() => navigate(`edit/${id}`)}>
30
                  Editar
31
                </Options.Item>
32
              )}
33
              {actions.link_delete && (
3127 stevensc 34
                <Options.Item onClick={toggleConfirmModal}>Borrar</Options.Item>
3129 stevensc 35
              )}
36
            </Options>
37
          )}
38
        />
39
 
40
        <Widget.Body>
41
          <Typography>{description}</Typography>
42
        </Widget.Body>
43
      </Widget>
44
      <ConfirmModal
45
        show={show}
46
        onClose={toggleConfirmModal}
47
        title='Borrar'
48
        message='¿Estás seguro de que quieres borrar este propósito?'
49
        onAccept={() => deletePurpose(id)}
3127 stevensc 50
      />
3129 stevensc 51
    </>
3127 stevensc 52
  )
53
}