import { useCallback, useState } from 'react'; export function useSubmitState(initialStatus: TStatus) { const [isSubmitting, setIsSubmitting] = useState(false); const [submitError, setSubmitError] = useState(null); const [status, setStatus] = useState(initialStatus); const startSubmitting = useCallback(() => { setIsSubmitting(true); }, []); const finishSubmitting = useCallback(() => { setIsSubmitting(false); }, []); const clearFeedback = useCallback(() => { setSubmitError(null); setStatus(initialStatus); }, [initialStatus]); return { isSubmitting, submitError, status, startSubmitting, finishSubmitting, setSubmitError, setStatus, clearFeedback, }; }