|
| 1 | +import { |
| 2 | + Button, |
| 3 | + ButtonSize, |
| 4 | + ButtonVariant, |
| 5 | + FontWeight, |
| 6 | + IconName, |
| 7 | + Text, |
| 8 | + TextColor, |
| 9 | + TextVariant, |
| 10 | +} from '@metamask/design-system-react-native'; |
| 11 | +import { |
| 12 | + normalizeProviderCode, |
| 13 | + RampsOrderStatus, |
| 14 | +} from '@metamask/ramps-controller'; |
| 15 | +import type { CaipChainId } from '@metamask/utils'; |
| 16 | +import { |
| 17 | + useFocusEffect, |
| 18 | + useIsFocused, |
| 19 | + useNavigation, |
| 20 | +} from '@react-navigation/native'; |
1 | 21 | import React, { |
2 | 22 | useCallback, |
3 | 23 | useEffect, |
4 | 24 | useMemo, |
5 | 25 | useRef, |
6 | 26 | useState, |
7 | 27 | } from 'react'; |
8 | | -import { Linking, Animated, View } from 'react-native'; |
9 | | -import { |
10 | | - useNavigation, |
11 | | - useFocusEffect, |
12 | | - useIsFocused, |
13 | | -} from '@react-navigation/native'; |
14 | | -import type { CaipChainId } from '@metamask/utils'; |
| 28 | +import { Animated, Linking, View } from 'react-native'; |
15 | 29 | import InAppBrowser from 'react-native-inappbrowser-reborn'; |
| 30 | +import { useSelector } from 'react-redux'; |
| 31 | +import { strings } from '../../../../../../locales/i18n'; |
| 32 | +import HeaderCompactStandard from '../../../../../component-library/components-temp/HeaderCompactStandard'; |
| 33 | +import BannerAlert from '../../../../../component-library/components/Banners/Banner/variants/BannerAlert/BannerAlert'; |
| 34 | +import { BannerAlertSeverity } from '../../../../../component-library/components/Banners/Banner/variants/BannerAlert/BannerAlert.types'; |
| 35 | +import Routes from '../../../../../constants/navigation/Routes'; |
| 36 | +import { FIAT_ORDER_PROVIDERS } from '../../../../../constants/on-ramp'; |
| 37 | +import { MetaMetricsEvents } from '../../../../../core/Analytics'; |
| 38 | +import { |
| 39 | + getRampRoutingDecision, |
| 40 | + UnifiedRampRoutingType, |
| 41 | +} from '../../../../../reducers/fiatOrders'; |
| 42 | +import Device from '../../../../../util/device'; |
| 43 | +import { useParams } from '../../../../../util/navigation/navUtils'; |
| 44 | +import Keypad, { type KeypadChangeData, Keys } from '../../../../Base/Keypad'; |
| 45 | +import { useAnalytics } from '../../../../hooks/useAnalytics/useAnalytics'; |
| 46 | +import { useDebouncedValue } from '../../../../hooks/useDebouncedValue'; |
| 47 | +import { useFormatters } from '../../../../hooks/useFormatters'; |
| 48 | +import { useStyles } from '../../../../hooks/useStyles'; |
16 | 49 | import ScreenLayout from '../../Aggregator/components/ScreenLayout'; |
| 50 | +import { PROVIDER_LINKS } from '../../Aggregator/types'; |
| 51 | +import { BuildQuoteSelectors } from '../../Aggregator/Views/BuildQuote/BuildQuote.testIds'; |
| 52 | +import PaymentMethodPill from '../../components/PaymentMethodPill'; |
| 53 | +import QuickAmounts from '../../components/QuickAmounts'; |
| 54 | +import TruncatedError from '../../components/TruncatedError'; |
| 55 | +import { useBlinkingCursor } from '../../hooks/useBlinkingCursor'; |
| 56 | +import { useProviderLimits } from '../../hooks/useProviderLimits'; |
| 57 | +import useRampAccountAddress from '../../hooks/useRampAccountAddress'; |
| 58 | +import { useRampsController } from '../../hooks/useRampsController'; |
| 59 | +import { useRampsQuotes } from '../../hooks/useRampsQuotes'; |
| 60 | +import { useTokenNetworkInfo } from '../../hooks/useTokenNetworkInfo'; |
| 61 | +import { useTransakController } from '../../hooks/useTransakController'; |
| 62 | +import { useTransakRouting } from '../../hooks/useTransakRouting'; |
| 63 | +import { |
| 64 | + getQuoteBuyUserAgent, |
| 65 | + getQuoteProviderName, |
| 66 | + isCustomAction, |
| 67 | + isNativeProvider, |
| 68 | +} from '../../types'; |
17 | 69 | import { |
18 | 70 | buildQuoteWithRedirectUrl, |
19 | 71 | getCheckoutContext, |
20 | 72 | getWidgetRedirectConfig, |
21 | 73 | } from '../../utils/buildQuoteWithRedirectUrl'; |
22 | 74 | import { computeAmountUpdate } from '../../utils/computeAmountUpdate'; |
23 | 75 | import { getRampCallbackBaseUrl } from '../../utils/getRampCallbackBaseUrl'; |
| 76 | +import { normalizeAssetIdForApi } from '../../utils/normalizeAssetIdForApi'; |
| 77 | +import { parseUserFacingError } from '../../utils/parseUserFacingError'; |
| 78 | +import { providerSupportsAsset } from '../../utils/providerSupportsAsset'; |
24 | 79 | import { getNavigateAfterExternalBrowserRoutes } from '../../utils/rampsNavigation'; |
25 | 80 | import { reportRampsError } from '../../utils/reportRampsError'; |
26 | 81 | import { providerSupportsAsset } from '../../utils/providerSupportsAsset'; |
@@ -62,19 +117,9 @@ import { BuildQuoteSelectors } from '../../Aggregator/Views/BuildQuote/BuildQuot |
62 | 117 | import { BUILD_QUOTE_TEST_IDS } from './BuildQuote.testIds'; |
63 | 118 | import { createPaymentSelectionModalNavigationDetails } from '../Modals/PaymentSelectionModal'; |
64 | 119 | import { createCheckoutNavDetails } from '../Checkout'; |
65 | | -import { |
66 | | - isNativeProvider, |
67 | | - isCustomAction, |
68 | | - getQuoteProviderName, |
69 | | - getQuoteBuyUserAgent, |
70 | | -} from '../../types'; |
71 | | -import { FIAT_ORDER_PROVIDERS } from '../../../../../constants/on-ramp'; |
| 120 | +import { createPaymentSelectionModalNavigationDetails } from '../Modals/PaymentSelectionModal'; |
| 121 | +import { createSettingsModalNavDetails } from '../Modals/SettingsModal'; |
72 | 122 | import { createTokenNotAvailableModalNavigationDetails } from '../Modals/TokenNotAvailableModal'; |
73 | | -import { useParams } from '../../../../../util/navigation/navUtils'; |
74 | | -import BannerAlert from '../../../../../component-library/components/Banners/Banner/variants/BannerAlert/BannerAlert'; |
75 | | -import { BannerAlertSeverity } from '../../../../../component-library/components/Banners/Banner/variants/BannerAlert/BannerAlert.types'; |
76 | | -import { useTransakController } from '../../hooks/useTransakController'; |
77 | | -import { useTransakRouting } from '../../hooks/useTransakRouting'; |
78 | 123 | import { createV2VerifyIdentityNavDetails } from '../NativeFlow/VerifyIdentity'; |
79 | 124 | import { createV2EnterEmailNavDetails } from '../NativeFlow/EnterEmail'; |
80 | 125 | import { parseUserFacingError } from '../../utils/parseUserFacingError'; |
|
0 commit comments