import {useState, useEffect} from "@wordpress/element"; import { __ } from '@wordpress/i18n'; import Hyperlink from "../utils/Hyperlink"; import { Button, } from '@wordpress/components'; import useFields from "../Settings/FieldsData"; import useMenu from "../Menu/MenuData"; import useLetsEncryptData from "./letsEncryptData"; import {addUrlRef} from "../utils/AddUrlRef"; const DnsVerification = (props) => { const {switchButtonDisabled, updateVerificationType, setRefreshTests} = useLetsEncryptData(); const {fields, addHelpNotice, updateField, setChangedField, saveFields, fetchFieldsData, getFieldValue} = useFields(); const {selectedSubMenuItem, setSelectedSubMenuItem} = useMenu(); const [tokens, setTokens] = useState(false); let action = props.action; useEffect(()=> { if (action && action.action==='challenge_directory_reachable' && action.status==='error') { addHelpNotice( props.field.id, 'default', __("The challenge directory is used to verify the domain ownership.", "really-simple-ssl"), ); } let newTokens = action ? action.output : false; if ( typeof (newTokens) === "undefined" || newTokens.length === 0 ) { newTokens = false; } if ( newTokens ) { setTokens(newTokens); } }, [action]); const handleSwitchToDir = async () => { await setSelectedSubMenuItem('le-directories'); await updateField('verification_type', 'dir'); await setChangedField('verification_type', 'dir'); await saveFields(true, true); await updateVerificationType('dir'); await fetchFieldsData('le-directories'); setRefreshTests(true); } let verificationType = getFieldValue('verification_type'); if (verificationType==='dir') { return (<>); } return ( <> { tokens && tokens.length>0 &&

{__("Next step", "really-simple-ssl")}

{__("Add the following token as text record to your DNS records. We recommend to use a short TTL during installation, in case you need to change it.", "really-simple-ssl")}  

@/{__("Domain", "really-simple-ssl")}
{__("Value", "really-simple-ssl")}
{ tokens.map((tokenData, i) =>
_acme-challenge.{tokenData.domain}
{tokenData.token}
)}
}

{__("DNS verification active. You can switch back to directory verification here.","really-simple-ssl")}

) } export default DnsVerification;