Skip to content
Snippets Groups Projects
Modal.tsx 799 B
Newer Older
  • Learn to ignore specific revisions
  • Hugo NOUTS's avatar
    Hugo NOUTS committed
    import React, { ReactNode } from 'react'
    import StyledIconButton from 'components/CommonKit/IconButton/StyledIconButton'
    import CloseIcon from 'assets/icons/ico/close.svg'
    
    interface ModalProps {
      open: boolean
      border?: boolean
      handleCloseClick: () => void
      children: ReactNode
    }
    
    const Modal: React.FC<ModalProps> = ({
      open,
      border,
      handleCloseClick,
      children,
    }: ModalProps) => {
      return (
        <div className={`modal-overlay ${open ? 'modal-opened' : ''}`}>
          <div className={`modal-box ${border ? 'modal-box-bordered' : ''}`}>
            <StyledIconButton
              className="modal-close-button"
              icon={CloseIcon}
              onClick={handleCloseClick}
            />
            <div className="modal-content">{children}</div>
          </div>
        </div>
      )
    }
    
    export default Modal