Skip to content

Commit

Permalink
fix(hooks-store): use recipient override only in hooks page
Browse files Browse the repository at this point in the history
  • Loading branch information
shoom3301 committed Sep 24, 2024
1 parent 5e342f2 commit 442283a
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 6 deletions.
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
import { useEffect } from 'react'
import { useLayoutEffect } from 'react'

import { useSwapActionHandlers } from 'modules/swap/hooks/useSwapState'
import { useIsHooksTradeType } from 'modules/trade'

import { usePostHooksRecipientOverride } from './usePostHooksRecipientOverride'

export function useSetRecipientOverride() {
const { onChangeRecipient } = useSwapActionHandlers()
const hookRecipientOverride = usePostHooksRecipientOverride()
const isHooksTradeType = useIsHooksTradeType()

useEffect(() => {
if (!hookRecipientOverride) return
useLayoutEffect(() => {
if (!hookRecipientOverride || !isHooksTradeType) return

onChangeRecipient(hookRecipientOverride)
}, [hookRecipientOverride])
}, [hookRecipientOverride, isHooksTradeType])
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,14 @@ import { useTradeStateFromUrl } from './setupTradeState/useTradeStateFromUrl'
import { useDerivedTradeState } from './useDerivedTradeState'

import { useIsAlternativeOrderModalVisible } from '../state/alternativeOrder'
import { useIsHooksTradeType } from './useIsHooksTradeType'

export function useResetRecipient(onChangeRecipient: (recipient: string | null) => void): null {
const isAlternativeOrderModalVisible = useIsAlternativeOrderModalVisible()
const tradeState = useDerivedTradeState()
const tradeStateFromUrl = useTradeStateFromUrl()
const postHooksRecipientOverride = usePostHooksRecipientOverride()
const isHooksTradeType = useIsHooksTradeType()
const hasTradeState = !!tradeStateFromUrl
const { chainId } = useWalletInfo()

Expand Down Expand Up @@ -45,10 +47,12 @@ export function useResetRecipient(onChangeRecipient: (recipient: string | null)
* Remove recipient override when its source hook was deleted
*/
useEffect(() => {
if (!postHooksRecipientOverride && recipient === prevPostHooksRecipientOverride) {
const recipientOverrideWasRemoved = !postHooksRecipientOverride && recipient === prevPostHooksRecipientOverride

if (recipientOverrideWasRemoved || !isHooksTradeType) {
onChangeRecipient(null)
}
}, [recipient, postHooksRecipientOverride, prevPostHooksRecipientOverride, onChangeRecipient])
}, [recipient, isHooksTradeType, postHooksRecipientOverride, prevPostHooksRecipientOverride, onChangeRecipient])

return null
}

0 comments on commit 442283a

Please sign in to comment.