Proyectos de Subversion LeadersLinked - SPA

Rev

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

Rev Autor Línea Nro. Línea
1426 stevensc 1
import React from 'react'
2
import { useSelector } from 'react-redux'
3
import BootstrapModal from 'react-bootstrap/Modal'
4
 
1567 stevensc 5
import Button from '../buttons/Buttons'
1426 stevensc 6
 
7
import styles from './Modal.module.scss'
8
 
9
const Modal = ({
10
  show = false,
11
  title = '',
12
  onAccept = () => {},
13
  onClose = () => {},
14
  onShow = () => {},
15
  onReject = null,
16
  labelAccept = '',
17
  labelReject = '',
18
  size = 'md',
19
  centered = true,
20
  animation = true,
21
  showFooter = true,
22
  dialogClassName,
23
  children
24
}) => {
25
  const labels = useSelector(({ intl }) => intl.labels)
26
 
27
  return (
28
    <BootstrapModal
29
      animation={animation}
30
      className={dialogClassName}
31
      centered={centered}
32
      show={show}
33
      size={size}
34
      onHide={onClose}
35
      onShow={onShow}
36
    >
37
      <BootstrapModal.Header className={styles['modal-header']} closeButton>
38
        <BootstrapModal.Title>{title}</BootstrapModal.Title>
39
      </BootstrapModal.Header>
40
 
41
      <BootstrapModal.Body className={styles['modal-content']}>
42
        {children}
43
      </BootstrapModal.Body>
44
 
45
      {showFooter ? (
46
        <BootstrapModal.Footer className={styles['modal-footer']}>
1567 stevensc 47
          <Button variant='primary' onClick={onAccept}>
48
            {labelAccept || labels.accept}
49
          </Button>
50
          <Button variant='secondary' onClick={onReject || onClose}>
51
            {labelReject || labels.cancel}
52
          </Button>
1426 stevensc 53
        </BootstrapModal.Footer>
54
      ) : null}
55
    </BootstrapModal>
56
  )
57
}
58
 
59
export default Modal