components/Modals/ErrorModal.js

import React, { Component } from 'react';
import { MODALS } from '../../constants';
/**
 * @module Modals/ErrorModal
 */
/**
 * @typedef {object} props
 * @property {object} modal
 * @property {string} message
 * @property {string} [additionalMessage]
 * @property {Function} setOpenModal
 * @property {Function} logoutRequest
 */
export default class ErrorModal extends Component {
  /**
   * Close modal
   *
   * @function
   * @returns {void}
   */
  closeModal = () => {
    this.props.setOpenModal({ modal: '' });
    if (this.props.modal === MODALS.SESSION_EXPIRED) {
      this.props.logoutRequest({
        callAPI: false,
        navigate: this.props.navigate,
        location: this.props.location,
      });
    }
  };

  /**
   * Render
   *
   * @returns {view}
   */
  render() {
    return (
      <div className="dialog open">
        <div className="p-30 text-center">
          <span className="icon-warning mb-20" />
          <h2>Error !</h2>
          <p>
            {this.props.message}
            <br />
            {this.props.additionalMessage || 'Please try again'}
          </p>
        </div>
        <div className="dialog__btn error" onClick={this.closeModal}>
          Dismiss
        </div>
      </div>
    );
  }
}