@@ -8,36 +8,41 @@ import { firebaseAuth } from 'src/lib/firebase'
8
8
export const AuthProvider = ( { children } : { children : React . ReactNode } ) => {
9
9
const navigate = useNavigate ( )
10
10
const [ searchParams ] = useSearchParams ( )
11
- const { closeAuthModal, initState, setAuthError, openAuthModal } = useAuth ( )
11
+ const { closeAuthModal, initState, setAuthError, openAuthModal, setConnecting } = useAuth ( )
12
12
13
13
const connectTheUser = useCallback ( ( token ?: string | null , provider ?: string | null ) => {
14
14
const allowedProviders = [ 'google' , 'github' ]
15
15
if ( ( provider && ! allowedProviders . includes ( provider ) ) || ! token ) {
16
16
return Promise . resolve ( )
17
17
}
18
18
19
+ setConnecting ( true )
19
20
const authProvider =
20
21
provider === 'google'
21
22
? GoogleAuthProvider . credential ( null , token )
22
23
: GithubAuthProvider . credential ( token )
23
24
24
- return signInWithCredential ( firebaseAuth , authProvider ) . then ( ( userCredential ) => {
25
- const user = userCredential . user
25
+ return signInWithCredential ( firebaseAuth , authProvider )
26
+ . then ( ( userCredential ) => {
27
+ const user = userCredential . user
26
28
27
- initState ( {
28
- user : {
29
- id : user . uid ,
30
- name : user . displayName || 'Anonymous' ,
31
- imageURL : user . photoURL || '' ,
32
- } ,
33
- providerId : authProvider . providerId ,
29
+ initState ( {
30
+ user : {
31
+ id : user . uid ,
32
+ name : user . displayName || 'Anonymous' ,
33
+ imageURL : user . photoURL || '' ,
34
+ } ,
35
+ providerId : authProvider . providerId ,
36
+ } )
37
+ if ( user . displayName ) {
38
+ toast ( `Welcome, ${ user . displayName } ` , { theme : 'successToast' } )
39
+ }
40
+ closeAuthModal ( )
41
+ navigate ( window . location . pathname , { replace : true } )
42
+ } )
43
+ . finally ( ( ) => {
44
+ setConnecting ( false )
34
45
} )
35
- if ( user . displayName ) {
36
- toast ( `Welcome, ${ user . displayName } ` , { theme : 'successToast' } )
37
- }
38
- closeAuthModal ( )
39
- navigate ( window . location . pathname , { replace : true } )
40
- } )
41
46
} , [ ] )
42
47
43
48
/**
0 commit comments