import { FC } from 'react'; import { View } from 'react-native'; import { NavigationProp, useNavigation, CommonActions } from '@react-navigation/native'; import { Formik } from 'formik'; import * as yup from 'yup'; import { Header, Input, Button, BigText, PageWrapper } from '../../components'; import { ButtonVariants } from '../../types/components'; import { storageSet } from '../../storage'; import { NAVIGATION_PAGES } from '../../types'; import { useLoginMutation } from '../../modules/auth/api/queries/use-post-login'; type Props = { navigation: NavigationProp; }; const LoginSchema = yup.object({ login: yup.string().required(), pass: yup.string().required() }); const LoginScreen: FC = ({ navigation }) => { const { dispatch, navigate } = useNavigation(); const { data, mutate: userLogin } = useLoginMutation(); if (data) { if (data.token) { storageSet('token', data.token); storageSet('uid', data.uid.toString()); dispatch( CommonActions.reset({ index: 1, routes: [{ name: NAVIGATION_PAGES.IN_APP }] }) ); } } return (
{ userLogin({ login, pass }); }} validationSchema={LoginSchema} > {(props) => ( <> Welcome back )} ); }; export default LoginScreen;