import TaskElement from '../../Dashboard/TaskElement'; import Placeholder from '../../Placeholder/Placeholder'; import {__} from '@wordpress/i18n'; import useFields from './../Fields/FieldsData'; import useLicense from './LicenseData'; import {useEffect} from '@wordpress/element'; import {memo} from "@wordpress/element"; import useProgress from "../../Dashboard/Progress/ProgressData"; const License = (props) => { const {fields, setChangedField, updateField} = useFields(); const {setProgressLoaded} = useProgress(); const { licenseStatus, licenseNotices, getLicenseNotices, noticesLoaded, activateLicense, deactivateLicense, processing, } = useLicense(); useEffect(() => { if (!noticesLoaded) { getLicenseNotices(); } }, []); const onChangeHandler = (fieldValue) => { setChangedField(field.id, fieldValue); updateField(field.id, fieldValue); }; const toggleActivation = async () => { if (licenseStatus === 'valid') { await deactivateLicense(); } else { await activateLicense(props.field.value); } //ensure a reload of the progress notices setProgressLoaded(false); }; let field = props.field; /** * There is no "PasswordControl" in WordPress react yet, so we create our own * license field. */ let processingClass = processing ? 'cmplz-processing' : ''; return (