From ed71209cb447aff5ff6acd5249232f3df38fe810 Mon Sep 17 00:00:00 2001 From: Kyrylo Shmidt Date: Tue, 9 May 2023 17:43:17 +0200 Subject: [PATCH] Hide spinner on email editing finish without changes --- src/components/InstallationWizard/index.tsx | 18 ++++++++++-------- src/hooks/useDebounce.ts | 2 +- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/components/InstallationWizard/index.tsx b/src/components/InstallationWizard/index.tsx index 423de7bbe..f3f47fa61 100644 --- a/src/components/InstallationWizard/index.tsx +++ b/src/components/InstallationWizard/index.tsx @@ -122,16 +122,18 @@ export const InstallationWizard = () => { email.length > 0 ? validateEmailFormat(email) : undefined ); const [isEmailValidating, setIsEmailValidating] = useState(false); - const debouncedEmail = useDebounce(email, 1000); + const debouncedEmail = useDebounce(email, 1000); useEffect(() => { - const res = - debouncedEmail.length > 0 - ? validateEmailFormat(debouncedEmail) - : undefined; - setIsEmailValid(res); - setIsEmailValidating(false); - }, [debouncedEmail]); + if (email === debouncedEmail) { + const res = + debouncedEmail.length > 0 + ? validateEmailFormat(debouncedEmail) + : undefined; + setIsEmailValid(res); + setIsEmailValidating(false); + } + }, [email, debouncedEmail]); useEffect(() => { if (previousStep === 0 && currentStep === 1) { diff --git a/src/hooks/useDebounce.ts b/src/hooks/useDebounce.ts index d759a6406..f7f4b8924 100644 --- a/src/hooks/useDebounce.ts +++ b/src/hooks/useDebounce.ts @@ -1,7 +1,7 @@ import { useEffect, useState } from "react"; export const useDebounce = (value: T, delay: number) => { - const [debouncedValue, setDebouncedValue] = useState(value); + const [debouncedValue, setDebouncedValue] = useState(value); useEffect(() => { const handler = setTimeout(() => {