Commit 1b7f0d11 authored by eddie's avatar eddie Committed by GitHub

fix: override user pref in analytics (#7420)

parent db1d264a
...@@ -5,12 +5,14 @@ import ErrorBoundary from 'components/ErrorBoundary' ...@@ -5,12 +5,14 @@ import ErrorBoundary from 'components/ErrorBoundary'
import Loader from 'components/Icons/LoadingSpinner' import Loader from 'components/Icons/LoadingSpinner'
import NavBar, { PageTabs } from 'components/NavBar' import NavBar, { PageTabs } from 'components/NavBar'
import { useFeatureFlagsIsLoaded } from 'featureFlags' import { useFeatureFlagsIsLoaded } from 'featureFlags'
import { useUniswapXDefaultEnabled } from 'featureFlags/flags/uniswapXDefault'
import { useAtom } from 'jotai' import { useAtom } from 'jotai'
import { useBag } from 'nft/hooks/useBag' import { useBag } from 'nft/hooks/useBag'
import { lazy, Suspense, useEffect, useLayoutEffect, useMemo, useState } from 'react' import { lazy, Suspense, useEffect, useLayoutEffect, useMemo, useState } from 'react'
import { Navigate, Route, Routes, useLocation, useSearchParams } from 'react-router-dom' import { Navigate, Route, Routes, useLocation, useSearchParams } from 'react-router-dom'
import { shouldDisableNFTRoutesAtom } from 'state/application/atoms' import { shouldDisableNFTRoutesAtom } from 'state/application/atoms'
import { useRouterPreference } from 'state/user/hooks' import { RouterPreference } from 'state/routing/types'
import { useRouterPreference, useUserOptedOutOfUniswapX } from 'state/user/hooks'
import { StatsigProvider, StatsigUser } from 'statsig-react' import { StatsigProvider, StatsigUser } from 'statsig-react'
import styled from 'styled-components' import styled from 'styled-components'
import DarkModeQueryParamReader from 'theme/components/DarkModeQueryParamReader' import DarkModeQueryParamReader from 'theme/components/DarkModeQueryParamReader'
...@@ -79,7 +81,8 @@ export default function App() { ...@@ -79,7 +81,8 @@ export default function App() {
const isDarkMode = useIsDarkMode() const isDarkMode = useIsDarkMode()
const [routerPreference] = useRouterPreference() const [routerPreference] = useRouterPreference()
const [scrolledState, setScrolledState] = useState(false) const [scrolledState, setScrolledState] = useState(false)
const isUniswapXDefaultEnabled = useUniswapXDefaultEnabled()
const userOptedOutOfUniswapX = useUserOptedOutOfUniswapX()
const routerConfig = useRouterConfig() const routerConfig = useRouterConfig()
useEffect(() => { useEffect(() => {
...@@ -127,8 +130,21 @@ export default function App() { ...@@ -127,8 +130,21 @@ export default function App() {
}, [isDarkMode]) }, [isDarkMode])
useEffect(() => { useEffect(() => {
// If we're not in the transition period to UniswapX opt-out, set the router preference to whatever is specified.
if (!isUniswapXDefaultEnabled) {
user.set(CustomUserProperties.ROUTER_PREFERENCE, routerPreference)
return
}
// In the transition period, override the stored API preference to UniswapX if the user hasn't opted out.
if (routerPreference === RouterPreference.API && !userOptedOutOfUniswapX) {
user.set(CustomUserProperties.ROUTER_PREFERENCE, RouterPreference.X)
return
}
// Otherwise, the user has opted out or their preference is UniswapX/client, so set the preference to whatever is specified.
user.set(CustomUserProperties.ROUTER_PREFERENCE, routerPreference) user.set(CustomUserProperties.ROUTER_PREFERENCE, routerPreference)
}, [routerPreference]) }, [routerPreference, isUniswapXDefaultEnabled, userOptedOutOfUniswapX])
useEffect(() => { useEffect(() => {
const scrollListener = () => { const scrollListener = () => {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment