@@ -2,7 +2,7 @@ import { useConnectModal } from '@rainbow-me/rainbowkit';
22import { LoaderCircle } from 'lucide-react' ;
33import { BuiltInProviderType } from 'next-auth/providers' ;
44import { signIn } from 'next-auth/react' ;
5- import { useCallback , useState } from 'react' ;
5+ import { useCallback , useEffect , useState } from 'react' ;
66import { DiscordIcon } from 'components/common/DiscordIcon' ;
77import { GoogleIcon } from 'components/common/GoogleIcon' ;
88import { useAccount , useSignMessage } from 'wagmi' ;
@@ -29,21 +29,29 @@ export const SigningInButtons = () => {
2929 const handleAutoEVM = useCallback ( async ( ) => {
3030 setIsClicked ( 'web3-wallet' ) ;
3131 if ( openConnectModal ) openConnectModal ( ) ;
32+ } , [ openConnectModal ] ) ;
3233
33- if ( address ) {
34- const message = await getMessageToSign ( address ) ;
35- const signature = await signMessageAsync ( {
36- message,
37- } ) ;
38- signIn ( 'web3-wallet' , {
39- address,
40- message,
41- signature,
42- redirect : true ,
43- callbackUrl : '/drive' ,
44- } ) ;
34+ const signInWithWallet = useCallback ( async ( ) => {
35+ if ( ! address ) return ;
36+
37+ const message = await getMessageToSign ( address ) ;
38+ const signature = await signMessageAsync ( {
39+ message,
40+ } ) ;
41+ signIn ( 'web3-wallet' , {
42+ address,
43+ message,
44+ signature,
45+ redirect : true ,
46+ callbackUrl : '/drive' ,
47+ } ) ;
48+ } , [ address , signMessageAsync ] ) ;
49+
50+ useEffect ( ( ) => {
51+ if ( address && isClicked === 'web3-wallet' ) {
52+ signInWithWallet ( ) ;
4553 }
46- } , [ openConnectModal , address , signMessageAsync ] ) ;
54+ } , [ address , signInWithWallet , isClicked ] ) ;
4755
4856 const handleGithubAuth = useCallback ( ( ) => {
4957 setIsClicked ( 'github' ) ;
0 commit comments