82 lines
2.5 KiB
JavaScript
Raw Normal View History

2017-08-07 14:03:22 +02:00
/**
*
* PopUpWarning
*
*/
2017-09-27 17:13:15 +02:00
import React from 'react';
import PropTypes from 'prop-types';
2017-08-07 14:03:22 +02:00
// modal
import { Button, Modal, ModalHeader, ModalBody } from 'reactstrap';
import { FormattedMessage } from 'react-intl';
2017-08-11 14:33:18 +02:00
import Danger from '../../assets/icons/icon_danger.svg';
2017-08-07 14:03:22 +02:00
import styles from './styles.scss';
class PopUpWarning extends React.Component { // eslint-disable-line react/prefer-stateless-function
2017-08-11 14:33:18 +02:00
renderModalBodyDanger = () => (
<ModalBody>
<div className={styles.modalDangerBodyContainer}>
<img src={Danger} alt="icon" />
<FormattedMessage id={`settings-manager.${this.props.dangerMessage}`}>
2017-08-11 14:33:18 +02:00
{(message) => (
<p>{message}</p>
)}
</FormattedMessage>
</div>
<div className={styles.buttonDangerContainer}>
<Button onClick={this.props.handleConfirmDanger} className={styles.primary}>
<FormattedMessage id="settings-manager.popUpWarning.danger.ok.message" />
2017-08-11 14:33:18 +02:00
</Button>
</div>
</ModalBody>
)
renderModalBody = () => (
<ModalBody className={styles.modalBody}>
<FormattedMessage id={`settings-manager.${this.props.warningMessage}`} />
2017-08-11 14:33:18 +02:00
<div className={styles.buttonContainer}>
<FormattedMessage id="settings-manager.form.button.cancel">
2017-08-11 14:33:18 +02:00
{(message) => (
<Button onClick={this.props.toggleModal} className={styles.secondary}>{message}</Button>
)}
</FormattedMessage>
<FormattedMessage id="settings-manager.form.button.confirm">
2017-08-11 14:33:18 +02:00
{(message) => (
<Button onClick={this.props.handleConfirm} className={styles.primary}>{message}</Button>
)}
</FormattedMessage>
</div>
</ModalBody>
)
2017-08-07 14:03:22 +02:00
render() {
2017-08-11 14:33:18 +02:00
const modalBody = this.props.showDanger ? this.renderModalBodyDanger() : this.renderModalBody();
2017-08-07 14:03:22 +02:00
return (
<div className={styles.popUpWarning}>
<Modal isOpen={this.props.isOpen} toggle={this.props.toggleModal} className={styles.modalPosition}>
<ModalHeader toggle={this.props.toggleModal} className={styles.header}>
<FormattedMessage id="settings-manager.popUpWarning.title" />
2017-08-07 14:03:22 +02:00
</ModalHeader>
<div className={styles.bordered} />
2017-08-11 14:33:18 +02:00
{modalBody}
2017-08-07 14:03:22 +02:00
</Modal>
</div>
);
}
}
PopUpWarning.propTypes = {
dangerMessage: PropTypes.string,
handleConfirm: PropTypes.func,
handleConfirmDanger: PropTypes.func,
isOpen: PropTypes.bool,
showDanger: PropTypes.bool,
toggleModal: PropTypes.func,
warningMessage: PropTypes.string,
2017-08-07 14:03:22 +02:00
}
export default PopUpWarning;