import { NativeStackScreenProps } from '@react-navigation/native-stack' import React, { useRef, useState } from 'react' import { useTranslation } from 'react-i18next' import { ActivityIndicator, Image, ScrollView, StyleSheet, Text, View } from 'react-native' import { useAuth0 } from 'react-native-auth0' import { SafeAreaView, useSafeAreaInsets } from 'react-native-safe-area-context' import AppAnalytics from 'src/analytics/AppAnalytics' import { KeylessBackupEvents } from 'src/analytics/Events' import BackButton from 'src/components/BackButton' import BottomSheet, { BottomSheetModalRefType } from 'src/components/BottomSheet' import Button, { BtnSizes, BtnTypes } from 'src/components/Button' import CustomHeader from 'src/components/header/CustomHeader' import TextButton from 'src/components/TextButton' import AppleIcon from 'src/icons/Apple' import GoogleIcon from 'src/icons/Google' import { email } from 'src/images/Images' import KeylessBackupCancelButton from 'src/keylessBackup/KeylessBackupCancelButton' import { auth0SignInCompleted, keylessBackupStarted } from 'src/keylessBackup/slice' import { KeylessBackupFlow, KeylessBackupOrigin } from 'src/keylessBackup/types' import { HeaderTitleWithSubtitle } from 'src/navigator/Headers' import { navigate } from 'src/navigator/NavigationService' import { Screens } from 'src/navigator/Screens' import { StackParamList } from 'src/navigator/types' import { getOnboardingStepValues, goToNextOnboardingScreen, onboardingPropsSelector, } from 'src/onboarding/steps' import { useDispatch, useSelector } from 'src/redux/hooks' import { default as Colors, default as colors } from 'src/styles/colors' import { typeScale } from 'src/styles/fonts' import { Spacing } from 'src/styles/styles' import variables from 'src/styles/variables' import Logger from 'src/utils/Logger' import { walletAddressSelector } from 'src/web3/selectors' const TAG = 'keylessBackup/SignInWithEmail' function SignInWithEmailBottomSheet({ keylessBackupFlow, origin, bottomSheetRef, }: { keylessBackupFlow: KeylessBackupFlow origin: KeylessBackupOrigin bottomSheetRef: React.RefObject }) { const { t } = useTranslation() const onboardingProps = useSelector(onboardingPropsSelector) const onPressContinue = () => { AppAnalytics.track(KeylessBackupEvents.cab_setup_recovery_phrase) bottomSheetRef.current?.close() navigate(Screens.AccountKeyEducation, { origin: 'cabOnboarding' }) } const onPressSkip = () => { AppAnalytics.track(KeylessBackupEvents.cab_sign_in_with_email_screen_skip, { keylessBackupFlow, origin, }) goToNextOnboardingScreen({ firstScreenInCurrentStep: Screens.SignInWithEmail, onboardingProps, }) bottomSheetRef.current?.close() } return ( {t('signInWithEmail.bottomSheet.description')}