import { useRouter } from 'expo-router' import { CompanyLogo, ControlledField, FormWrapper, LanguagePicker, SocialButtons, Version, } from '@/components' import { ThemeSwitcherButton } from '@/components/ThemeSwitcherButton' import { REGEX, isWeb } from '@/constants' import { Box, Button, Center, Display, Row, Spacer, Text, AlertBox, Touchable, } from '@/design-system' import { useCallback, useSignInForm, useState, useTranslation } from '@/hooks' export const SignInScreen = (): JSX.Element => { const { push } = useRouter() const { t } = useTranslation() const [isSignInButtonDisabled, setIsSignInButtonsDisabled] = useState(false) const { control, errors, submit, getValues, isSubmitting, setFocus, resetFormToFilledValues } = useSignInForm({ setIsSignInButtonsDisabled, }) const navigateToSignUp = useCallback(() => push('/sign-up'), [push]) const navigateToAppInfo = useCallback(() => push('/application-info'), [push]) const navigateToForgotPassword = useCallback( () => push(`/forgot-password?email=${encodeURIComponent(getValues('email'))}`), [getValues, push] ) const focusPasswordInput = useCallback(() => setFocus('password'), [setFocus]) return (
{t('sign_in_screen.welcome_back')} {t('sign_in_screen.welcome_back_enter_details')} {t('sign_in_screen.forgot_password')} {t('sign_in_screen.do_not_have_an_account')} {t('sign_in_screen.sign_up')}
) }