import {yupResolver} from '@hookform/resolvers/yup'; import React, {useRef, useCallback} from 'react'; import {Controller, useForm} from 'react-hook-form'; import {useTranslation} from 'react-i18next'; import {View, Pressable} from 'react-native'; import Config from 'react-native-config'; import {scale} from 'react-native-size-matters'; import Button from '../../../commonComponents/Button'; import {Body1, Body2, Heading1} from '../../../commonComponents/TextComponents'; import TextInputWithLabel from '../../../commonComponents/TextInputWithLabel'; import Wrapper from '../../../commonComponents/Wrapper'; import { SCREEN_NAMES, ACCESS_TOKEN, INPUT_FIELDS, } from '../../../utilities/constants'; import {setSecuredData} from '../../../utilities/helperFunctions/localStorage'; import {loginFormSchema} from '../../../utilities/helperFunctions/validators'; import {navigate, replace} from '../../../utilities/navigationService'; import styles from './styles'; interface LoginProps {} const Login: React.FC = () => { const { handleSubmit, control, formState: {errors}, } = useForm({ resolver: yupResolver(loginFormSchema), mode: 'onSubmit', }); const {t} = useTranslation(); const passwordRef = useRef() as any; const onEmailSubmit = () => { if (passwordRef.current) { passwordRef.current.focus(); } }; const onSignupPress = () => navigate(SCREEN_NAMES.Signup); const onForgotPasswordPress = () => navigate(SCREEN_NAMES.ForgotPassword); const onLoginPress = useCallback(async (formData: {email: string}) => { await setSecuredData(ACCESS_TOKEN, formData.email.trim()); replace(SCREEN_NAMES.MainNavigator); }, []); return ( projectname {Config.ENV} { const handleChange = (text: string) => { onChange(text.toLowerCase()); }; return ( ); }} /> { return ( ); }} /> {t('forgotPasswordWithQuestion')}