Commit e1e52c06 authored by Callil Capuozzo's avatar Callil Capuozzo

update copy

parent 8401a4b9
...@@ -89,7 +89,7 @@ ...@@ -89,7 +89,7 @@
"toleranceExplanation": "Lowering this limit decreases your risk of frontrunning. However, this makes more likely that your transaction will fail due to normal price movements.", "toleranceExplanation": "Lowering this limit decreases your risk of frontrunning. However, this makes more likely that your transaction will fail due to normal price movements.",
"tokenSearchPlaceholder": "Search name or paste address", "tokenSearchPlaceholder": "Search name or paste address",
"selectFee": "Select Fee", "selectFee": "Select Fee",
"selectLiquidityRange": "Select Price Range", "selectLiquidityRange": "Set Price Range",
"selectPool": "Select Fee Tier", "selectPool": "Select Fee Tier",
"depositAmounts": "Deposit Amounts", "depositAmounts": "Deposit Amounts",
"fee": "fee", "fee": "fee",
...@@ -97,8 +97,8 @@ ...@@ -97,8 +97,8 @@
"percent": "Percent", "percent": "Percent",
"rate": "Rate", "rate": "Rate",
"currentRate": "Current {{label}} Price:", "currentRate": "Current {{label}} Price:",
"inactiveRangeWarning": "Your position will not be active or earn fees until the selected rates come into range.", "inactiveRangeWarning": "Your position will not earn fees or be used in trades until the market price moves into your range.",
"invalidRangeWarning": "Invalid Range entered. Lower range must be lower than upper range.", "invalidRangeWarning": "Invalid range selected. The min price must be lower than the max price.",
"connectWallet": "Connect Wallet", "connectWallet": "Connect Wallet",
"unsupportedAsset": "Unsupported Asset", "unsupportedAsset": "Unsupported Asset",
"feePool": "Fee Pool", "feePool": "Fee Pool",
...@@ -106,11 +106,11 @@ ...@@ -106,11 +106,11 @@
"rebalanceMessage": "Your underlying tokens will be automatically rebalanced when the rate of the pool changes and may be different when you withdraw the position.", "rebalanceMessage": "Your underlying tokens will be automatically rebalanced when the rate of the pool changes and may be different when you withdraw the position.",
"addEarnHelper": "You will earn fees from trades proportional to your share of the pool.", "addEarnHelper": "You will earn fees from trades proportional to your share of the pool.",
"learnMoreAboutFess": " Learn more about earning fees.", "learnMoreAboutFess": " Learn more about earning fees.",
"selectAPool": "Select a pool to provide liquidity to.", "selectAPool": "Choose the best fee tier for your selected pair.",
"poolType": "Select a fee tier based on your preferred liquidity provider fee.", "poolType": "Select a fee tier based on your preferred liquidity provider fee.",
"rangeWarning": "Your liquidity will only be active and earning fees when the rate of the pool is within this price range.", "rangeWarning": "Your liquidity will only be active and earning fees when the rate of the pool is within this price range.",
"chooseLiquidityAmount": "Choose an amount of tokens to open this liquidity position. If you don’t have enough tokens you can trade for them with a Swap.", "chooseLiquidityAmount": "Choose an amount of tokens to open this liquidity position. If you don’t have enough tokens you can trade for them with a Swap.",
"inputTokenDynamic": "Input {{label}}", "inputTokenDynamic": "Input {{label}}",
"selectStartingPrice": "Select Starting Price", "selectStartingPrice": "Set Starting Price",
"newPoolPrice": "Select the market rate for the tokens being added." "newPoolPrice": "Select the market rate for the tokens being added."
} }
...@@ -40,7 +40,7 @@ export default function RangeBadge({ inRange }: { inRange?: boolean }) { ...@@ -40,7 +40,7 @@ export default function RangeBadge({ inRange }: { inRange?: boolean }) {
<BadgeWrapper> <BadgeWrapper>
{inRange ? ( {inRange ? (
<MouseoverTooltip <MouseoverTooltip
text={`The price of this pair is within your selected range. Your positions is earning fees.`} text={`The price of this pair is within your selected range. Your position is currently earning fees.`}
> >
<Badge variant={BadgeVariant.DEFAULT}> <Badge variant={BadgeVariant.DEFAULT}>
<ActiveDot /> &nbsp; <ActiveDot /> &nbsp;
...@@ -49,7 +49,7 @@ export default function RangeBadge({ inRange }: { inRange?: boolean }) { ...@@ -49,7 +49,7 @@ export default function RangeBadge({ inRange }: { inRange?: boolean }) {
</MouseoverTooltip> </MouseoverTooltip>
) : ( ) : (
<MouseoverTooltip <MouseoverTooltip
text={`The price of this pair is outside of your selected range. Your positions is not earning fees.`} text={`The price of this pair is outside of your selected range. Your position is not currently earning fees. `}
> >
<Badge variant={BadgeVariant.WARNING}> <Badge variant={BadgeVariant.WARNING}>
<AlertCircle width={14} height={14} /> <AlertCircle width={14} height={14} />
......
...@@ -203,7 +203,9 @@ export default function CurrencyInputPanel({ ...@@ -203,7 +203,9 @@ export default function CurrencyInputPanel({
<FixedContainer> <FixedContainer>
<AutoColumn gap="sm" justify="center"> <AutoColumn gap="sm" justify="center">
<Lock /> <Lock />
<TYPE.label fontSize="12px">Single-asset deposit only, price out of range.</TYPE.label> <TYPE.label fontSize="12px" textAlign="center">
The market price is outside your specified price range. Single-asset deposit only.
</TYPE.label>
</AutoColumn> </AutoColumn>
</FixedContainer> </FixedContainer>
)} )}
......
...@@ -41,7 +41,7 @@ export default function FeeSelector({ ...@@ -41,7 +41,7 @@ export default function FeeSelector({
<AutoColumn gap="sm" justify="flex-start"> <AutoColumn gap="sm" justify="flex-start">
<ResponsiveText>0.05% {t('fee')}</ResponsiveText> <ResponsiveText>0.05% {t('fee')}</ResponsiveText>
<TYPE.main fontWeight={400} fontSize="12px" textAlign="left"> <TYPE.main fontWeight={400} fontSize="12px" textAlign="left">
Optimized for stable assets. Best for stable pairs.
</TYPE.main> </TYPE.main>
</AutoColumn> </AutoColumn>
</ButtonRadioChecked> </ButtonRadioChecked>
...@@ -53,7 +53,7 @@ export default function FeeSelector({ ...@@ -53,7 +53,7 @@ export default function FeeSelector({
<AutoColumn gap="sm" justify="flex-start"> <AutoColumn gap="sm" justify="flex-start">
<ResponsiveText>0.3% {t('fee')}</ResponsiveText> <ResponsiveText>0.3% {t('fee')}</ResponsiveText>
<TYPE.main fontWeight={400} fontSize="12px" textAlign="left"> <TYPE.main fontWeight={400} fontSize="12px" textAlign="left">
The classic Uniswap pool fee. Best for most pairs.
</TYPE.main> </TYPE.main>
</AutoColumn> </AutoColumn>
</ButtonRadioChecked> </ButtonRadioChecked>
...@@ -65,7 +65,7 @@ export default function FeeSelector({ ...@@ -65,7 +65,7 @@ export default function FeeSelector({
<AutoColumn gap="sm" justify="flex-start"> <AutoColumn gap="sm" justify="flex-start">
<ResponsiveText>1% {t('fee')}</ResponsiveText> <ResponsiveText>1% {t('fee')}</ResponsiveText>
<TYPE.main fontWeight={400} fontSize="12px" textAlign="left"> <TYPE.main fontWeight={400} fontSize="12px" textAlign="left">
Best for volatile assets. Best for exotic pairs.
</TYPE.main> </TYPE.main>
</AutoColumn> </AutoColumn>
</ButtonRadioChecked> </ButtonRadioChecked>
......
...@@ -228,12 +228,6 @@ export default function PositionListItem({ positionDetails }: PositionListItemPr ...@@ -228,12 +228,6 @@ export default function PositionListItem({ positionDetails }: PositionListItemPr
;[priceLower, priceUpper, base, quote] = [priceUpper?.invert(), priceLower?.invert(), quote, base] ;[priceLower, priceUpper, base, quote] = [priceUpper?.invert(), priceLower?.invert(), quote, base]
} }
const quotePrice = useMemo(() => {
return manuallyInverted
? position?.pool.priceOf(position?.pool.token0)
: position?.pool.priceOf(position?.pool.token1)
}, [manuallyInverted, position?.pool])
return ( return (
<Row to={positionSummaryLink}> <Row to={positionSummaryLink}>
<RowFixed> <RowFixed>
...@@ -250,11 +244,7 @@ export default function PositionListItem({ positionDetails }: PositionListItemPr ...@@ -250,11 +244,7 @@ export default function PositionListItem({ positionDetails }: PositionListItemPr
<BadgeWrapper> <BadgeWrapper>
{outOfRange ? ( {outOfRange ? (
<MouseoverTooltip <MouseoverTooltip
text={`The price of this pair is outside of your selected range. Your positions is not earning fees. Current price: ${quotePrice?.toSignificant( text={`The price of this pair is outside of your selected range. Your position is not currently earning fees.`}
6
)} ${manuallyInverted ? currencyQuote?.symbol : currencyBase?.symbol} / ${
manuallyInverted ? currencyBase?.symbol : currencyQuote?.symbol
}`}
> >
<Badge variant={BadgeVariant.WARNING}> <Badge variant={BadgeVariant.WARNING}>
<AlertCircle width={14} height={14} style={{ marginRight: '' }} /> <AlertCircle width={14} height={14} style={{ marginRight: '' }} />
...@@ -264,11 +254,7 @@ export default function PositionListItem({ positionDetails }: PositionListItemPr ...@@ -264,11 +254,7 @@ export default function PositionListItem({ positionDetails }: PositionListItemPr
</MouseoverTooltip> </MouseoverTooltip>
) : ( ) : (
<MouseoverTooltip <MouseoverTooltip
text={`The price of this pair is within your selected range. Your positions is earning fees. Current price: ${quotePrice?.toSignificant( text={`The price of this pair is within your selected range. Your position is currently earning fees.`}
6
)} ${manuallyInverted ? currencyQuote?.symbol : currencyBase?.symbol} / ${
manuallyInverted ? currencyBase?.symbol : currencyQuote?.symbol
}`}
> >
<Badge variant={BadgeVariant.DEFAULT}> <Badge variant={BadgeVariant.DEFAULT}>
<ActiveDot /> &nbsp; <ActiveDot /> &nbsp;
......
...@@ -113,30 +113,28 @@ export const PositionPreview = ({ ...@@ -113,30 +113,28 @@ export const PositionPreview = ({
<RowBetween> <RowBetween>
<LightCard width="48%" padding="8px"> <LightCard width="48%" padding="8px">
<AutoColumn gap="4px" justify="center"> <AutoColumn gap="4px" justify="center">
<TYPE.main fontSize="12px">Min price</TYPE.main> <TYPE.main fontSize="12px">Min Price</TYPE.main>
<TYPE.mediumHeader textAlign="center">{`${priceLower.toSignificant(5)}`}</TYPE.mediumHeader> <TYPE.mediumHeader textAlign="center">{`${priceLower.toSignificant(5)}`}</TYPE.mediumHeader>
<TYPE.main <TYPE.main
textAlign="center" textAlign="center"
fontSize="12px" fontSize="12px"
>{` ${quoteCurrency.symbol}/${baseCurrency.symbol}`}</TYPE.main> >{` ${quoteCurrency.symbol}/${baseCurrency.symbol}`}</TYPE.main>
<TYPE.small textAlign="center" color={theme.text3} style={{ marginTop: '4px' }}> <TYPE.small textAlign="center" color={theme.text3} style={{ marginTop: '4px' }}>
Position will be <CurrencyLogo currency={baseCurrency} size="10px" /> 100% {baseCurrency?.symbol} at Your position will be 100% composed of {baseCurrency?.symbol} at this price
this price.
</TYPE.small> </TYPE.small>
</AutoColumn> </AutoColumn>
</LightCard> </LightCard>
<LightCard width="48%" padding="8px"> <LightCard width="48%" padding="8px">
<AutoColumn gap="4px" justify="center"> <AutoColumn gap="4px" justify="center">
<TYPE.main fontSize="12px">Max price</TYPE.main> <TYPE.main fontSize="12px">Max Price</TYPE.main>
<TYPE.mediumHeader textAlign="center">{`${priceUpper.toSignificant(5)}`}</TYPE.mediumHeader> <TYPE.mediumHeader textAlign="center">{`${priceUpper.toSignificant(5)}`}</TYPE.mediumHeader>
<TYPE.main <TYPE.main
textAlign="center" textAlign="center"
fontSize="12px" fontSize="12px"
>{` ${quoteCurrency.symbol}/${baseCurrency.symbol}`}</TYPE.main> >{` ${quoteCurrency.symbol}/${baseCurrency.symbol}`}</TYPE.main>
<TYPE.small textAlign="center" color={theme.text3} style={{ marginTop: '4px' }}> <TYPE.small textAlign="center" color={theme.text3} style={{ marginTop: '4px' }}>
Position will be <CurrencyLogo currency={quoteCurrency} size="10px" /> 100% {quoteCurrency?.symbol} at Your position will be 100% composed of {quoteCurrency?.symbol} at this price
this price.
</TYPE.small> </TYPE.small>
</AutoColumn> </AutoColumn>
</LightCard> </LightCard>
......
...@@ -49,7 +49,7 @@ export default function RangeSelector({ ...@@ -49,7 +49,7 @@ export default function RangeSelector({
increment={isSorted ? getIncrementLower : getDecrementUpper} increment={isSorted ? getIncrementLower : getDecrementUpper}
feeAmount={feeAmount} feeAmount={feeAmount}
label={leftPrice ? `${currencyB?.symbol}` : '-'} label={leftPrice ? `${currencyB?.symbol}` : '-'}
title={'Min price'} title={'Min Price'}
tokenA={currencyA?.symbol} tokenA={currencyA?.symbol}
tokenB={currencyB?.symbol} tokenB={currencyB?.symbol}
/> />
...@@ -63,7 +63,7 @@ export default function RangeSelector({ ...@@ -63,7 +63,7 @@ export default function RangeSelector({
label={rightPrice ? `${currencyB?.symbol}` : '-'} label={rightPrice ? `${currencyB?.symbol}` : '-'}
tokenA={currencyA?.symbol} tokenA={currencyA?.symbol}
tokenB={currencyB?.symbol} tokenB={currencyB?.symbol}
title={'Max price'} title={'Max Price'}
/> />
</RowBetween> </RowBetween>
) )
......
...@@ -205,7 +205,7 @@ export default function SettingsTab() { ...@@ -205,7 +205,7 @@ export default function SettingsTab() {
<TYPE.black fontWeight={400} fontSize={14} color={theme.text2}> <TYPE.black fontWeight={400} fontSize={14} color={theme.text2}>
Toggle Expert Mode Toggle Expert Mode
</TYPE.black> </TYPE.black>
<QuestionHelper text="Bypasses confirmation modals and allows high slippage trades. Use at your own risk." /> <QuestionHelper text="Allow high price impact trades and skip the confirm screen. Use at your own risk." />
</RowFixed> </RowFixed>
<Toggle <Toggle
id="toggle-expert-mode-button" id="toggle-expert-mode-button"
......
...@@ -228,7 +228,7 @@ export default function SlippageTabs({ rawSlippage, setRawSlippage, deadline, se ...@@ -228,7 +228,7 @@ export default function SlippageTabs({ rawSlippage, setRawSlippage, deadline, se
<TYPE.black fontSize={14} fontWeight={400} color={theme.text2}> <TYPE.black fontSize={14} fontWeight={400} color={theme.text2}>
Transaction deadline Transaction deadline
</TYPE.black> </TYPE.black>
<QuestionHelper text="Your transaction will revert if it is pending for more than this long." /> <QuestionHelper text="Your transaction will revert if it is pending for more than this period of time." />
</RowFixed> </RowFixed>
<RowFixed> <RowFixed>
<OptionCustom style={{ width: '80px' }} tabIndex={-1}> <OptionCustom style={{ width: '80px' }} tabIndex={-1}>
......
...@@ -89,8 +89,8 @@ export default function UnsupportedCurrencyFooter({ ...@@ -89,8 +89,8 @@ export default function UnsupportedCurrencyFooter({
})} })}
<AutoColumn gap="lg"> <AutoColumn gap="lg">
<TYPE.body fontWeight={500}> <TYPE.body fontWeight={500}>
Some assets are not available through this interface because they may not work well with our smart Some assets are not available through this interface because they may not work well with the smart
contract or we are unable to allow trading for legal reasons. contracts or we are unable to allow trading for legal reasons.
</TYPE.body> </TYPE.body>
</AutoColumn> </AutoColumn>
</AutoColumn> </AutoColumn>
......
...@@ -2,7 +2,7 @@ import React, { useCallback, useContext, useMemo, useState, useEffect } from 're ...@@ -2,7 +2,7 @@ import React, { useCallback, useContext, useMemo, useState, useEffect } from 're
import { TransactionResponse } from '@ethersproject/providers' import { TransactionResponse } from '@ethersproject/providers'
import { Currency, TokenAmount, ETHER, currencyEquals } from '@uniswap/sdk-core' import { Currency, TokenAmount, ETHER, currencyEquals } from '@uniswap/sdk-core'
import { WETH9 } from '@uniswap/sdk-core' import { WETH9 } from '@uniswap/sdk-core'
import { AlertTriangle } from 'react-feather' import { AlertTriangle, AlertCircle } from 'react-feather'
import ReactGA from 'react-ga' import ReactGA from 'react-ga'
import { useV3NFTPositionManagerContract } from '../../hooks/useContract' import { useV3NFTPositionManagerContract } from '../../hooks/useContract'
import { RouteComponentProps } from 'react-router-dom' import { RouteComponentProps } from 'react-router-dom'
...@@ -391,7 +391,7 @@ export default function AddLiquidity({ ...@@ -391,7 +391,7 @@ export default function AddLiquidity({
<> <>
<AutoColumn gap="md"> <AutoColumn gap="md">
<RowBetween paddingBottom="20px"> <RowBetween paddingBottom="20px">
<TYPE.label>Select a pair</TYPE.label> <TYPE.label>Select pair</TYPE.label>
<ButtonText onClick={clearAll}> <ButtonText onClick={clearAll}>
<TYPE.blue fontSize="12px">Clear All</TYPE.blue> <TYPE.blue fontSize="12px">Clear All</TYPE.blue>
</ButtonText> </ButtonText>
...@@ -443,9 +443,6 @@ export default function AddLiquidity({ ...@@ -443,9 +443,6 @@ export default function AddLiquidity({
{noLiquidity && ( {noLiquidity && (
<DynamicSection disabled={!currencyA || !currencyB}> <DynamicSection disabled={!currencyA || !currencyB}>
<AutoColumn gap="md"> <AutoColumn gap="md">
<BlueCard width="100%" padding="1rem">
You are the first to provide liquidity to this pool.
</BlueCard>
<RowBetween> <RowBetween>
<TYPE.label>{t('selectStartingPrice')}</TYPE.label> <TYPE.label>{t('selectStartingPrice')}</TYPE.label>
{baseCurrency && quoteCurrency ? ( {baseCurrency && quoteCurrency ? (
...@@ -482,6 +479,27 @@ export default function AddLiquidity({ ...@@ -482,6 +479,27 @@ export default function AddLiquidity({
)} )}
</TYPE.main> </TYPE.main>
</RowBetween> </RowBetween>
<BlueCard
style={{
display: 'flex',
flexDirection: 'column',
alignItems: 'center',
padding: ' 1.5rem 1.25rem',
}}
>
<AlertCircle color={theme.text1} size={32} style={{ marginBottom: '12px', opacity: 0.8 }} />
<TYPE.body
fontSize={14}
style={{ marginBottom: 8, fontWeight: 500, opacity: 0.8 }}
textAlign="center"
>
You are the first liquidity provider for this Uniswap V3 pool.
</TYPE.body>
<TYPE.body fontWeight={500} textAlign="center" fontSize={14} style={{ opacity: 0.8 }}>
The transaction cost will be much higher as it includes the gas to create the pool.
</TYPE.body>
</BlueCard>
</AutoColumn> </AutoColumn>
</DynamicSection> </DynamicSection>
)} )}
...@@ -504,9 +522,11 @@ export default function AddLiquidity({ ...@@ -504,9 +522,11 @@ export default function AddLiquidity({
) : null} ) : null}
</RowBetween> </RowBetween>
<TYPE.main fontSize={14} fontWeight={400} style={{ marginBottom: '.5rem', lineHeight: '125%' }}> <TYPE.main fontSize={14} fontWeight={400} style={{ marginBottom: '.5rem', lineHeight: '125%' }}>
Your liquidity will only be active and earning fees when the price of the pool is within this price Your liquidity will only earn fees when the market price of the pair is within your range.
range.{' '} <ExternalLink
<ExternalLink href={''} style={{ fontSize: '14px' }}> href={'https://docs.uniswap.org/concepts/introduction/liquidity-user-guide'}
style={{ fontSize: '14px' }}
>
Need help picking a range? Need help picking a range?
</ExternalLink> </ExternalLink>
</TYPE.main> </TYPE.main>
......
...@@ -400,16 +400,19 @@ function V2PairMigration({ ...@@ -400,16 +400,19 @@ function V2PairMigration({
{noLiquidity && ( {noLiquidity && (
<BlueCard style={{ display: 'flex', flexDirection: 'column', alignItems: 'center' }}> <BlueCard style={{ display: 'flex', flexDirection: 'column', alignItems: 'center' }}>
<AlertCircle color={theme.text1} style={{ marginBottom: '12px', opacity: 0.8 }} /> <AlertCircle color={theme.text1} style={{ marginBottom: '12px', opacity: 0.8 }} />
<TYPE.body fontSize={14} style={{ marginBottom: 8, fontWeight: 400, opacity: 0.8 }} textAlign="center"> <TYPE.body fontSize={14} style={{ marginBottom: 8, fontWeight: 500, opacity: 0.8 }} textAlign="center">
You are the first liquidity provider for this Uniswap V3 pool. Your liquidity will be migrated at the You are the first liquidity provider for this Uniswap V3 pool. Your liquidity will migrate at the
current {isNotUniswap ? 'SushiSwap' : 'V2'} price. Your transaction cost will include the gas to create current {isNotUniswap ? 'SushiSwap' : 'V2'} price.
the pool. </TYPE.body>
<TYPE.body fontWeight={500} textAlign="center" fontSize={14} style={{ marginTop: '8px', opacity: 0.8 }}>
Your transaction cost will be much higher as it includes the gas to create the pool.
</TYPE.body> </TYPE.body>
{v2SpotPrice && ( {v2SpotPrice && (
<AutoColumn gap="8px"> <AutoColumn gap="8px" style={{ marginTop: '12px' }}>
<RowBetween> <RowBetween>
<TYPE.body fontWeight={600} fontSize={14}> <TYPE.body fontWeight={500} fontSize={14}>
{isNotUniswap ? 'SushiSwap' : 'V2'} {invertPrice ? currency1.symbol : currency0.symbol} Price:{' '} {isNotUniswap ? 'SushiSwap' : 'V2'} {invertPrice ? currency1.symbol : currency0.symbol} Price:{' '}
{invertPrice {invertPrice
? `${v2SpotPrice?.invert()?.toSignificant(6)} ${currency0.symbol}` ? `${v2SpotPrice?.invert()?.toSignificant(6)} ${currency0.symbol}`
...@@ -454,8 +457,9 @@ function V2PairMigration({ ...@@ -454,8 +457,9 @@ function V2PairMigration({
</RowBetween> </RowBetween>
</AutoColumn> </AutoColumn>
<TYPE.body fontSize={14} style={{ marginTop: 8, fontWeight: 400 }}> <TYPE.body fontSize={14} style={{ marginTop: 8, fontWeight: 400 }}>
You should only deposit liquidity into Uniswap V3 at a price you believe is correct. If the price seems You should only deposit liquidity into Uniswap V3 at a price you believe is correct. <br />
incorrect, you can either make a swap to move the price or wait for someone else to do so. If the price seems incorrect, you can either make a swap to move the price or wait for someone else to
do so.
</TYPE.body> </TYPE.body>
</YellowCard> </YellowCard>
) : !noLiquidity && v3SpotPrice ? ( ) : !noLiquidity && v3SpotPrice ? (
...@@ -551,9 +555,9 @@ function V2PairMigration({ ...@@ -551,9 +555,9 @@ function V2PairMigration({
{approval === ApprovalState.PENDING ? ( {approval === ApprovalState.PENDING ? (
<Dots>Approving</Dots> <Dots>Approving</Dots>
) : approval === ApprovalState.APPROVED || signatureData !== null ? ( ) : approval === ApprovalState.APPROVED || signatureData !== null ? (
'Approved' 'Allowed'
) : ( ) : (
'Unlock LP tokens for migration' 'Allow LP token migration'
)} )}
</ButtonConfirmed> </ButtonConfirmed>
</AutoColumn> </AutoColumn>
...@@ -650,7 +654,7 @@ export default function MigrateV2Pair({ ...@@ -650,7 +654,7 @@ export default function MigrateV2Pair({
<AutoRow style={{ alignItems: 'center', justifyContent: 'space-between' }} gap="8px"> <AutoRow style={{ alignItems: 'center', justifyContent: 'space-between' }} gap="8px">
<BackArrow to="/migrate/v2" /> <BackArrow to="/migrate/v2" />
<TYPE.mediumHeader>Migrate V2 Liquidity</TYPE.mediumHeader> <TYPE.mediumHeader>Migrate V2 Liquidity</TYPE.mediumHeader>
<div> <div style={{ opacity: 0 }}>
<QuestionHelper text="Migrate your liquidity tokens from Uniswap V2 to Uniswap V3." /> <QuestionHelper text="Migrate your liquidity tokens from Uniswap V2 to Uniswap V3." />
</div> </div>
</AutoRow> </AutoRow>
......
...@@ -158,7 +158,7 @@ export default function MigrateV2() { ...@@ -158,7 +158,7 @@ export default function MigrateV2() {
<AutoColumn justify={'center'} gap="md"> <AutoColumn justify={'center'} gap="md">
<Text textAlign="center" fontSize={14} style={{ padding: '.5rem 0 .5rem 0' }}> <Text textAlign="center" fontSize={14} style={{ padding: '.5rem 0 .5rem 0' }}>
{"Don't see a pool you joined?"}{' '} {'Don’t see one of your v2 positions?'}{' '}
<StyledInternalLink id="import-pool-link" to={'/find?origin=/migrate/v2'}> <StyledInternalLink id="import-pool-link" to={'/find?origin=/migrate/v2'}>
{'Import it.'} {'Import it.'}
</StyledInternalLink> </StyledInternalLink>
......
...@@ -100,9 +100,11 @@ const HeaderText = styled(TYPE.label)` ...@@ -100,9 +100,11 @@ const HeaderText = styled(TYPE.label)`
const ResponsiveColumn = styled(AutoColumn)` const ResponsiveColumn = styled(AutoColumn)`
gap: 12px; gap: 12px;
height: 100%;
${({ theme }) => theme.mediaWidth.upToMedium` ${({ theme }) => theme.mediaWidth.upToMedium`
gap: 8px; gap: 8px;
`}; `};
justify-content: space-between;
` `
const StyledImage = styled.img` const StyledImage = styled.img`
...@@ -118,13 +120,11 @@ export default function CTACards() { ...@@ -118,13 +120,11 @@ export default function CTACards() {
return ( return (
<CTASection> <CTASection>
<CTA1 href={''}> <CTA1 href={'https://docs.uniswap.org/concepts/introduction/liquidity-user-guide'}>
<ResponsiveColumn> <ResponsiveColumn>
<HeaderText>{t('What’s new in V3 Liquidity Pools?')}</HeaderText> <HeaderText>{t('Uniswap V3 is here!')}</HeaderText>
<TYPE.body fontWeight={300} style={{ alignItems: 'center', display: 'flex', maxWidth: '80%' }}> <TYPE.body fontWeight={300} style={{ alignItems: 'center', display: 'flex', maxWidth: '80%' }}>
{t( {t('Check out our v3 LP walkthrough and migration guides.')}
'Learn all about concentrated liquidity and get informed about how to choose ranges that make sense for you.'
)}
</TYPE.body> </TYPE.body>
<RowBetween align="flex-end"> <RowBetween align="flex-end">
<HeaderText>{t('')}</HeaderText> <HeaderText>{t('')}</HeaderText>
...@@ -132,14 +132,15 @@ export default function CTACards() { ...@@ -132,14 +132,15 @@ export default function CTACards() {
</RowBetween> </RowBetween>
</ResponsiveColumn> </ResponsiveColumn>
</CTA1> </CTA1>
<CTA2 href={''}> <CTA2 href={'https://info.uniswap.org/#/pools'}>
{/* <TextureBG /> */}
<ResponsiveColumn> <ResponsiveColumn>
<HeaderText>{t('Top pools')}</HeaderText> <AutoColumn gap="0px">
<TYPE.body fontWeight={300} style={{ alignItems: 'center', display: 'flex' }}> <HeaderText style={{ alignSelf: 'flex-start' }}>{t('Top pools')}</HeaderText>
{t('Explore the top pools with Uniswap Analytics.')} <TYPE.body fontWeight={300} style={{ alignSelf: 'flex-start' }}>
{t('Explore popular pools on Uniswap Analytics.')}
</TYPE.body> </TYPE.body>
<HeaderText>{t('')}</HeaderText> </AutoColumn>
<HeaderText style={{ alignSelf: 'flex-end' }}>{t('')}</HeaderText>
</ResponsiveColumn> </ResponsiveColumn>
</CTA2> </CTA2>
</CTASection> </CTASection>
......
...@@ -387,7 +387,7 @@ export function PositionPage({ ...@@ -387,7 +387,7 @@ export function PositionPage({
hash={collectMigrationHash ?? ''} hash={collectMigrationHash ?? ''}
content={() => ( content={() => (
<ConfirmationModalContent <ConfirmationModalContent
title={'Collect fees'} title={'Claim fees'}
onDismiss={() => setShowConfirm(false)} onDismiss={() => setShowConfirm(false)}
topContent={modalHeader} topContent={modalHeader}
/> />
...@@ -397,7 +397,7 @@ export function PositionPage({ ...@@ -397,7 +397,7 @@ export function PositionPage({
<AutoColumn gap="md"> <AutoColumn gap="md">
<AutoColumn gap="sm"> <AutoColumn gap="sm">
<Link style={{ textDecoration: 'none', width: 'fit-content', marginBottom: '0.5rem' }} to="/pool"> <Link style={{ textDecoration: 'none', width: 'fit-content', marginBottom: '0.5rem' }} to="/pool">
<HoverText>{'← Back to overview'}</HoverText> <HoverText>{'← Back to Pools Overview'}</HoverText>
</Link> </Link>
<ResponsiveRow> <ResponsiveRow>
<RowFixed> <RowFixed>
...@@ -534,7 +534,7 @@ export function PositionPage({ ...@@ -534,7 +534,7 @@ export function PositionPage({
<AutoColumn gap="md"> <AutoColumn gap="md">
<RowBetween style={{ alignItems: 'flex-start' }}> <RowBetween style={{ alignItems: 'flex-start' }}>
<AutoColumn gap="md"> <AutoColumn gap="md">
<Label>Fees Earned</Label> <Label>Unclaimed fees</Label>
{fiatValueOfFees?.greaterThan(new Fraction(1, 100)) ? ( {fiatValueOfFees?.greaterThan(new Fraction(1, 100)) ? (
<TYPE.largeHeader color={theme.green1} fontSize="36px" fontWeight={500}> <TYPE.largeHeader color={theme.green1} fontSize="36px" fontWeight={500}>
${fiatValueOfFees.toFixed(2)} ${fiatValueOfFees.toFixed(2)}
......
...@@ -444,7 +444,7 @@ export default function RemoveLiquidity({ ...@@ -444,7 +444,7 @@ export default function RemoveLiquidity({
<LightCard> <LightCard>
<AutoColumn gap="20px"> <AutoColumn gap="20px">
<RowBetween> <RowBetween>
<Text fontWeight={500}>Amount</Text> <Text fontWeight={500}>Remove Amount</Text>
<ClickableText <ClickableText
fontWeight={500} fontWeight={500}
onClick={() => { onClick={() => {
......
...@@ -522,8 +522,8 @@ export default function Swap({ history }: RouteComponentProps) { ...@@ -522,8 +522,8 @@ export default function Swap({ history }: RouteComponentProps) {
/> />
{/* we need to shorten this string on mobile */} {/* we need to shorten this string on mobile */}
{approvalState === ApprovalState.APPROVED || signatureState === UseERC20PermitState.SIGNED {approvalState === ApprovalState.APPROVED || signatureState === UseERC20PermitState.SIGNED
? currencies[Field.INPUT]?.symbol + ' unlocked for trading.' ? 'You can now trade ' + currencies[Field.INPUT]?.symbol
: 'Allow Uniswap to spend your ' + currencies[Field.INPUT]?.symbol} : 'Allow the Uniswap Protocol to use your UNI ' + currencies[Field.INPUT]?.symbol}
</span> </span>
{approvalState === ApprovalState.PENDING ? ( {approvalState === ApprovalState.PENDING ? (
<Loader stroke="white" /> <Loader stroke="white" />
...@@ -533,9 +533,9 @@ export default function Swap({ history }: RouteComponentProps) { ...@@ -533,9 +533,9 @@ export default function Swap({ history }: RouteComponentProps) {
) : ( ) : (
<MouseoverTooltip <MouseoverTooltip
text={ text={
'You cannot swap until you give Uniswap permission to spend your ' + 'You must give the Uniswap smart contracts permission to use your' +
currencies[Field.INPUT]?.symbol + currencies[Field.INPUT]?.symbol +
'. You only have to do this once per token and only when you are selling a token for the first time.' '. You only have to do this once per token.'
} }
> >
<HelpCircle size="20" color={'white'} /> <HelpCircle size="20" color={'white'} />
...@@ -567,7 +567,7 @@ export default function Swap({ history }: RouteComponentProps) { ...@@ -567,7 +567,7 @@ export default function Swap({ history }: RouteComponentProps) {
error={isValid && priceImpactSeverity > 2} error={isValid && priceImpactSeverity > 2}
> >
<Text fontSize={16} fontWeight={500}> <Text fontSize={16} fontWeight={500}>
{priceImpactTooHigh ? `Price Impact High` : `Swap${priceImpactSeverity > 2 ? ' Anyway' : ''}`} {priceImpactTooHigh ? `High Price Impact` : `Swap${priceImpactSeverity > 2 ? ' Anyway' : ''}`}
</Text> </Text>
</ButtonError> </ButtonError>
</AutoColumn> </AutoColumn>
......
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