fix: auto-sign after value change

This commit is contained in:
Catalin Pit
2024-08-19 14:19:15 +03:00
parent 75c05bf82b
commit 29bc770332
2 changed files with 7 additions and 4 deletions

View File

@ -43,7 +43,7 @@ export const InitialsField = ({
const { fullName } = useRequiredSigningContext(); const { fullName } = useRequiredSigningContext();
const initials = extractInitials(fullName); const initials = extractInitials(fullName);
const debouncedTerm = useDebouncedValue(initials, 5000); const debouncedTerm = useDebouncedValue(initials, 2000);
const [isPending, startTransition] = useTransition(); const [isPending, startTransition] = useTransition();
@ -123,13 +123,13 @@ export const InitialsField = ({
}; };
useEffect(() => { useEffect(() => {
if (!field.inserted && fullName) { if (!field.inserted && debouncedTerm) {
void executeActionAuthProcedure({ void executeActionAuthProcedure({
onReauthFormSubmit: async (authOptions) => await onSign(authOptions), onReauthFormSubmit: async (authOptions) => await onSign(authOptions),
actionTarget: field.type, actionTarget: field.type,
}); });
} }
}, [field, debouncedTerm]); }, [field, debouncedTerm, field.inserted]);
return ( return (
<SigningFieldContainer field={field} onSign={onSign} onRemove={onRemove} type="Initials"> <SigningFieldContainer field={field} onSign={onSign} onRemove={onRemove} type="Initials">

View File

@ -6,6 +6,7 @@ import { useRouter } from 'next/navigation';
import { Loader } from 'lucide-react'; import { Loader } from 'lucide-react';
import { useDebouncedValue } from '@documenso/lib/client-only/hooks/use-debounced-value';
import { DO_NOT_INVALIDATE_QUERY_ON_MUTATION } from '@documenso/lib/constants/trpc'; import { DO_NOT_INVALIDATE_QUERY_ON_MUTATION } from '@documenso/lib/constants/trpc';
import { AppError, AppErrorCode } from '@documenso/lib/errors/app-error'; import { AppError, AppErrorCode } from '@documenso/lib/errors/app-error';
import type { TRecipientActionAuth } from '@documenso/lib/types/document-auth'; import type { TRecipientActionAuth } from '@documenso/lib/types/document-auth';
@ -41,6 +42,8 @@ export const NameField = ({ field, recipient, onSignField, onUnsignField }: Name
const { fullName: providedFullName, setFullName: setProvidedFullName } = const { fullName: providedFullName, setFullName: setProvidedFullName } =
useRequiredSigningContext(); useRequiredSigningContext();
const debouncedProvidedFullName = useDebouncedValue(providedFullName, 2000);
const { executeActionAuthProcedure } = useRequiredDocumentAuthContext(); const { executeActionAuthProcedure } = useRequiredDocumentAuthContext();
const [isPending, startTransition] = useTransition(); const [isPending, startTransition] = useTransition();
@ -155,7 +158,7 @@ export const NameField = ({ field, recipient, onSignField, onUnsignField }: Name
actionTarget: field.type, actionTarget: field.type,
}); });
} }
}, [field]); }, [field, debouncedProvidedFullName]);
return ( return (
<SigningFieldContainer <SigningFieldContainer