11import OrgLogin from '@/components/Login/OrgLogin' ;
22import UserLogin from '@/components/Login/UserLogin' ;
3- import TwoFactorScreen from '../two-factor' ;
43import { LOGIN_MUTATION , ORG_LOGIN_MUTATION } from '@/graphql/mutations/login.mutation' ;
5- import { ApolloError , useApolloClient , useMutation } from '@apollo/client' ;
4+ import { ApolloError , useMutation } from '@apollo/client' ;
65import AsyncStorage from '@react-native-async-storage/async-storage' ;
7- import { Href , useLocalSearchParams , useRouter } from 'expo-router' ;
8- import { useEffect , useState } from 'react' ;
9- import { useToast } from 'react-native-toast-notifications' ;
10- import { ToastAndroid } from 'react-native' ;
6+ import { RelativePathString , useLocalSearchParams , useRouter } from 'expo-router' ;
7+ import { useState } from 'react' ;
118import { useTranslation } from 'react-i18next' ;
12-
13- class ErrorHandler {
14- static handleNetworkError ( ) {
15- ToastAndroid . show ( 'There was a problem contacting the server' , ToastAndroid . LONG ) ;
16- }
17-
18- static handleInvalidCredentials ( ) {
19- ToastAndroid . show ( 'Error Invalid credentials' , ToastAndroid . LONG ) ;
20- }
21-
22- static handleCustomError ( message : string | undefined ) {
23- ToastAndroid . show ( 'Error:' + message , ToastAndroid . LONG ) ;
24- }
25-
26- static handleGeneralError ( ) {
27- ToastAndroid . show ( 'Error An unexpected error occurred.' , ToastAndroid . LONG ) ;
28- }
29- }
9+ import { useToast } from 'react-native-toast-notifications' ;
3010
3111export default function SignInOrganization ( ) {
3212 const toast = useToast ( ) ;
3313 const router = useRouter ( ) ;
34- const { t } = useTranslation ( ) ;
14+ const { t } = useTranslation ( ) ;
3515 const [ orgLoginSuccess , setOrgLoginSuccess ] = useState ( false ) ;
3616 const [ orgLoginMutation ] = useMutation ( ORG_LOGIN_MUTATION ) ;
3717 const [ LoginUser ] = useMutation ( LOGIN_MUTATION ) ;
38- const params = useLocalSearchParams < { redirect ?: string ; logout : string } > ( ) ;
39- const client = useApolloClient ( ) ;
40-
41- useEffect ( ( ) => {
42- if ( params . logout == '1' ) {
43- while ( router . canGoBack ( ) ) {
44- router . back ( ) ;
45- }
46- client . clearStore ( ) ;
47- router . replace ( '/auth/login' ) ;
48- }
49- } , [ ] ) ;
18+ const params = useLocalSearchParams < { redirect ?: string } > ( ) ;
5019
5120 const onOrgSubmit = async ( values : any ) => {
5221 try {
@@ -69,13 +38,13 @@ export default function SignInOrganization() {
6938 setOrgLoginSuccess ( true ) ;
7039 } ,
7140 onError ( err : any ) {
72- toast . show ( err . message , {
41+ toast . show ( err . message , {
7342 type : 'fail' ,
74- placement : 'top' ,
75- duration : 5000 ,
76- animationType : 'slide-in' ,
43+ placement : 'top' ,
44+ duration : 5000 ,
45+ animationType : 'slide-in' ,
7746 style : { backgroundColor : 'red' } ,
78- } )
47+ } ) ;
7948 } ,
8049 } ) ;
8150 } catch ( err : any ) {
@@ -105,13 +74,10 @@ export default function SignInOrganization() {
10574 if ( data . loginUser . user . role === 'trainee' ) {
10675 await AsyncStorage . setItem ( 'authToken' , token ) ;
10776
108- while ( router . canGoBack ( ) ) {
109- router . back ( ) ;
110- }
111-
77+ router . canDismiss ( ) && router . dismissAll ( ) ;
11278 params . redirect
113- ? router . push ( `${ params . redirect } ` as Href < string | object > )
114- : router . push ( '/dashboard' ) ;
79+ ? router . replace ( `${ params . redirect } ` as RelativePathString )
80+ : router . replace ( '/dashboard' ) ;
11581 return ;
11682 } else {
11783 toast . show ( t ( 'toasts.auth.loginErr' ) , {
@@ -129,7 +95,7 @@ export default function SignInOrganization() {
12995 }
13096 else {
13197 await AsyncStorage . setItem ( 'authToken' , data . loginUser . token ) ;
132- router . push ( '/dashboard' ) ;
98+ router . replace ( '/dashboard' ) ;
13399 }
134100 } ,
135101 onError : ( err ) => {
@@ -143,7 +109,7 @@ export default function SignInOrganization() {
143109 } ,
144110 } ) ;
145111 } catch ( error : any ) {
146- toast . show ( t ( 'toasts.auth.generalError' ) , { type : 'danger' } ) ;
112+ toast . show ( t ( 'toasts.auth.generalError' ) , { type : 'danger' } ) ;
147113 }
148114 } ;
149115
0 commit comments