From 298f0a8747592cb8209ebe6bd5d987fd1f578d4a Mon Sep 17 00:00:00 2001 From: gustavo-BoxDistribuidor Date: Wed, 9 Sep 2026 10:09:16 -0300 Subject: [PATCH] fix: ajuste para evitar multiplos envios de chamados --- .../forms/create-manual-response-dialog.tsx | 27 +++++++++------ src/components/forms/form-response.tsx | 33 ++++++++++++------- 2 files changed, 38 insertions(+), 22 deletions(-) diff --git a/src/components/forms/create-manual-response-dialog.tsx b/src/components/forms/create-manual-response-dialog.tsx index 685bcc8d..2010f9d0 100644 --- a/src/components/forms/create-manual-response-dialog.tsx +++ b/src/components/forms/create-manual-response-dialog.tsx @@ -146,7 +146,11 @@ export function CreateManualResponseDialog({ }, }) + const isBusy = isSubmitting || createManualResponse.isPending + const onSubmit = async (data: FormData) => { + if (isBusy) return + if (!selectedUserId) { toast({ title: "Atenção", @@ -159,11 +163,15 @@ export function CreateManualResponseDialog({ // Converter dados do formulário para o formato esperado const responses = [data] - await createManualResponse.mutateAsync({ - formId, - userId: selectedUserId, - responses, - }) + try { + await createManualResponse.mutateAsync({ + formId, + userId: selectedUserId, + responses, + }) + } catch { + // Tratado pelo onError da mutation + } } // Filtrar usuários baseado na busca @@ -368,12 +376,12 @@ export function CreateManualResponseDialog({ reset() setSelectedUserId(null) }} - disabled={isSubmitting} + disabled={isBusy} > Cancelar -