|
1 | 1 | "use client"
|
2 | 2 |
|
| 3 | +import { sendGAEvent } from "@next/third-parties/google" |
3 | 4 | import { RainbowKitProvider, getDefaultConfig, useConnectModal } from "@rainbow-me/rainbowkit"
|
4 | 5 | import "@rainbow-me/rainbowkit/styles.css"
|
5 | 6 | import { QueryClient, QueryClientProvider } from "@tanstack/react-query"
|
6 | 7 | import { BrowserProvider } from "ethers"
|
7 |
| -import { createContext, useCallback, useContext, useMemo } from "react" |
| 8 | +import { createContext, useCallback, useContext, useEffect, useMemo } from "react" |
8 | 9 | import { type Config, WagmiProvider, useAccount, useConnectorClient, useDisconnect } from "wagmi"
|
9 | 10 |
|
10 | 11 | import { configs } from "./configs"
|
@@ -51,10 +52,17 @@ const RainbowProvider = props => {
|
51 | 52 | const Web3ContextProvider = props => {
|
52 | 53 | const { connector: activeConnector, address, isConnected, chainId } = useAccount()
|
53 | 54 | const { data: client } = useConnectorClient<Config>({ chainId })
|
54 |
| - |
55 | 55 | const { openConnectModal } = useConnectModal()
|
56 | 56 | const { disconnect } = useDisconnect()
|
57 | 57 |
|
| 58 | + useEffect(() => { |
| 59 | + if (isConnected && activeConnector?.name) { |
| 60 | + sendGAEvent("event", "wallet_connected", { |
| 61 | + wallet_type: activeConnector.name, |
| 62 | + }) |
| 63 | + } |
| 64 | + }, [isConnected, activeConnector?.name]) |
| 65 | + |
58 | 66 | const provider = useMemo(() => {
|
59 | 67 | if (client && chainId && chainId === client.chain?.id) return clientToProvider(client)
|
60 | 68 | return null
|
|
0 commit comments