asenka0301/frontend-bootcamp-project-12

View on GitHub
frontend/src/components/MainModal.jsx

Summary

Maintainability
A
0 mins
Test Coverage
import React from 'react';
import { Modal } from 'react-bootstrap';
import { useDispatch, useSelector } from 'react-redux';
import modals from './modals/index';
import { closeModal } from '../slices/modalsSlice';

const MainModal = () => {
  const isModalOpen = useSelector((state) => state.modals.isOpen);
  const modalType = useSelector((state) => state.modals.modalType);
  const dispatch = useDispatch();

  const handleClose = () => {
    dispatch(closeModal());
  };

  const OpenedModal = modals(modalType);

  return (
    <Modal show={isModalOpen} onHide={handleClose} centered>
      { OpenedModal && <OpenedModal handleClose={handleClose} /> }
    </Modal>
  );
};

export default MainModal;