import { KycStatus as FiatConnectKycStatus } from '@fiatconnect/fiatconnect-types' import { NativeStackScreenProps } from '@react-navigation/native-stack' import React from 'react' import { useTranslation } from 'react-i18next' import { ActivityIndicator, StyleSheet, Text, View } from 'react-native' import { SafeAreaView } from 'react-native-safe-area-context' import AppAnalytics from 'src/analytics/AppAnalytics' import { FiatExchangeEvents } from 'src/analytics/Events' import Button, { BtnSizes, BtnTypes } from 'src/components/Button' import getNavigationOptions from 'src/fiatconnect/kyc/getNavigationOptions' import { kycTryAgainLoadingSelector } from 'src/fiatconnect/selectors' import { kycTryAgain } from 'src/fiatconnect/slice' import { navigate } from 'src/navigator/NavigationService' import { Screens } from 'src/navigator/Screens' import { StackParamList } from 'src/navigator/types' import { useDispatch, useSelector } from 'src/redux/hooks' import colors from 'src/styles/colors' import { typeScale } from 'src/styles/fonts' import variables from 'src/styles/variables' type Props = NativeStackScreenProps function KycExpired({ route, navigation }: Props) { const { quote, flow } = route.params const dispatch = useDispatch() const tryAgainLoading = useSelector(kycTryAgainLoadingSelector) navigation.setOptions( getNavigationOptions({ fiatConnectKycStatus: FiatConnectKycStatus.KycExpired, quote, }) ) const { t } = useTranslation() const onPressTryAgain = () => { AppAnalytics.track(FiatExchangeEvents.cico_fc_kyc_status_try_again, { provider: quote.getProviderId(), flow, fiatConnectKycStatus: FiatConnectKycStatus.KycExpired, }) dispatch(kycTryAgain({ quote, flow })) } const onPressSwitch = () => { AppAnalytics.track(FiatExchangeEvents.cico_fc_kyc_status_switch_method, { provider: quote.getProviderId(), flow, fiatConnectKycStatus: FiatConnectKycStatus.KycExpired, }) navigate(Screens.SelectProvider, { flow, tokenId: quote.getTokenId(), amount: { crypto: Number(quote.getCryptoAmount()), fiat: Number(quote.getFiatAmount()), }, }) } if (tryAgainLoading) { return ( ) } return ( {t('fiatConnectKycStatusScreen.expired.title')} {t('fiatConnectKycStatusScreen.expired.description')}