Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 1567 | Ir a la última revisión | | 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
 
5
import { ButtonPrimary, ButtonTertiary } from '@buttons'
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']}>
47
          <ButtonPrimary
48
            label={labelAccept || labels.accept}
49
            onClick={onAccept}
50
          />
51
          <ButtonTertiary
52
            label={labelReject || labels.cancel}
53
            onClick={onReject || onClose}
54
          />
55
        </BootstrapModal.Footer>
56
      ) : null}
57
    </BootstrapModal>
58
  )
59
}
60
 
61
export default Modal