Skip to content

Commit 93d7bff

Browse files
committed
add button analytics
1 parent 5ebf7b8 commit 93d7bff

File tree

10 files changed

+78
-128
lines changed

10 files changed

+78
-128
lines changed

src/app/earn/components/earn-widget/components/smart-trade-button.tsx

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import { useAppKit } from '@reown/appkit/react'
21
import { useCallback, useMemo } from 'react'
32

43
import { WarningType, Warnings } from '@/components/swap/components/warning'
@@ -8,6 +7,7 @@ import {
87
useTradeButtonState,
98
} from '@/components/swap/hooks/use-trade-button-state'
109
import { useApproval } from '@/lib/hooks/use-approval'
10+
import { useCustomAppKit } from '@/lib/hooks/use-custom-app-kit'
1111
import { useIsTokenPairTradable } from '@/lib/hooks/use-is-token-pair-tradable'
1212
import { useNetwork } from '@/lib/hooks/use-network'
1313
import { useProtectionContext } from '@/lib/providers/protection'
@@ -55,7 +55,7 @@ export function SmartTradeButton(props: SmartTradeButtonProps) {
5555
} = props
5656

5757
const { chainId } = useNetwork()
58-
const { open } = useAppKit()
58+
const { openConnectView, openNetworksView } = useCustomAppKit()
5959
const { isRestrictedCountry } = useProtectionContext()
6060
const { slippage } = useSlippage()
6161

@@ -117,12 +117,12 @@ export function SmartTradeButton(props: SmartTradeButtonProps) {
117117

118118
const onClick = useCallback(async () => {
119119
if (buttonState === TradeButtonState.connectWallet) {
120-
open({ view: 'Connect' })
120+
openConnectView('Smart Trade Button')
121121
return
122122
}
123123

124124
if (buttonState === TradeButtonState.wrongNetwork) {
125-
open({ view: 'Networks' })
125+
openNetworksView('Smart Trade Button')
126126
return
127127
}
128128

@@ -147,7 +147,8 @@ export function SmartTradeButton(props: SmartTradeButtonProps) {
147147
onApproveForSwap,
148148
onOpenTransactionReview,
149149
onRefetchQuote,
150-
open,
150+
openConnectView,
151+
openNetworksView,
151152
shouldApprove,
152153
])
153154

src/app/legacy/components/redeem-widget/index.tsx

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
'use client'
22

3-
import { useAppKit } from '@reown/appkit/react'
43
import { useSetAtom } from 'jotai'
54
import { useCallback } from 'react'
65

@@ -16,6 +15,7 @@ import {
1615
import { TradeButton } from '@/components/trade-button'
1716
import { MAINNET, POLYGON } from '@/constants/chains'
1817
import { useApproval } from '@/lib/hooks/use-approval'
18+
import { useCustomAppKit } from '@/lib/hooks/use-custom-app-kit'
1919
import { useDisclosure } from '@/lib/hooks/use-disclosure'
2020
import { useSupportedNetworks } from '@/lib/hooks/use-network'
2121
import { useWallet } from '@/lib/hooks/use-wallet'
@@ -35,7 +35,7 @@ export function RedeemWidget() {
3535
MAINNET.chainId,
3636
POLYGON.chainId,
3737
])
38-
const { open } = useAppKit()
38+
const { openConnectView, openNetworksView } = useCustomAppKit()
3939
const { address } = useWallet()
4040
const {
4141
inputTokenList,
@@ -96,13 +96,12 @@ export function RedeemWidget() {
9696

9797
const onClickButton = useCallback(async () => {
9898
if (buttonState === TradeButtonState.connectWallet) {
99-
open({ view: 'Connect' })
100-
99+
openConnectView('Redeem Widget')
101100
return
102101
}
103102

104103
if (buttonState === TradeButtonState.wrongNetwork) {
105-
open({ view: 'Networks' })
104+
openNetworksView('Redeem Widget')
106105

107106
return
108107
}
@@ -122,7 +121,15 @@ export function RedeemWidget() {
122121
if (buttonState === TradeButtonState.default) {
123122
sendTradeEvent({ type: 'REVIEW' })
124123
}
125-
}, [buttonState, isApproved, onApprove, sendTradeEvent, open, shouldApprove])
124+
}, [
125+
buttonState,
126+
isApproved,
127+
shouldApprove,
128+
openConnectView,
129+
openNetworksView,
130+
onApprove,
131+
sendTradeEvent,
132+
])
126133

127134
return (
128135
<div className='widget w-full min-w-80 max-w-xl flex-1 flex-col space-y-4 self-center rounded-3xl p-6'>

src/app/leverage/components/trading-view-chart.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
import { Button } from '@headlessui/react'
2-
import { useAppKit } from '@reown/appkit/react'
32
import Script from 'next/script'
43
import { useEffect, useState } from 'react'
54

65
import { TradingViewChartContainer } from '@/app/leverage/components/trading-view-chart-container'
6+
import { useCustomAppKit } from '@/lib/hooks/use-custom-app-kit'
77
import { useWallet } from '@/lib/hooks/use-wallet'
88

99
export function TradingViewChart() {
1010
const [isScriptReady, setIsScriptReady] = useState(false)
1111
const { isConnected } = useWallet()
12-
const { open } = useAppKit()
12+
const { openConnectView } = useCustomAppKit()
1313

1414
useEffect(() => {
1515
const scriptAlreadyLoaded = document.querySelector(
@@ -34,7 +34,7 @@ export function TradingViewChart() {
3434
<div className='bg-ic-black/95 absolute inset-0 z-20 flex items-center justify-center'>
3535
<Button
3636
className='bg-ic-blue-500 dark:bg-ic-blue-300 dark:hover:bg-ic-blue-200 hover:bg-ic-blue-500/90 text-ic-gray-50 dark:text-ic-black block rounded-md px-8 py-1 text-sm font-medium shadow-sm transition-all duration-300 hover:scale-[1.04]'
37-
onClick={() => open({ view: 'Connect' })}
37+
onClick={() => openConnectView('TradingView Chart')}
3838
>
3939
Start Trading
4040
</Button>

src/app/prt-staking/components/prt-section/prt-card.tsx

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import { ArrowTopRightOnSquareIcon } from '@heroicons/react/16/solid'
2-
import { useAppKit } from '@reown/appkit/react'
32
import dayjs from 'dayjs'
43
import relativeTime from 'dayjs/plugin/relativeTime'
54
import Image from 'next/image'
@@ -8,6 +7,7 @@ import { useMemo } from 'react'
87

98
import { usePrtStakingContext } from '@/app/prt-staking/provider'
109
import { ProductRevenueToken } from '@/app/prt-staking/types'
10+
import { useCustomAppKit } from '@/lib/hooks/use-custom-app-kit'
1111
import { useMainnetOnly } from '@/lib/hooks/use-network'
1212
import { formatAmount, formatDollarAmount } from '@/lib/utils'
1313

@@ -29,7 +29,7 @@ export function PrtCard({ onClick }: Props) {
2929
poolStakedBalanceFormatted,
3030
userStakedBalanceFormatted,
3131
} = usePrtStakingContext()
32-
const { open } = useAppKit()
32+
const { openConnectView, openNetworksView } = useCustomAppKit()
3333
const isSupportedNetwork = useMainnetOnly()
3434

3535
const buttonLabel = useMemo(() => {
@@ -42,13 +42,12 @@ export function PrtCard({ onClick }: Props) {
4242

4343
const handleClick = () => {
4444
if (!accountAddress) {
45-
open({ view: 'Connect' })
45+
openConnectView('PRT Card')
4646
return
4747
}
4848

4949
if (!isSupportedNetwork) {
50-
open({ view: 'Networks' })
51-
50+
openNetworksView('PRT Card')
5251
return
5352
}
5453

src/components/header/connect.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,20 @@
22

33
import { Button } from '@headlessui/react'
44
import { ChevronDownIcon } from '@heroicons/react/20/solid'
5-
import { useAppKit } from '@reown/appkit/react'
65
import { useMemo } from 'react'
76
import { useAccount, useAccountEffect, useBalance } from 'wagmi'
87

98
import { NetworkSelect } from '@/components/header/network-select'
109
import { useAnalytics } from '@/lib/hooks/use-analytics'
10+
import { useCustomAppKit } from '@/lib/hooks/use-custom-app-kit'
1111
import { useNetwork } from '@/lib/hooks/use-network'
1212
import { formatAmountFromWei, shortenAddress } from '@/lib/utils'
1313
import { emojiAvatarForAddress } from '@/lib/utils/emoji-address-avatar'
1414

1515
export const Connect = () => {
1616
const { address, isConnected, chainId: walletChainId } = useAccount()
1717
const { chainId } = useNetwork()
18-
const { open } = useAppKit()
18+
const { openAccountView, openConnectView } = useCustomAppKit()
1919
const { logConnectWallet } = useAnalytics()
2020

2121
const { data: balance } = useBalance({
@@ -50,7 +50,7 @@ export const Connect = () => {
5050
<NetworkSelect />
5151
<Button
5252
className='bg-ic-gray-900 flex items-center gap-2 rounded-md px-4 py-1 text-sm transition-all duration-300 hover:scale-[1.04]'
53-
onClick={() => open({ view: 'Account' })}
53+
onClick={() => openAccountView('Header')}
5454
>
5555
<div className='flex gap-1'>
5656
<p className='hidden md:block'>
@@ -72,7 +72,7 @@ export const Connect = () => {
7272
) : (
7373
<Button
7474
className='bg-ic-blue-500 dark:bg-ic-white dark:hover:bg-ic-gray-100 hover:bg-ic-blue-500/90 text-ic-gray-50 dark:text-ic-black block rounded-full px-8 py-1 text-sm font-medium shadow-sm transition-all duration-300 hover:scale-[1.04]'
75-
onClick={() => open({ view: 'Connect' })}
75+
onClick={() => openConnectView('Header')}
7676
>
7777
Connect
7878
</Button>

src/components/header/network-select.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import { Button, Popover, PopoverButton, PopoverPanel } from '@headlessui/react'
44
import { ChevronDownIcon, XMarkIcon } from '@heroicons/react/20/solid'
5-
import { useAppKit } from '@reown/appkit/react'
65
import { NetworkUtil } from '@reown/appkit-common'
76
import { AssetUtil, ChainController } from '@reown/appkit-core'
87
import { watchAccount } from '@wagmi/core'
@@ -13,13 +12,14 @@ import { useEffect, useMemo, useState } from 'react'
1312
import { useAccount } from 'wagmi'
1413

1514
import { Path } from '@/constants/paths'
15+
import { useCustomAppKit } from '@/lib/hooks/use-custom-app-kit'
1616
import { getNetworkName, useNetwork } from '@/lib/hooks/use-network'
1717
import { useQueryParams } from '@/lib/hooks/use-query-params'
1818
import { chains, wagmiAdapter } from '@/lib/utils/wagmi'
1919

2020
export const NetworkSelect = () => {
2121
const { chainId: walletChainId } = useAccount()
22-
const { open } = useAppKit()
22+
const { openNetworksView } = useCustomAppKit()
2323
const { chainId, switchChain } = useNetwork()
2424
const { queryParams, searchParams, updateQueryParams } = useQueryParams()
2525
const [isNetworkWarningClosed, setIsNetworkWarningClosed] = useState(false)
@@ -70,7 +70,7 @@ export const NetworkSelect = () => {
7070
<Popover as='div' className='relative'>
7171
<PopoverButton
7272
className='text-ic-white flex items-center gap-2 rounded-md border-none bg-zinc-900 px-4 py-1 text-sm transition-all duration-300 hover:scale-[1.04]'
73-
onClick={() => open({ view: 'Networks' })}
73+
onClick={() => openNetworksView('Header')}
7474
>
7575
{imageSrc && (
7676
<Image

src/components/selectors/network-selector-button.tsx

Lines changed: 0 additions & 43 deletions
This file was deleted.

src/components/selectors/network-selector.tsx

Lines changed: 0 additions & 54 deletions
This file was deleted.

src/components/smart-trade-button/index.tsx

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import { useAppKit } from '@reown/appkit/react'
21
import { useCallback, useMemo } from 'react'
32

43
import { WarningType, Warnings } from '@/components/swap/components/warning'
@@ -9,6 +8,7 @@ import {
98
} from '@/components/swap/hooks/use-trade-button-state'
109
import { TradeButton } from '@/components/trade-button'
1110
import { useApproval } from '@/lib/hooks/use-approval'
11+
import { useCustomAppKit } from '@/lib/hooks/use-custom-app-kit'
1212
import { useIsTokenPairTradable } from '@/lib/hooks/use-is-token-pair-tradable'
1313
import { useNetwork } from '@/lib/hooks/use-network'
1414
import { useProtectionContext } from '@/lib/providers/protection'
@@ -52,7 +52,7 @@ export function SmartTradeButton(props: SmartTradeButtonProps) {
5252
} = props
5353

5454
const { chainId } = useNetwork()
55-
const { open } = useAppKit()
55+
const { openConnectView, openNetworksView } = useCustomAppKit()
5656
const { isRestrictedCountry } = useProtectionContext()
5757
const { slippage } = useSlippage()
5858

@@ -114,12 +114,12 @@ export function SmartTradeButton(props: SmartTradeButtonProps) {
114114

115115
const onClick = useCallback(async () => {
116116
if (buttonState === TradeButtonState.connectWallet) {
117-
open({ view: 'Connect' })
117+
openConnectView('Smart Trade Button')
118118
return
119119
}
120120

121121
if (buttonState === TradeButtonState.wrongNetwork) {
122-
open({ view: 'Networks' })
122+
openNetworksView('Smart Trade Button')
123123
return
124124
}
125125

@@ -144,7 +144,8 @@ export function SmartTradeButton(props: SmartTradeButtonProps) {
144144
onApproveForSwap,
145145
onOpenTransactionReview,
146146
onRefetchQuote,
147-
open,
147+
openConnectView,
148+
openNetworksView,
148149
shouldApprove,
149150
])
150151

0 commit comments

Comments
 (0)