feat: force landing page to show based on landing query param (#5730)

* feat: force landing page to show based on `landing` query param

* flag

* use intro

* lint
This commit is contained in:
Vignesh Mohankumar 2022-12-19 15:49:42 -05:00 committed by GitHub
parent 89c0caae43
commit 0ae9fe28a2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -3,6 +3,7 @@ import { BrowserEvent, ElementName, EventName, PageName } from '@uniswap/analyti
import { BaseButton } from 'components/Button'
import { LandingRedirectVariant, useLandingRedirectFlag } from 'featureFlags/flags/landingRedirect'
import Swap from 'pages/Swap'
import { parse } from 'qs'
import { useEffect, useState } from 'react'
import { useLocation, useNavigate } from 'react-router-dom'
import { Link as NativeLink } from 'react-router-dom'
@ -182,8 +183,15 @@ export default function Landing() {
const selectedWallet = useAppSelector((state) => state.user.selectedWallet)
const landingRedirectFlag = useLandingRedirectFlag()
const navigate = useNavigate()
const queryParams = parse(location.search, {
ignoreQueryPrefix: true,
})
// This can be simplified significantly once the flag is removed! For now being explicit is clearer.
useEffect(() => {
if (selectedWallet) {
if (queryParams.intro) {
setShowContent(true)
} else if (selectedWallet) {
if (landingRedirectFlag === LandingRedirectVariant.Enabled) {
navigate('/swap')
} else {
@ -192,7 +200,7 @@ export default function Landing() {
} else {
setShowContent(true)
}
}, [navigate, selectedWallet, landingRedirectFlag])
}, [navigate, selectedWallet, landingRedirectFlag, queryParams.intro])
if (!isOpen) return null