import React, { useState, useEffect } from 'react'; import { router } from 'expo-router'; import { View, ScrollView, Text, TouchableOpacity } from 'react-native'; import { StatusBar } from 'expo-status-bar'; import { useFormik } from 'formik'; import { SafeAreaView } from 'react-native-safe-area-context'; import { Ionicons } from '@expo/vector-icons'; import { providerMenu, PageHeader, StyledContainer, InnerContainer, StyledFormArea, Title, SubTitle, PageImage, StyledButton, ButtonText, MessageBox, LoginTextInput, RegisterDropdownInput, } from '../components/generalHelpers.jsx'; export default function Register() { const [providerDropdownOpen, setProviderDropdownOpen] = useState(false); const [hidePassword, setHidePassword] = useState(true); const [registerButtonDisabled, setRegisterButtonDisabled] = useState(true); const formik = useFormik({ initialValues: { firstName: '', lastName: '', number: '', provider: '', email: '', password: '', passwordConfirmation: '' }, onSubmit: (values) => { values.number = values.number.replace(/[()\-\s]/g, ''); console.log(values); } }); const formValues = formik.values; useEffect(() => { if (formValues) { if ((formValues.number.length === 14 || (formValues.number.length === 10 && !formValues.number.includes('('))) && formValues.email && formValues.firstName && formValues.lastName) { if (formValues.password.length !== 0 && (formValues.password === formValues.passwordConfirmation)) { setRegisterButtonDisabled(false); } else { setRegisterButtonDisabled(true); } } else { setRegisterButtonDisabled(true); } } else { setRegisterButtonDisabled(true); } }, [formValues]) return ( Back to Login Tones Account Register ... Register ) }