import React, { useState } from 'react'; import { View, Text, KeyboardAvoidingView, Platform, ScrollView, } from 'react-native'; import { useNavigation } from '@react-navigation/native'; import { StackNavigationProp } from '@react-navigation/stack'; import { getStyles } from './loginScreen.styles'; import { CustomInput, PrimaryButton } from '@components'; import { useAppTheme } from '@theme'; import { useAppDispatch } from '../../../hooks/useAppDispatch'; import { loginWithPhone } from '../../../store/authSlice'; import { AuthStackParamList } from '../../../navigation/authStack'; type LoginNavProp = StackNavigationProp; export const LoginScreen: React.FC = () => { const { colors } = useAppTheme(); const styles = getStyles(colors); const navigation = useNavigation(); const dispatch = useAppDispatch(); const [mobileNumber, setMobileNumber] = useState(''); const [error, setError] = useState(undefined); const handleLogin = () => { if (!mobileNumber) { setError('Mobile number is required'); return; } if (mobileNumber.length < 10) { setError('Please enter a valid mobile number'); return; } setError(undefined); dispatch(loginWithPhone(mobileNumber)); navigation.navigate('OtpScreen', { mobileNumber }); }; return ( Welcome back Login to continue { setMobileNumber(text); if (error) setError(undefined); }} error={error} /> ); };