From 86baed64bac22e2a5359d739dab0c24364fc948c Mon Sep 17 00:00:00 2001 From: William Grant Date: Wed, 17 Apr 2024 15:04:35 +1000 Subject: [PATCH] fix: make useRecoveryProgressEffect use a switch for better readability --- ts/components/registration/hooks/index.tsx | 80 +++++++++---------- .../registration/stages/RestoreAccount.tsx | 2 +- 2 files changed, 41 insertions(+), 41 deletions(-) diff --git a/ts/components/registration/hooks/index.tsx b/ts/components/registration/hooks/index.tsx index 0027ff201..649794d51 100644 --- a/ts/components/registration/hooks/index.tsx +++ b/ts/components/registration/hooks/index.tsx @@ -38,53 +38,53 @@ export const useRecoveryProgressEffect = (props: UseRecoveryProgressEffectProps) }, [displayName, ourPubkey]); useEffect(() => { - if (step === AccountRestoration.Loading) { - interval = setInterval(() => { - if (progress < totalProgress) { - dispatch(setProgress(progress + 1)); - } - - if (progress >= totalProgress) { - clearInterval(interval); - // if we didn't get the display name in time, we need to enter it manually - dispatch(setAccountRestorationStep(AccountRestoration.DisplayName)); - } - }, ONBOARDING_TIMES.RECOVERY_TIMEOUT / totalProgress); - } + switch (step) { + case AccountRestoration.Loading: + interval = setInterval(() => { + if (progress < totalProgress) { + dispatch(setProgress(progress + 1)); + } - if (step === AccountRestoration.Finishing) { - interval = setInterval(() => { - if (progress < totalProgress) { - dispatch(setProgress(progress + 1)); - } + if (progress >= totalProgress) { + clearInterval(interval); + // if we didn't get the display name in time, we need to enter it manually + dispatch(setAccountRestorationStep(AccountRestoration.DisplayName)); + } + }, ONBOARDING_TIMES.RECOVERY_TIMEOUT / totalProgress); + break; + case AccountRestoration.Finishing: + interval = setInterval(() => { + if (progress < totalProgress) { + dispatch(setProgress(progress + 1)); + } - if (progress >= totalProgress) { + if (progress >= totalProgress) { + clearInterval(interval); + dispatch(setAccountRestorationStep(AccountRestoration.Finished)); + } + }, ONBOARDING_TIMES.RECOVERY_FINISHING / totalProgress); + break; + case AccountRestoration.Finished: + interval = setInterval(() => { clearInterval(interval); - dispatch(setAccountRestorationStep(AccountRestoration.Finished)); - } - }, ONBOARDING_TIMES.RECOVERY_FINISHING / totalProgress); - } - - if (step === AccountRestoration.Finished) { - interval = setInterval(() => { + if (!isEmpty(displayName)) { + dispatch(setAccountRestorationStep(AccountRestoration.Complete)); + } else { + // if we didn't get the display name in time, we need to enter it manually + dispatch(setAccountRestorationStep(AccountRestoration.DisplayName)); + } + }, ONBOARDING_TIMES.RECOVERY_FINISHED); + break; + case AccountRestoration.Complete: clearInterval(interval); - if (!isEmpty(displayName)) { - dispatch(setAccountRestorationStep(AccountRestoration.Complete)); + if (!isEmpty(ourPubkey) && !isEmpty(displayName)) { + void recoveryComplete(); } else { - // if we didn't get the display name in time, we need to enter it manually + window.log.debug(`[onboarding] restore account: We don't have a pubkey or display name`); dispatch(setAccountRestorationStep(AccountRestoration.DisplayName)); } - }, ONBOARDING_TIMES.RECOVERY_FINISHED); - } - - if (step === AccountRestoration.Complete) { - clearInterval(interval); - if (!isEmpty(ourPubkey) && !isEmpty(displayName)) { - void recoveryComplete(); - } else { - window.log.debug(`[onboarding] restore account: We don't have a pubkey or display name`); - dispatch(setAccountRestorationStep(AccountRestoration.DisplayName)); - } + break; + default: } return () => clearInterval(interval); diff --git a/ts/components/registration/stages/RestoreAccount.tsx b/ts/components/registration/stages/RestoreAccount.tsx index 76218037f..3e1ac3ea3 100644 --- a/ts/components/registration/stages/RestoreAccount.tsx +++ b/ts/components/registration/stages/RestoreAccount.tsx @@ -169,7 +169,7 @@ export const RestoreAccount = () => { dispatch(setRecoveryPasswordError(window.i18n('recoveryPasswordErrorMessageGeneric'))); } window.log.debug( - `WIP: [onboarding] restore account: there is a problem with the display nam. Error: ${e.message || e}` + `WIP: [onboarding] restore account: there is a problem with the display name. Error: ${e.message || e}` ); dispatch(setAccountRestorationStep(AccountRestoration.RecoveryPassword)); }