/
StoreWipeRecoveryScreen.tsx
57 lines (51 loc) · 1.98 KB
/
StoreWipeRecoveryScreen.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import React from 'react'
import { useTranslation } from 'react-i18next'
import AccountErrorScreen from 'src/account/AccountErrorScreen'
import { startStoreWipeRecovery } from 'src/account/actions'
import { recoveringFromStoreWipeSelector } from 'src/account/selectors'
import { noHeaderGestureDisabled } from 'src/navigator/Headers'
import { navigate } from 'src/navigator/NavigationService'
import { firstOnboardingScreen } from 'src/onboarding/steps'
import { requestPincodeInput } from 'src/pincode/authentication'
import { useDispatch, useSelector } from 'src/redux/hooks'
import { getExperimentParams } from 'src/statsig'
import { ExperimentConfigs } from 'src/statsig/constants'
import { StatsigExperiments } from 'src/statsig/types'
import Logger from 'src/utils/Logger'
import { getWalletAsync } from 'src/web3/contracts'
const TAG = 'StoreWipeRecoveryScreen'
function StoreWipeRecoveryScreen() {
const { t } = useTranslation()
const dispatch = useDispatch()
const recoveringFromStoreWipe = useSelector(recoveringFromStoreWipeSelector)
const onPressGoToOnboarding = async () => {
try {
const wallet = await getWalletAsync()
const account = wallet.getAccounts()[0]
const { onboardingNameScreenEnabled } = getExperimentParams(
ExperimentConfigs[StatsigExperiments.CHOOSE_YOUR_ADVENTURE]
)
await requestPincodeInput(true, false, account)
dispatch(startStoreWipeRecovery(account))
navigate(
firstOnboardingScreen({
onboardingNameScreenEnabled,
recoveringFromStoreWipe,
})
)
} catch (error) {
Logger.error(`${TAG}@goToOnboarding`, 'PIN error', error)
}
}
return (
<AccountErrorScreen
title={t('storeRecoveryTitle')}
testID="StoreWipeRecovery"
description={t('storeRecoveryBody')}
onPress={onPressGoToOnboarding}
buttonLabel={t('storeRecoveryButton')}
/>
)
}
StoreWipeRecoveryScreen.navOptions = noHeaderGestureDisabled
export default StoreWipeRecoveryScreen