/
home
/
assocoweys
/
comgk
/
wp-content
/
plugins
/
really-simple-ssl
/
modal
/
src
/
components
/
DeactivationModal
/
Upload File
HOME
import {__} from "@wordpress/i18n"; import {useEffect, useState} from "@wordpress/element"; const DeactivationModal = () => { const [isOpen, setOpen] = useState(false); const [RssslModal, setRssslModal] = useState(false); const [targetPluginLink, setTargetPluginLink] = useState(null); const isPremium = rsssl_modal.pro_plugin_active; useEffect(() => { // Dynamically set the targetPluginLink based on isPremium const linkId = isPremium ? 'deactivate-really-simple-security-pro' : 'deactivate-really-simple-security'; const handleDeactivationClick = (event) => { const target = event.target.closest(`#${linkId}`); if (target) { event.preventDefault(); setTargetPluginLink(target); setOpen(true); // Show modal } }; // Ensure we intercept the click BEFORE any other handlers document.addEventListener('click', handleDeactivationClick, true); // Also try to set the link element immediately if it exists const linkElement = document.getElementById(linkId); if (linkElement) { setTargetPluginLink(linkElement); } // Clean up the event listener return () => { document.removeEventListener('click', handleDeactivationClick, true); }; }, [isPremium]); // Re-run this effect if isPremium changes const deactivateKeepHttps = () => { setOpen(false); window.location.href = rsssl_modal.deactivate_keep_https; }; const deactivateAndRevert = () => { setOpen(false); window.location.href = rsssl_modal.deactivate_revert_https; }; useEffect(() => { if (!RssslModal && isOpen) { import("../Modal/RssslModal").then(({default: LoadedRssslModal}) => { setRssslModal(() => LoadedRssslModal); }); } }, [isOpen, RssslModal]); const content = () => { return ( <> {__("Please choose the correct deactivation method, and before you go; you will miss out on below and future features in Really Simple Security", "really-simple-ssl")} {isPremium && <> <b>Pro</b></>} ! </> ); }; const list = isPremium ? [ { 'icon': 'circle-times', 'color': 'red', 'text': __("SSL Encryption", "really-simple-ssl"), }, { 'icon': 'circle-times', 'color': 'red', 'text': __("Firewall", "really-simple-ssl"), }, { 'icon': 'circle-times', 'color': 'red', 'text': __("Vulnerability Management", "really-simple-ssl"), }, { 'icon': 'circle-times', 'color': 'red', 'text': __("WordPress Hardening", "really-simple-ssl"), }, { 'icon': 'circle-times', 'color': 'red', 'text': __("Login Protection", "really-simple-ssl"), }, { 'icon': 'circle-times', 'color': 'red', 'text': __("Two-Factor Authentication", "really-simple-ssl"), }, { 'icon': 'circle-times', 'color': 'red', 'text': __("Limit Login Attempts", "really-simple-ssl"), }, { 'icon': 'circle-times', 'color': 'red', 'text': __("Visitor Protection", "really-simple-ssl"), }, ] : [ { 'icon': 'circle-times', 'color': 'red', 'text': __("SSL Encryption", "really-simple-ssl"), }, { 'icon': 'circle-times', 'color': 'red', 'text': __("Vulnerability Management", "really-simple-ssl"), }, { 'icon': 'circle-times', 'color': 'red', 'text': __("WordPress hardening", "really-simple-ssl"), }, ]; return ( <> {RssslModal && <RssslModal title={__("Are you sure?", "really-simple-ssl")} confirmText={__("Deactivate", "really-simple-ssl")} confirmAction={() => deactivateKeepHttps()} alternativeText={__("Deactivate and use HTTP", "really-simple-ssl")} alternativeAction={() => deactivateAndRevert()} alternativeClassName="rsssl-modal-warning" content={content()} list={list} isOpen={isOpen} setOpen={setOpen}/> } </> ); } export default DeactivationModal;