diff --git a/frontend/src/components/forms/ExpenseForm/index.jsx b/frontend/src/components/forms/ExpenseForm/index.jsx index ffb2f00c..040ad8d9 100644 --- a/frontend/src/components/forms/ExpenseForm/index.jsx +++ b/frontend/src/components/forms/ExpenseForm/index.jsx @@ -41,7 +41,7 @@ export default function ExpenseForm({ groupData: group }) { const handleExpenseSubmit = useCallback( async e => { e.preventDefault(); - + if (isSubmitting) return; if (!distributionOK) { return customToast( 'Erro', @@ -92,7 +92,7 @@ export default function ExpenseForm({ groupData: group }) { setIsSubmitting(false); } }, - [amount, divisionAmount, distributionOK] + [amount, divisionAmount, distributionOK, isSubmitting] ); const removeMember = memberId => { @@ -169,16 +169,12 @@ export default function ExpenseForm({ groupData: group }) { )} {/* Botão de envio */} -
+
{isSubmitting ? 'Enviando...' : 'Adicionar Despesa'} diff --git a/frontend/src/components/forms/GroupForm.jsx b/frontend/src/components/forms/GroupForm.jsx index 189e8f6b..b2df0724 100644 --- a/frontend/src/components/forms/GroupForm.jsx +++ b/frontend/src/components/forms/GroupForm.jsx @@ -1,4 +1,4 @@ -import { useState } from 'react'; +import { useCallback, useState } from 'react'; import { useMutation, useQueryClient } from '@tanstack/react-query'; import InputUI from '../ui/Input'; import ButtonUI from '../ui/Button'; @@ -46,15 +46,18 @@ export default function GroupForm({ page }) { const IconComponent = entry.icon; const iconColor = entry.color; - const handleSubmit = async e => { - e.preventDefault(); - - mutateAsync({ - name: groupName, - description, - icon: selectedIcon, - }); - }; + const handleSubmit = useCallback( + async e => { + e.preventDefault(); + if (isPending || isDisabled) return; + mutateAsync({ + name: groupName, + description, + icon: selectedIcon, + }); + }, + [isPending, isDisabled] + ); return (
{ + onError: error => { customToast( 'Erro ao excluir o membro do grupo', - 'Não foi possível excluir o membro do grupo. Tente novamente.', + error.response?.data?.message || + 'Não foi possível excluir o membro do grupo. Tente novamente.', 'error' ); }, diff --git a/frontend/src/pages/Groups/GroupDetails/AddMember.jsx b/frontend/src/pages/Groups/GroupDetails/AddMember.jsx index 3069ca3e..a3a4441b 100644 --- a/frontend/src/pages/Groups/GroupDetails/AddMember.jsx +++ b/frontend/src/pages/Groups/GroupDetails/AddMember.jsx @@ -75,7 +75,7 @@ export default function AddMemberForm({ onSubmit, onCancel }) { Cancelar @@ -83,11 +83,8 @@ export default function AddMemberForm({ onSubmit, onCancel }) { {isSubmitting ? 'Adicionando...' : 'Adicionar'}