Commit e242faca authored by Zach Pomerantz's avatar Zach Pomerantz Committed by GitHub

perf: render components on first frame (#2404)

* fix(nav): render Vote link while awaiting connection

Minimizes layout shift in the normal case.

* perf: inline logo svg

* perf: display connect button for web3 initial state
parent 1a73f513
...@@ -11,8 +11,8 @@ import { useUserHasSubmittedClaim } from 'state/transactions/hooks' ...@@ -11,8 +11,8 @@ import { useUserHasSubmittedClaim } from 'state/transactions/hooks'
import { useDarkModeManager } from 'state/user/hooks' import { useDarkModeManager } from 'state/user/hooks'
import { useETHBalances } from 'state/wallet/hooks' import { useETHBalances } from 'state/wallet/hooks'
import styled from 'styled-components/macro' import styled from 'styled-components/macro'
import Logo from '../../assets/svg/logo.svg' import { ReactComponent as Logo } from '../../assets/svg/logo.svg'
import LogoDark from '../../assets/svg/logo_white.svg' import { ReactComponent as LogoDark } from '../../assets/svg/logo_white.svg'
import { useActiveWeb3React } from '../../hooks/web3' import { useActiveWeb3React } from '../../hooks/web3'
import { ExternalLink, TYPE } from '../../theme' import { ExternalLink, TYPE } from '../../theme'
import ClaimModal from '../claim/ClaimModal' import ClaimModal from '../claim/ClaimModal'
...@@ -264,7 +264,11 @@ export default function Header() { ...@@ -264,7 +264,11 @@ export default function Header() {
</Modal> </Modal>
<Title href="."> <Title href=".">
<UniIcon> <UniIcon>
<img width={'24px'} src={darkMode ? LogoDark : Logo} alt="logo" /> {darkMode ? (
<LogoDark width="24px" height="100%" title="logo" />
) : (
<Logo width="24px" height="100%" title="logo" />
)}
</UniIcon> </UniIcon>
</Title> </Title>
<HeaderLinks> <HeaderLinks>
...@@ -284,7 +288,7 @@ export default function Header() { ...@@ -284,7 +288,7 @@ export default function Header() {
> >
<Trans>Pool</Trans> <Trans>Pool</Trans>
</StyledNavLink> </StyledNavLink>
{chainId && chainId === SupportedChainId.MAINNET && ( {(!chainId || chainId === SupportedChainId.MAINNET) && (
<StyledNavLink id={`vote-nav-link`} to={'/vote'}> <StyledNavLink id={`vote-nav-link`} to={'/vote'}>
<Trans>Vote</Trans> <Trans>Vote</Trans>
</StyledNavLink> </StyledNavLink>
......
...@@ -235,14 +235,12 @@ export default function Web3Status() { ...@@ -235,14 +235,12 @@ export default function Web3Status() {
const pending = sortedRecentTransactions.filter((tx) => !tx.receipt).map((tx) => tx.hash) const pending = sortedRecentTransactions.filter((tx) => !tx.receipt).map((tx) => tx.hash)
const confirmed = sortedRecentTransactions.filter((tx) => tx.receipt).map((tx) => tx.hash) const confirmed = sortedRecentTransactions.filter((tx) => tx.receipt).map((tx) => tx.hash)
if (!contextNetwork.active && !active) {
return null
}
return ( return (
<> <>
<Web3StatusInner /> <Web3StatusInner />
<WalletModal ENSName={ENSName ?? undefined} pendingTransactions={pending} confirmedTransactions={confirmed} /> {(contextNetwork.active || active) && (
<WalletModal ENSName={ENSName ?? undefined} pendingTransactions={pending} confirmedTransactions={confirmed} />
)}
</> </>
) )
} }
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