quotations

Форк
0
34 строки · 851.0 Байт
1
import type { FC } from "react";
2
import type { IModalLayoutProps } from "@/shared/ui/Modal";
3
import styles from "./Modal.module.css";
4
import { createPortal } from "react-dom";
5
import React from "react";
6

7
export const Modal: FC<IModalLayoutProps> = ({
8
  children,
9
  showModal,
10
  onModalClose,
11
}) => {
12
  const handleClose = () => {
13
    onModalClose();
14
  };
15

16
  const handleContentClick = (event: React.MouseEvent<HTMLDivElement>) => {
17
    event.stopPropagation();
18
  };
19

20
  return (
21
    <>
22
      {showModal &&
23
        createPortal(
24
          <div className={styles.modal} onClick={handleClose}>
25
            <div className={styles.modalContent} onClick={handleContentClick}>
26
              {children}
27
              <button onClick={handleClose}>Закрыть</button>
28
            </div>
29
          </div>,
30
          document.body,
31
        )}
32
    </>
33
  );
34
};
35

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.