import Notice from '@givewp/admin/components/Notices'; import {AdminSectionField} from '@givewp/components/AdminDetailsPage/AdminSection'; import {useEffect, useState} from '@wordpress/element'; import {__} from '@wordpress/i18n'; import {useFormContext, useFormState} from 'react-hook-form'; import {EditIcon} from './Icons'; import styles from './styles.module.scss'; interface LockedTextInputProps { name: string; label: string; description: string; placeholder?: string; warningMessage: string; } /** * @since 4.11.0 */ export default function LockedTextInput({name, label, description, placeholder, warningMessage}: LockedTextInputProps) { const {register, setFocus} = useFormContext(); const {errors, isSubmitSuccessful} = useFormState(); const [isEditing, setIsEditing] = useState(false); const handleEditClick = () => { const newEditingState = !isEditing; setIsEditing(newEditingState); // Focus on input when editing is activated if (newEditingState) { setFocus(name); } }; // Reset editing mode when form is successfully submitted useEffect(() => { if (isSubmitSuccessful) { setIsEditing(false); } }, [isSubmitSuccessful]); return (

{description}

{isEditing && {warningMessage}}
); }