Commit c8086e3c authored by Vignesh Mohankumar's avatar Vignesh Mohankumar Committed by GitHub

fix: wait to render Landing content until checking wallet cache (#5729)

* fix: wait to render Landing content until checking wallet cache

* use state
parent a2c6d3f4
...@@ -3,7 +3,7 @@ import { BrowserEvent, ElementName, EventName, PageName } from '@uniswap/analyti ...@@ -3,7 +3,7 @@ import { BrowserEvent, ElementName, EventName, PageName } from '@uniswap/analyti
import { BaseButton } from 'components/Button' import { BaseButton } from 'components/Button'
import { LandingRedirectVariant, useLandingRedirectFlag } from 'featureFlags/flags/landingRedirect' import { LandingRedirectVariant, useLandingRedirectFlag } from 'featureFlags/flags/landingRedirect'
import Swap from 'pages/Swap' import Swap from 'pages/Swap'
import { useEffect } from 'react' import { useEffect, useState } from 'react'
import { useLocation, useNavigate } from 'react-router-dom' import { useLocation, useNavigate } from 'react-router-dom'
import { Link as NativeLink } from 'react-router-dom' import { Link as NativeLink } from 'react-router-dom'
import { useAppSelector } from 'state/hooks' import { useAppSelector } from 'state/hooks'
...@@ -178,12 +178,19 @@ export default function Landing() { ...@@ -178,12 +178,19 @@ export default function Landing() {
} }
}, []) }, [])
const [showContent, setShowContent] = useState(false)
const selectedWallet = useAppSelector((state) => state.user.selectedWallet) const selectedWallet = useAppSelector((state) => state.user.selectedWallet)
const landingRedirectFlag = useLandingRedirectFlag() const landingRedirectFlag = useLandingRedirectFlag()
const navigate = useNavigate() const navigate = useNavigate()
useEffect(() => { useEffect(() => {
if (selectedWallet && landingRedirectFlag === LandingRedirectVariant.Enabled) { if (selectedWallet) {
navigate('/swap') if (landingRedirectFlag === LandingRedirectVariant.Enabled) {
navigate('/swap')
} else {
setShowContent(true)
}
} else {
setShowContent(true)
} }
}, [navigate, selectedWallet, landingRedirectFlag]) }, [navigate, selectedWallet, landingRedirectFlag])
...@@ -191,36 +198,38 @@ export default function Landing() { ...@@ -191,36 +198,38 @@ export default function Landing() {
return ( return (
<Trace page={PageName.LANDING_PAGE} shouldLogImpression> <Trace page={PageName.LANDING_PAGE} shouldLogImpression>
<PageContainer> {showContent && (
<TraceEvent <PageContainer>
events={[BrowserEvent.onClick]} <TraceEvent
name={EventName.ELEMENT_CLICKED} events={[BrowserEvent.onClick]}
element={ElementName.LANDING_PAGE_SWAP_ELEMENT} name={EventName.ELEMENT_CLICKED}
> element={ElementName.LANDING_PAGE_SWAP_ELEMENT}
<Link to="/swap"> >
<LandingSwap /> <Link to="/swap">
</Link> <LandingSwap />
</TraceEvent> </Link>
<Glow /> </TraceEvent>
<Gradient isDarkMode={isDarkMode} /> <Glow />
<ContentContainer isDarkMode={isDarkMode}> <Gradient isDarkMode={isDarkMode} />
<TitleText isDarkMode={isDarkMode}>Trade crypto & NFTs with confidence</TitleText> <ContentContainer isDarkMode={isDarkMode}>
<SubTextContainer> <TitleText isDarkMode={isDarkMode}>Trade crypto & NFTs with confidence</TitleText>
<SubText>Buy, sell, and explore tokens and NFTs</SubText> <SubTextContainer>
</SubTextContainer> <SubText>Buy, sell, and explore tokens and NFTs</SubText>
<ActionsContainer> </SubTextContainer>
<TraceEvent <ActionsContainer>
events={[BrowserEvent.onClick]} <TraceEvent
name={EventName.ELEMENT_CLICKED} events={[BrowserEvent.onClick]}
element={ElementName.CONTINUE_BUTTON} name={EventName.ELEMENT_CLICKED}
> element={ElementName.CONTINUE_BUTTON}
<ButtonCTA as={Link} to="/swap"> >
<ButtonCTAText>Get started</ButtonCTAText> <ButtonCTA as={Link} to="/swap">
</ButtonCTA> <ButtonCTAText>Get started</ButtonCTAText>
</TraceEvent> </ButtonCTA>
</ActionsContainer> </TraceEvent>
</ContentContainer> </ActionsContainer>
</PageContainer> </ContentContainer>
</PageContainer>
)}
</Trace> </Trace>
) )
} }
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