Disable error on form state submitting
parent
6a37445c51
commit
2ffefcc97e
|
@ -49,7 +49,7 @@ function UsernameField({
|
||||||
...props
|
...props
|
||||||
}: React.ComponentProps<typeof TextField> & { setPremium: (value: boolean) => void; premium: boolean }) {
|
}: React.ComponentProps<typeof TextField> & { setPremium: (value: boolean) => void; premium: boolean }) {
|
||||||
const { t } = useLocale();
|
const { t } = useLocale();
|
||||||
const { watch, setError, register } = useFormContext<FormValues>();
|
const { watch, setError, register, formState } = useFormContext<FormValues>();
|
||||||
const [loading, setLoading] = useState(false);
|
const [loading, setLoading] = useState(false);
|
||||||
const [taken, setTaken] = useState(false);
|
const [taken, setTaken] = useState(false);
|
||||||
const watchedUsername = watch("username");
|
const watchedUsername = watch("username");
|
||||||
|
@ -85,28 +85,30 @@ function UsernameField({
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<TextField {...props} {...register("username")} />
|
<TextField {...props} {...register("username")} />
|
||||||
<div className="text-gray text-default flex items-center text-sm">
|
{!formState.isSubmitting && (
|
||||||
<p className="flex items-center text-sm ">
|
<div className="text-gray text-default flex items-center text-sm">
|
||||||
{loading ? (
|
<p className="flex items-center text-sm ">
|
||||||
<>
|
{loading ? (
|
||||||
<Loader2 className="mr-1 inline-block h-4 w-4 animate-spin" />
|
<>
|
||||||
{t("loading")}
|
<Loader2 className="mr-1 inline-block h-4 w-4 animate-spin" />
|
||||||
</>
|
{t("loading")}
|
||||||
) : taken ? (
|
</>
|
||||||
<div className="text-error">
|
) : taken ? (
|
||||||
<Info className="mr-1 inline-block h-4 w-4" />
|
<div className="text-error">
|
||||||
{t("already_taken")}
|
<Info className="mr-1 inline-block h-4 w-4" />
|
||||||
</div>
|
{t("already_taken")}
|
||||||
) : premium ? (
|
</div>
|
||||||
<>
|
) : premium ? (
|
||||||
<StarIcon className="mr-1 inline-block h-4 w-4" />
|
<>
|
||||||
{t("premium_username", {
|
<StarIcon className="mr-1 inline-block h-4 w-4" />
|
||||||
price: getPremiumPlanPriceValue(),
|
{t("premium_username", {
|
||||||
})}
|
price: getPremiumPlanPriceValue(),
|
||||||
</>
|
})}
|
||||||
) : null}
|
</>
|
||||||
</p>
|
) : null}
|
||||||
</div>
|
</p>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue