import { __ } from '@wordpress/i18n'; import * as rsssl_api from "../utils/api"; import Icon from "../utils/Icon"; import useModal from "./ModalData"; import {useState} from '@wordpress/element'; const Modal = (props) => { const {handleModal, modalData, setModalData, showModal, setIgnoredItemId, setFixedItemId, item} = useModal(); const [buttonsDisabled, setButtonsDisabled] = useState(false); const dismissModal = () => { handleModal(false, null, null); } const handleFix = (e, type) => { //set to disabled let action = modalData.action; setButtonsDisabled(true); rsssl_api.runTest(action, 'refresh', modalData ).then( ( response ) => { let data = {...modalData}; data.description = response.msg; data.subtitle = ''; setModalData(data); setButtonsDisabled(false); if (response.success) { if (type==='ignore' && item !==false ) { setIgnoredItemId(item.id); } else { setFixedItemId(item.id); } handleModal(false, null); } }); } if (!showModal) { return (<>); } let disabled = buttonsDisabled ? 'disabled' : ''; let description = modalData.description; if ( !Array.isArray(description) ) { description = [description]; } return (
dismissModal(e) }> 

{modalData.title}

{ modalData.subtitle &&
{modalData.subtitle}
} { Array.isArray(description) && description.map((s, i) =>
{s}
) }
{ modalData.edit && {__("Edit", "really-simple-ssl")}} { modalData.help && {__("Help", "really-simple-ssl")}} { (!modalData.ignored && modalData.action==='ignore_url') && } { modalData.action!=='ignore_url' && }
) } export default Modal;