Skip to content

Commit b56c9bc

Browse files
authored
Merge pull request #730 from reservoirprotocol/fix/fix-onanalyiticevent-error
Prevent onAnalyticEvent from throwing errors internally
2 parents f54e8fd + dce6e56 commit b56c9bc

File tree

3 files changed

+36
-4
lines changed

3 files changed

+36
-4
lines changed

.changeset/bitter-games-carry.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@reservoir0x/relay-kit-ui': patch
3+
---
4+
5+
Prevent onAnalyticEvent from throwing errors internally

packages/ui/src/components/widgets/OnrampWidget/widget/index.tsx

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import type { Dispatch, FC } from 'react'
22
import OnrampWidgetRenderer from './OnrampWidgetRenderer.js'
33
import { Box, Button, Flex, Text } from '../../../primitives/index.js'
44
import AmountInput from '../../../common/AmountInput.js'
5-
import { useContext, useEffect, useState } from 'react'
5+
import { useCallback, useContext, useEffect, useState } from 'react'
66
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
77
import {
88
faArrowDownLong,
@@ -77,9 +77,19 @@ const OnrampWidget: FC<OnrampWidgetProps> = ({
7777
onConnectWallet,
7878
onLinkNewWallet,
7979
onSetPrimaryWallet,
80-
onAnalyticEvent,
80+
onAnalyticEvent: _onAnalyticEvent,
8181
onSuccess
8282
}): JSX.Element => {
83+
const onAnalyticEvent = useCallback(
84+
(eventName: string, data?: any) => {
85+
try {
86+
_onAnalyticEvent?.(eventName, data)
87+
} catch (e) {
88+
console.error('Error in onAnalyticEvent', eventName, data, e)
89+
}
90+
},
91+
[_onAnalyticEvent]
92+
)
8393
const [addressModalOpen, setAddressModalOpen] = useState(false)
8494
const [onrampModalOpen, setOnrampModalOpen] = useState(false)
8595
const { isConnected } = useAccount()

packages/ui/src/components/widgets/SwapWidget/index.tsx

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
import { Flex, Button, Text, Box } from '../../primitives/index.js'
2-
import { useContext, useEffect, useMemo, useState, type FC } from 'react'
2+
import {
3+
useCallback,
4+
useContext,
5+
useEffect,
6+
useMemo,
7+
useState,
8+
type FC
9+
} from 'react'
310
import { useRelayClient } from '../../../hooks/index.js'
411
import type { Address } from 'viem'
512
import { formatUnits } from 'viem'
@@ -110,11 +117,21 @@ const SwapWidget: FC<SwapWidgetProps> = ({
110117
onFromTokenChange,
111118
onToTokenChange,
112119
onConnectWallet,
113-
onAnalyticEvent,
120+
onAnalyticEvent: _onAnalyticEvent,
114121
onSwapSuccess,
115122
onSwapValidating,
116123
onSwapError
117124
}): JSX.Element => {
125+
const onAnalyticEvent = useCallback(
126+
(eventName: string, data?: any) => {
127+
try {
128+
_onAnalyticEvent?.(eventName, data)
129+
} catch (e) {
130+
console.error('Error in onAnalyticEvent', eventName, data, e)
131+
}
132+
},
133+
[_onAnalyticEvent]
134+
)
118135
const relayClient = useRelayClient()
119136
const providerOptionsContext = useContext(ProviderOptionsContext)
120137
const connectorKeyOverrides = providerOptionsContext.vmConnectorKeyOverrides

0 commit comments

Comments
 (0)