import apiFetch from '@wordpress/api-fetch'; import { useEffect, useState, useRef } from '@wordpress/element'; import { __ } from '@wordpress/i18n'; import classNames from 'classnames'; import { useTasksStore } from '@assist/state/tasks'; export const UpdateSiteDescription = ({ popModal, setModalTitle }) => { const [siteDescription, setSiteDescription] = useState(undefined); const [initialValue, setInitialValue] = useState(undefined); const inputRef = useRef(); const { completeTask } = useTasksStore(); const submitChange = async () => { await apiFetch({ path: '/wp/v2/settings', method: 'POST', data: { description: siteDescription, }, }); completeTask('site-description'); popModal(); }; useEffect(() => { setModalTitle(__('Add site description', 'extendify-local')); }, [setModalTitle]); useEffect(() => { const controller = new AbortController(); apiFetch({ path: '/wp/v2/settings', signal: controller.signal, }).then((settings) => { setSiteDescription(settings.description); setInitialValue(settings.description); }); return () => controller.abort(); }, [setSiteDescription]); useEffect(() => { inputRef?.current?.focus(); }, [initialValue]); if (typeof siteDescription === 'undefined') { return
{__('Loading...', 'extendify-local')}
; } return (
e.preventDefault()}>
{ setSiteDescription(e.target.value); }} value={siteDescription} placeholder={__('Enter a site description...', 'extendify-local')} />
); };