-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Expand file tree
/
Copy pathAdditionalVerification.tsx
More file actions
92 lines (83 loc) · 3.32 KB
/
AdditionalVerification.tsx
File metadata and controls
92 lines (83 loc) · 3.32 KB
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
import React, { useCallback } from 'react';
import { Image } from 'react-native';
import Text from '../../../../../component-library/components/Texts/Text';
import { useStyles } from '../../../../../component-library/hooks';
import styleSheet from '../../Deposit/Views/AdditionalVerification/AdditionalVerification.styles';
import ScreenLayout from '../../Aggregator/components/ScreenLayout';
import { getDepositNavbarOptions } from '../../../Navbar';
import { useNavigation } from '@react-navigation/native';
import PoweredByTransak from '../../Deposit/components/PoweredByTransak';
import Button, {
ButtonSize,
ButtonVariants,
ButtonWidthTypes,
} from '../../../../../component-library/components/Buttons/Button';
import additionalVerificationImage from '../../Deposit/assets/additional-verification.png';
import { strings } from '../../../../../../locales/i18n';
import { TextVariant } from '../../../../../component-library/components/Texts/Text/Text.types';
import { useTransakRouting } from '../../hooks/useTransakRouting';
import { useParams } from '../../../../../util/navigation/navUtils';
import type { TransakBuyQuote } from '@metamask/ramps-controller';
interface V2AdditionalVerificationParams {
quote: TransakBuyQuote;
kycUrl: string;
workFlowRunId: string;
/** From BuildQuote route; keeps stack amount in sync when opening KYC webview. */
amount?: number;
}
const V2AdditionalVerification = () => {
const navigation = useNavigation();
const { kycUrl, amount: userEnteredAmount } =
useParams<V2AdditionalVerificationParams>();
const { styles, theme } = useStyles(styleSheet, {});
const { navigateToKycWebview } = useTransakRouting({
screenLocation: 'V2 AdditionalVerification Screen',
});
React.useEffect(() => {
navigation.setOptions(
getDepositNavbarOptions(
navigation,
{ title: strings('deposit.additional_verification.title') },
theme,
),
);
}, [navigation, theme]);
const handleContinuePress = useCallback(() => {
navigateToKycWebview({ kycUrl, amount: userEnteredAmount });
}, [navigateToKycWebview, kycUrl, userEnteredAmount]);
return (
<ScreenLayout>
<ScreenLayout.Body>
<ScreenLayout.Content grow>
<Image
source={additionalVerificationImage}
resizeMode={'contain'}
style={styles.image}
/>
<Text variant={TextVariant.HeadingLG} style={styles.title}>
{strings('deposit.additional_verification.title')}
</Text>
<Text style={styles.paragraph}>
{strings('deposit.additional_verification.paragraph_1')}
</Text>
<Text style={styles.paragraph}>
{strings('deposit.additional_verification.paragraph_2')}
</Text>
</ScreenLayout.Content>
</ScreenLayout.Body>
<ScreenLayout.Footer>
<ScreenLayout.Content style={styles.footerContent}>
<Button
size={ButtonSize.Lg}
onPress={handleContinuePress}
label={strings('deposit.additional_verification.button')}
variant={ButtonVariants.Primary}
width={ButtonWidthTypes.Full}
/>
<PoweredByTransak name="powered-by-transak-logo" />
</ScreenLayout.Content>
</ScreenLayout.Footer>
</ScreenLayout>
);
};
export default V2AdditionalVerification;