diff --git a/src/navigation/tabs/shop/ShopHome.tsx b/src/navigation/tabs/shop/ShopHome.tsx index d17ff6c04..32b0800aa 100644 --- a/src/navigation/tabs/shop/ShopHome.tsx +++ b/src/navigation/tabs/shop/ShopHome.tsx @@ -1,7 +1,7 @@ import debounce from 'lodash.debounce'; import React, {useCallback, useEffect, useMemo, useRef, useState} from 'react'; import styled from 'styled-components/native'; -import {ScrollView} from 'react-native'; +import {Keyboard, ScrollView} from 'react-native'; import GiftCardCatalog from './components/GiftCardCatalog'; import { getGiftCardConfigList, @@ -236,7 +236,11 @@ const ShopHome: React.FC< return ( - + (); @@ -101,6 +106,15 @@ const GiftCardStack = () => { gestureEnabled: false, }} /> + ( + {t('Two-Step Verification')} + ), + }} + name={GiftCardScreens.GIFT_CARD_CONFIRM_TWO_FACTOR} + component={PayProConfirmTwoFactor} + /> ); }; diff --git a/src/navigation/wallet/WalletStack.tsx b/src/navigation/wallet/WalletStack.tsx index b7e1a8837..0375b2862 100644 --- a/src/navigation/wallet/WalletStack.tsx +++ b/src/navigation/wallet/WalletStack.tsx @@ -23,7 +23,6 @@ import {HeaderTitle} from '../../components/styled/Text'; import CreateEncryptionPassword from './screens/CreateEncryptionPassword'; import { Key, - TransactionProposal, Wallet as WalletModel, _Credentials, } from '../../store/wallet/wallet.models'; @@ -66,7 +65,9 @@ import PriceCharts, {PriceChartsParamList} from './screens/PriceCharts'; import ClearEncryptPassword, { ClearEncryptPasswordParamList, } from './screens/ClearEncryptPassword'; -import PayProConfirmTwoFactor from './screens/send/confirm/PayProConfirmTwoFactor'; +import PayProConfirmTwoFactor, { + PayProConfirmTwoFactorParamList, +} from './screens/send/confirm/PayProConfirmTwoFactor'; import {useTranslation} from 'react-i18next'; export type WalletStackParamList = { @@ -103,7 +104,7 @@ export type WalletStackParamList = { Confirm: ConfirmParamList; DebitCardConfirm: DebitCardConfirmParamList; PayProConfirm: PayProConfirmParamList; - PayProConfirmTwoFactor: {onSubmit: (code: string) => Promise}; + PayProConfirmTwoFactor: PayProConfirmTwoFactorParamList; CreateMultisig: CreateMultisigProps; JoinMultisig: JoinMultisigParamList | undefined; Copayers: {wallet: WalletModel; status: _Credentials}; diff --git a/src/navigation/wallet/screens/send/confirm/GiftCardConfirm.tsx b/src/navigation/wallet/screens/send/confirm/GiftCardConfirm.tsx index 68ee443c2..0acdd04f6 100644 --- a/src/navigation/wallet/screens/send/confirm/GiftCardConfirm.tsx +++ b/src/navigation/wallet/screens/send/confirm/GiftCardConfirm.tsx @@ -2,7 +2,6 @@ import React, {useEffect, useMemo, useState} from 'react'; import {useNavigation, useRoute} from '@react-navigation/native'; import {Hr} from '../../../../../components/styled/Containers'; import {RouteProp, StackActions} from '@react-navigation/core'; -import {WalletScreens, WalletStackParamList} from '../../../WalletStack'; import {useAppDispatch, useAppSelector} from '../../../../../utils/hooks'; import {H4} from '../../../../../components/styled/Text'; import { @@ -56,6 +55,10 @@ import { import {startGetRates} from '../../../../../store/wallet/effects'; import {coinbasePayInvoice} from '../../../../../store/coinbase'; import {useTranslation} from 'react-i18next'; +import { + GiftCardScreens, + GiftCardStackParamList, +} from '../../../../tabs/shop/gift-card/GiftCardStack'; export interface GiftCardConfirmParamList { amount: number; @@ -95,7 +98,8 @@ const Confirm = () => { const {t} = useTranslation(); const dispatch = useAppDispatch(); const navigation = useNavigation(); - const route = useRoute>(); + const route = + useRoute>(); const { amount, cardConfig, @@ -364,8 +368,8 @@ const Confirm = () => { }; const request2FA = async () => { - navigation.navigate('Wallet', { - screen: WalletScreens.PAY_PRO_CONFIRM_TWO_FACTOR, + navigation.navigate('GiftCard', { + screen: GiftCardScreens.GIFT_CARD_CONFIRM_TWO_FACTOR, params: { onSubmit: async twoFactorCode => { try { diff --git a/src/navigation/wallet/screens/send/confirm/PayProConfirmTwoFactor.tsx b/src/navigation/wallet/screens/send/confirm/PayProConfirmTwoFactor.tsx index 3f3742197..95db405d2 100644 --- a/src/navigation/wallet/screens/send/confirm/PayProConfirmTwoFactor.tsx +++ b/src/navigation/wallet/screens/send/confirm/PayProConfirmTwoFactor.tsx @@ -21,6 +21,10 @@ const PrimaryActionContainer = styled.View` margin-bottom: 20px; `; +export interface PayProConfirmTwoFactorParamList { + onSubmit: (code: string) => Promise; +} + interface TwoFactorCodeFormValues { code: string; }