From 6580b723486239ad4d8641699dd84d376f667f2e Mon Sep 17 00:00:00 2001 From: Hristo Nedelkov Date: Mon, 9 Oct 2023 15:07:03 +0300 Subject: [PATCH] Disable continue if non validator is set --- .../ValidatorOnboarding/ClientSetup/ClientSetup.tsx | 12 +++++++++--- src/pages/ValidatorOnboarding/ContinueButton.tsx | 4 +++- .../ValidatorOnboarding/ValidatorOnboarding.tsx | 5 ++++- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/pages/ValidatorOnboarding/ClientSetup/ClientSetup.tsx b/src/pages/ValidatorOnboarding/ClientSetup/ClientSetup.tsx index c5ad87c4..98a1bd85 100644 --- a/src/pages/ValidatorOnboarding/ClientSetup/ClientSetup.tsx +++ b/src/pages/ValidatorOnboarding/ClientSetup/ClientSetup.tsx @@ -1,4 +1,4 @@ -import { useState } from 'react' +import { useEffect, useState } from 'react' import { Separator, YStack } from 'tamagui' import { Text } from '@status-im/components' @@ -6,14 +6,20 @@ import WithdrawalAddress from './WithdrawalAddress' import LinkWithArrow from '../../../components/General/LinkWithArrow' import ValidatorsMenuWithPrice from '../../../components/General/ValidatorsMenuWithPrice' import { CLIENT_SETUP_SUBTITLE } from '../../../constants' - -const ClientSetup = () => { +type ClientSetupProps = { + setIsValidatorSet: (value: boolean) => void +} +const ClientSetup = ({ setIsValidatorSet }: ClientSetupProps) => { const [validatorCount, setValidatorCount] = useState(0) + useEffect(() => { + setIsValidatorSet(validatorCount > 0) + }, [validatorCount]) const changeValidatorCountHandler = (value: string) => { const numberValue = Number(value) if (!isNaN(numberValue)) { setValidatorCount(numberValue) + } } diff --git a/src/pages/ValidatorOnboarding/ContinueButton.tsx b/src/pages/ValidatorOnboarding/ContinueButton.tsx index 73556406..ee589830 100644 --- a/src/pages/ValidatorOnboarding/ContinueButton.tsx +++ b/src/pages/ValidatorOnboarding/ContinueButton.tsx @@ -11,6 +11,7 @@ type ContinueButton = { activeStep: number isConfirmPhraseStage: boolean subStepValidatorSetup: number + isValidatorSet?: boolean } const ContinueButton = ({ @@ -18,6 +19,7 @@ const ContinueButton = ({ activeStep, isConfirmPhraseStage, subStepValidatorSetup, + isValidatorSet }: ContinueButton) => { const { isCopyPastedPhrase, words, validWords } = useSelector( (state: RootState) => state.keyGeneration, @@ -68,7 +70,7 @@ const ContinueButton = ({ alignItems: 'end', }} > - diff --git a/src/pages/ValidatorOnboarding/ValidatorOnboarding.tsx b/src/pages/ValidatorOnboarding/ValidatorOnboarding.tsx index 312ad89c..59580320 100644 --- a/src/pages/ValidatorOnboarding/ValidatorOnboarding.tsx +++ b/src/pages/ValidatorOnboarding/ValidatorOnboarding.tsx @@ -33,6 +33,8 @@ const ValidatorOnboarding = () => { const [subStepAdvisories, setSubStepAdvisories] = useState(0) + const [isValidatorSet, setIsValidatorSet] = useState(false) + const { isCopyPastedPhrase, words } = useSelector((state: RootState) => state.keyGeneration) const { isWalletConnected } = useSelector((state: RootState) => state.deposit) const navigate = useNavigate() @@ -127,7 +129,7 @@ const ValidatorOnboarding = () => { {activeStep === 2 && subStepValidatorSetup === 1 && } {activeStep === 2 && subStepValidatorSetup === 2 && } {activeStep === 2 && subStepValidatorSetup === 3 && } - {activeStep === 3 && } + {activeStep === 3 && } {activeStep === 4 && } {activeStep === 5 && } @@ -159,6 +161,7 @@ const ValidatorOnboarding = () => { continueHandler={continueHandler} isConfirmPhraseStage={isConfirmPhraseStage} subStepValidatorSetup={subStepValidatorSetup} + isValidatorSet={isValidatorSet} />