import React, { useState } from 'react'; import PropTypes from 'prop-types'; import { Button, Text, TextInput, View } from 'react-native'; import { getEmailAvailability } from '../../../api/profile.js'; import styles from '../Profile.styles.js'; const STRINGS = { CONTINUE: 'continue', PLACEHOLDER: 'email address', REGISTERED: `You've already registered!`, RESET_PASSWORD: 'reset password', }; export default function EmailInput({ email, handleValidEmailEntry, isRequired, showContinueButton }) { const [emailValue, setEmail] = useState(email); const [isEmailAvailable, setEmailAvailable] = useState(null); const _handleContinueButtonPress = () => { }; const _handleEndEditing = () => { if (!emailValue.match(/.+\@.+\..+/)) { Alert.alert( 'Invalid Email', `Hmmm... You entered '${emailValue}' and something doesn't look quite right...`, ); return; } getEmailAvailability(emailValue) .then((result) => { const { available } = result; console.log(`EmailInput._validateEmail => getEmailAvailability(${emailValue}):`, result); if (available) { handleValidEmailEntry(emailValue); } setEmailAvailable(available); }); }; return ( {isEmailAvailable === false && ( {STRINGS.REGISTERED}