Skip to content

Commit f35facc

Browse files
authored
fix: ensure address exists before sign in with wallet (#394)
1 parent e056e1c commit f35facc

File tree

1 file changed

+22
-14
lines changed

1 file changed

+22
-14
lines changed

frontend/src/components/Home/SignInButtons.tsx

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { useConnectModal } from '@rainbow-me/rainbowkit';
22
import { LoaderCircle } from 'lucide-react';
33
import { BuiltInProviderType } from 'next-auth/providers';
44
import { signIn } from 'next-auth/react';
5-
import { useCallback, useState } from 'react';
5+
import { useCallback, useEffect, useState } from 'react';
66
import { DiscordIcon } from 'components/common/DiscordIcon';
77
import { GoogleIcon } from 'components/common/GoogleIcon';
88
import { 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

Comments
 (0)