import * as React from 'react'; import ReactDOM from 'react-dom'; import Modal from './Modal'; type Button = { label: string; onClick: () => void | null; }; type Props = { title: string; message: string; buttons: Button[]; }; class ConfirmAlert extends React.Component { handleClickButton = (button: Button) => { if (button.onClick) { button.onClick(); } this.close(); }; close = () => { ReactDOM.unmountComponentAtNode(document.getElementById('modalRoot')); }; render() { const { title, message, buttons } = this.props; const body = <>{message}; const footer = (
{buttons.map((button, i) => (

this.handleClickButton(button)} > {button.label}

))}
); return ( this.close()} body={body} active={true} footer={footer} /> ); } } export function confirmAlert(properties: Props) { const root = document.getElementById('modalRoot'); if (root) { ReactDOM.render(, root); } } export default ConfirmAlert;