Commit c3909bc1 authored by Moody Salem's avatar Moody Salem

improve the better trade link logic

parent b2528792
......@@ -24,7 +24,13 @@ function VersionLinkContainer({ children }: { children: React.ReactNode }) {
)
}
export default function BetterTradeLink({ version }: { version: Version }) {
export default function BetterTradeLink({
version,
otherTradeNonexistent = false,
}: {
version: Version
otherTradeNonexistent: boolean
}) {
const location = useLocation()
const search = useParsedQueryString()
......@@ -40,7 +46,7 @@ export default function BetterTradeLink({ version }: { version: Version }) {
return (
<VersionLinkContainer>
There is a better price for this trade on{' '}
{otherTradeNonexistent ? 'This trade can be executed on ' : 'There is a better price for this trade on '}
<StyledInternalLink to={linkDestination}>
<b>Uniswap {version.toUpperCase()}</b>
</StyledInternalLink>
......
......@@ -36,7 +36,7 @@ export function useBestV3TradeExactIn(
const quotesResults = useSingleContractMultipleData(quoter, 'quoteExactInput', quoteExactInInputs)
return useMemo(() => {
if (!amountIn || !currencyOut || quotesResults.some(({ valid }) => !valid)) {
if (!amountIn || !currencyOut) {
return {
state: V3TradeState.INVALID,
trade: null,
......
......@@ -393,11 +393,12 @@ export default function Swap({ history }: RouteComponentProps) {
setShowInverted={setShowInverted}
/>
) : null}
{![V3TradeState.VALID, V3TradeState.SYNCING].includes(v3TradeState) ? null : toggledVersion ===
Version.v3 && isTradeBetter(v3Trade, v2Trade) ? (
<BetterTradeLink version={Version.v2} />
) : toggledVersion === Version.v2 && isTradeBetter(v2Trade, v3Trade) ? (
<BetterTradeLink version={Version.v3} />
{[V3TradeState.VALID, V3TradeState.SYNCING, V3TradeState.NO_ROUTE_FOUND].includes(v3TradeState) ? (
toggledVersion === Version.v3 && isTradeBetter(v3Trade, v2Trade) ? (
<BetterTradeLink version={Version.v2} otherTradeNonexistent={!v3Trade} />
) : toggledVersion === Version.v2 && isTradeBetter(v2Trade, v3Trade) ? (
<BetterTradeLink version={Version.v3} otherTradeNonexistent={!v2Trade} />
) : null
) : null}
<BottomGrouping>
{swapIsUnsupported ? (
......
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