@@ -4,8 +4,27 @@ import { LOGIN_MUTATION, ORG_LOGIN_MUTATION } from '@/graphql/mutations/login.mu
44import { ApolloError , useApolloClient , useMutation } from '@apollo/client' ;
55import AsyncStorage from '@react-native-async-storage/async-storage' ;
66import { Href , useLocalSearchParams , useRouter } from 'expo-router' ;
7- import { useEffect , useState } from 'react' ;
7+ import { useEffect , useState } from 'react' ;
88import { useToast } from 'react-native-toast-notifications' ;
9+ import { ToastAndroid } from 'react-native' ;
10+
11+ class ErrorHandler {
12+ static handleNetworkError ( ) {
13+ ToastAndroid . show ( 'There was a problem contacting the server' , ToastAndroid . LONG ) ;
14+ }
15+
16+ static handleInvalidCredentials ( ) {
17+ ToastAndroid . show ( 'Error Invalid credentials' , ToastAndroid . LONG ) ;
18+ }
19+
20+ static handleCustomError ( message : string | undefined ) {
21+ ToastAndroid . show ( 'Error:' + message , ToastAndroid . LONG ) ;
22+ }
23+
24+ static handleGeneralError ( ) {
25+ ToastAndroid . show ( 'Error An unexpected error occurred.' , ToastAndroid . LONG ) ;
26+ }
27+ }
928
1029export default function SignInOrganization ( ) {
1130 const toast = useToast ( ) ;
@@ -47,11 +66,13 @@ export default function SignInOrganization() {
4766 setOrgLoginSuccess ( true ) ;
4867 } ,
4968 onError ( err : any ) {
50- if ( err instanceof ApolloError ) {
51- toast . show ( err . message , { type : 'danger' } ) ;
52- } else {
53- toast . show ( err . message , { type : 'danger' } ) ;
54- }
69+ toast . show ( err . message , {
70+ type : 'fail' ,
71+ placement : 'top' ,
72+ duration : 5000 ,
73+ animationType : 'slide-in' ,
74+ style : { backgroundColor : 'red' } ,
75+ } )
5576 } ,
5677 } ) ;
5778 } catch ( err : any ) {
@@ -94,6 +115,10 @@ export default function SignInOrganization() {
94115 } ) ;
95116 return ;
96117 }
118+
119+ } else {
120+ await AsyncStorage . setItem ( 'authToken' , data . loginUser . token ) ;
121+ router . push ( '/dashboard' ) ;
97122 }
98123 } ,
99124 onError : ( err ) => {
0 commit comments