mirror of
https://github.com/neynarxyz/create-farcaster-mini-app.git
synced 2025-11-16 08:08:56 -05:00
feat: update to use coinbaseWallet and metaMask connectors
This commit is contained in:
parent
5f0fd8876a
commit
d8c53ceab7
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@neynar/create-farcaster-mini-app",
|
"name": "@neynar/create-farcaster-mini-app",
|
||||||
"version": "1.2.17",
|
"version": "1.2.18",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"private": false,
|
"private": false,
|
||||||
"access": "public",
|
"access": "public",
|
||||||
|
|||||||
@ -59,7 +59,22 @@ export default function Demo(
|
|||||||
} = useSignTypedData();
|
} = useSignTypedData();
|
||||||
|
|
||||||
const { disconnect } = useDisconnect();
|
const { disconnect } = useDisconnect();
|
||||||
const { connect } = useConnect();
|
const { connect, connectors } = useConnect();
|
||||||
|
|
||||||
|
const handleConnect = useCallback(async () => {
|
||||||
|
if (context) {
|
||||||
|
// If we're in a frame client, use the frame connector
|
||||||
|
await connect({ connector: connectors[0] });
|
||||||
|
} else {
|
||||||
|
try {
|
||||||
|
// Try Coinbase Wallet first
|
||||||
|
await connect({ connector: connectors[1] });
|
||||||
|
} catch (error) {
|
||||||
|
// If Coinbase Wallet fails, try MetaMask
|
||||||
|
await connect({ connector: connectors[2] });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, [connect, connectors, context]);
|
||||||
|
|
||||||
const {
|
const {
|
||||||
switchChain,
|
switchChain,
|
||||||
@ -321,15 +336,21 @@ export default function Demo(
|
|||||||
)}
|
)}
|
||||||
|
|
||||||
<div className="mb-4">
|
<div className="mb-4">
|
||||||
<Button
|
{isConnected ? (
|
||||||
onClick={() =>
|
<Button
|
||||||
isConnected
|
onClick={() => disconnect()}
|
||||||
? disconnect()
|
className="w-full"
|
||||||
: connect({ connector: config.connectors[0] })
|
>
|
||||||
}
|
Disconnect
|
||||||
>
|
</Button>
|
||||||
{isConnected ? "Disconnect" : "Connect"}
|
) : (
|
||||||
</Button>
|
<Button
|
||||||
|
onClick={handleConnect}
|
||||||
|
className="w-full"
|
||||||
|
>
|
||||||
|
Connect
|
||||||
|
</Button>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="mb-4">
|
<div className="mb-4">
|
||||||
|
|||||||
@ -2,6 +2,8 @@ import { createConfig, http, WagmiProvider } from "wagmi";
|
|||||||
import { base, degen, mainnet, optimism, unichain } from "wagmi/chains";
|
import { base, degen, mainnet, optimism, unichain } from "wagmi/chains";
|
||||||
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
|
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
|
||||||
import { farcasterFrame } from "@farcaster/frame-wagmi-connector";
|
import { farcasterFrame } from "@farcaster/frame-wagmi-connector";
|
||||||
|
import { coinbaseWallet, metaMask } from 'wagmi/connectors';
|
||||||
|
import { APP_NAME, APP_ICON_URL, APP_URL } from "~/lib/constants";
|
||||||
|
|
||||||
export const config = createConfig({
|
export const config = createConfig({
|
||||||
chains: [base, optimism, mainnet, degen, unichain],
|
chains: [base, optimism, mainnet, degen, unichain],
|
||||||
@ -12,7 +14,20 @@ export const config = createConfig({
|
|||||||
[degen.id]: http(),
|
[degen.id]: http(),
|
||||||
[unichain.id]: http(),
|
[unichain.id]: http(),
|
||||||
},
|
},
|
||||||
connectors: [farcasterFrame()],
|
connectors: [
|
||||||
|
farcasterFrame(),
|
||||||
|
coinbaseWallet({
|
||||||
|
appName: APP_NAME,
|
||||||
|
appLogoUrl: APP_ICON_URL,
|
||||||
|
preference: 'all',
|
||||||
|
}),
|
||||||
|
metaMask({
|
||||||
|
dappMetadata: {
|
||||||
|
name: APP_NAME,
|
||||||
|
url: APP_URL,
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
],
|
||||||
});
|
});
|
||||||
|
|
||||||
const queryClient = new QueryClient();
|
const queryClient = new QueryClient();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user