fix: ensure form resets and button state reflects dirty status

This commit is contained in:
Danel Kungla
2025-08-14 09:24:20 +03:00
parent c22667dab4
commit 536f915c69

View File

@@ -43,6 +43,7 @@ const HealthBenefitForm = ({
amount: currentCompanyParams.benefit_amount || 0, amount: currentCompanyParams.benefit_amount || 0,
}, },
}); });
const isDirty = form.formState.isDirty;
const onSubmit = (data: { occurance: string; amount: number }) => { const onSubmit = (data: { occurance: string; amount: number }) => {
const promise = async () => { const promise = async () => {
@@ -55,6 +56,7 @@ const HealthBenefitForm = ({
benefit_occurance: data.occurance, benefit_occurance: data.occurance,
})); }));
} finally { } finally {
form.reset(data);
setIsLoading(false); setIsLoading(false);
} }
}; };
@@ -83,7 +85,11 @@ const HealthBenefitForm = ({
<Trans i18nKey="billing:description" /> <Trans i18nKey="billing:description" />
</p> </p>
</div> </div>
<Button type="submit" className="relative" disabled={isLoading}> <Button
type="submit"
className="relative"
disabled={!isDirty || isLoading}
>
{isLoading && ( {isLoading && (
<div className="absolute inset-0 flex items-center justify-center"> <div className="absolute inset-0 flex items-center justify-center">
<Spinner /> <Spinner />