fix: problem with prerendering of generating mnemonic

This commit is contained in:
RadoslavDimchev 2024-01-19 00:07:36 +02:00
parent 3c6c3c3295
commit ec0ada31bb
2 changed files with 17 additions and 16 deletions

View File

@ -1,6 +1,9 @@
import { useEffect } from 'react'
import { Stack, YStack } from 'tamagui'
import { Text } from '@status-im/components'
import { useSelector } from 'react-redux'
import { generateMnemonic } from 'web-bip39'
import { useDispatch, useSelector } from 'react-redux'
import wordlist from 'web-bip39/wordlists/english'
import KeyGenerationHeader from './KeyGenerationHeader/KeyGenerationHeader'
import RecoveryMechanism from './RecoveryMechanism/RecoveryMechanism'
@ -9,11 +12,22 @@ import RecoveryPhrase from './RecoveryPhrase'
import ConfirmRecoveryPhrase from './ConfirmRecoveryPhrase/ConfirmRecoveryPhrase'
import { BOTH_KEY_AND_RECOVERY, KEYSTORE_FILES, RECOVERY_PHRASE } from '../../../constants'
import { RootState } from '../../../redux/store'
import { setGeneratedMnemonic } from '../../../redux/ValidatorOnboarding/KeyGeneration/slice'
const KeyGeneration = () => {
const { recoveryMechanism, isConfirmPhraseStage } = useSelector(
(state: RootState) => state.keyGeneration,
)
const dispatch = useDispatch()
useEffect(() => {
getMnemonic()
}, [])
const getMnemonic = async () => {
const mnemonic = await generateMnemonic(wordlist, 256)
dispatch(setGeneratedMnemonic(mnemonic.split(' ')))
}
const isKeystoreFiles =
recoveryMechanism === KEYSTORE_FILES || recoveryMechanism === BOTH_KEY_AND_RECOVERY

View File

@ -2,14 +2,11 @@ import { Stack, XStack, YStack } from 'tamagui'
import { Button, InformationBox, Text } from '@status-im/components'
import { CloseCircleIcon, CopyIcon, CheckIcon } from '@status-im/icons'
import { useEffect, useState } from 'react'
import { generateMnemonic } from 'web-bip39'
import { useDispatch, useSelector } from 'react-redux'
import wordlist from 'web-bip39/wordlists/english'
import { useSelector } from 'react-redux'
import { RootState } from '../../../redux/store'
import { setGeneratedMnemonic } from '../../../redux/ValidatorOnboarding/KeyGeneration/slice'
import styles from './index.module.css'
import { copyFunction } from '../../../utilities'
import styles from './index.module.css'
type RecoveryPhraseProps = {
isKeystoreFiles: boolean
@ -20,21 +17,11 @@ const RecoveryPhrase = ({ isKeystoreFiles }: RecoveryPhraseProps) => {
const [isCopied, setIsCopied] = useState(false)
const [isTimeoutActive, setIsTimeoutActive] = useState(false)
const { generatedMnemonic } = useSelector((state: RootState) => state.keyGeneration)
const dispatch = useDispatch()
useEffect(() => {
getMnemonic()
}, [])
useEffect(() => {
setIsCopied(false)
}, [generatedMnemonic])
const getMnemonic = async () => {
const mnemonic = await generateMnemonic(wordlist, 256)
dispatch(setGeneratedMnemonic(mnemonic.split(' ')))
}
const revealHandler = () => {
setIsReveal(state => !state)
}