From 52dc441e31425ac1cc276daaf0359f0bfa93f63f Mon Sep 17 00:00:00 2001 From: eddie <66155195+just-toby@users.noreply.github.com> Date: Wed, 15 Nov 2023 09:00:03 -0800 Subject: [PATCH] feat: swap component refactor limits (#7588) * feat: add limits tab, flag * feat: add unit test * fix: update snapshot --- .../FeatureFlagModal/FeatureFlagModal.tsx | 7 + src/components/swap/SwapBuyFiatButton.tsx | 6 + src/components/swap/SwapHeader.test.tsx | 37 + src/components/swap/SwapHeader.tsx | 34 +- .../SwapBuyFiatButton.test.tsx.snap | 10 + .../__snapshots__/SwapHeader.test.tsx.snap | 343 + src/featureFlags/flags/limits.ts | 9 + src/featureFlags/index.tsx | 1 + .../Landing/__snapshots__/index.test.tsx.snap | 5826 +++++++++-------- src/pages/Swap/index.tsx | 25 +- 10 files changed, 3422 insertions(+), 2876 deletions(-) create mode 100644 src/components/swap/SwapHeader.test.tsx create mode 100644 src/components/swap/__snapshots__/SwapHeader.test.tsx.snap create mode 100644 src/featureFlags/flags/limits.ts diff --git a/src/components/FeatureFlagModal/FeatureFlagModal.tsx b/src/components/FeatureFlagModal/FeatureFlagModal.tsx index 1cb96ed7c0..1eead470e1 100644 --- a/src/components/FeatureFlagModal/FeatureFlagModal.tsx +++ b/src/components/FeatureFlagModal/FeatureFlagModal.tsx @@ -10,6 +10,7 @@ import { useInfoExploreFlag } from 'featureFlags/flags/infoExplore' import { useInfoLiveViewsFlag } from 'featureFlags/flags/infoLiveViews' import { useInfoPoolPageFlag } from 'featureFlags/flags/infoPoolPage' import { useInfoTDPFlag } from 'featureFlags/flags/infoTDP' +import { useLimitsEnabledFlag } from 'featureFlags/flags/limits' import { useMultichainUXFlag } from 'featureFlags/flags/multichainUx' import { useProgressIndicatorV2Flag } from 'featureFlags/flags/progressIndicatorV2' import { useQuickRouteMainnetFlag } from 'featureFlags/flags/quickRouteMainnet' @@ -274,6 +275,12 @@ export default function FeatureFlagModal() { featureFlag={FeatureFlag.feesEnabled} label="Enable Swap Fees" /> + theme.neutral2}; gap: 4px; font-weight: 485; + transition-duration: ${({ theme }) => theme.transition.duration.fast}; + transition-timing-function: ease-in-out; + transition-property: opacity, color, background-color; &:focus { text-decoration: none; } &:active { text-decoration: none; } + :hover { + opacity: ${({ theme }) => theme.opacity.hover}; + } ` export default function SwapBuyFiatButton() { diff --git a/src/components/swap/SwapHeader.test.tsx b/src/components/swap/SwapHeader.test.tsx new file mode 100644 index 0000000000..c71b7e52b9 --- /dev/null +++ b/src/components/swap/SwapHeader.test.tsx @@ -0,0 +1,37 @@ +import { TEST_ALLOWED_SLIPPAGE, TEST_TRADE_EXACT_INPUT } from 'test-utils/constants' +import { render, screen } from 'test-utils/render' + +import SwapHeader, { SwapTab } from './SwapHeader' + +jest.mock('../../featureFlags/flags/limits', () => ({ useLimitsEnabled: () => true })) + +describe('SwapHeader.tsx', () => { + it('matches base snapshot', () => { + const { asFragment } = render( + + ) + expect(asFragment()).toMatchSnapshot() + expect(screen.getByText('Swap')).toBeInTheDocument() + expect(screen.getByText('Buy')).toBeInTheDocument() + expect(screen.getByText('Limit')).toBeInTheDocument() + }) + + it('calls callback for switching tabs', () => { + const onClickTab = jest.fn() + render( + + ) + screen.getByText('Limit').click() + expect(onClickTab).toHaveBeenCalledWith(SwapTab.Limit) + }) +}) diff --git a/src/components/swap/SwapHeader.tsx b/src/components/swap/SwapHeader.tsx index 28590edcaf..b9f7abe5c6 100644 --- a/src/components/swap/SwapHeader.tsx +++ b/src/components/swap/SwapHeader.tsx @@ -1,8 +1,9 @@ import { Trans } from '@lingui/macro' import { Percent } from '@uniswap/sdk-core' +import { useLimitsEnabled } from 'featureFlags/flags/limits' import { InterfaceTrade } from 'state/routing/types' import styled from 'styled-components' -import { ThemedText } from 'theme/components' +import { ButtonText } from 'theme/components' import { RowBetween, RowFixed } from '../Row' import SettingsTab from '../Settings' @@ -18,22 +19,49 @@ const HeaderButtonContainer = styled(RowFixed)` gap: 16px; ` +const StyledTextButton = styled(ButtonText)<{ $isActive: boolean }>` + color: ${({ theme, $isActive }) => ($isActive ? theme.neutral1 : theme.neutral2)}; + gap: 4px; + font-weight: 485; + &:focus { + text-decoration: none; + } + &:active { + text-decoration: none; + } +` + +export enum SwapTab { + Swap = 'swap', + Limit = 'limit', +} + export default function SwapHeader({ autoSlippage, chainId, trade, + selectedTab, + onClickTab, }: { autoSlippage: Percent chainId?: number trade?: InterfaceTrade + selectedTab: SwapTab + onClickTab: (tab: SwapTab) => void }) { + const limitsEnabled = useLimitsEnabled() return ( - + onClickTab?.(SwapTab.Swap)}> Swap - + + {limitsEnabled && ( + onClickTab?.(SwapTab.Limit)}> + Limit + + )} diff --git a/src/components/swap/__snapshots__/SwapBuyFiatButton.test.tsx.snap b/src/components/swap/__snapshots__/SwapBuyFiatButton.test.tsx.snap index 4d97c01a00..d43b1cd0ee 100644 --- a/src/components/swap/__snapshots__/SwapBuyFiatButton.test.tsx.snap +++ b/src/components/swap/__snapshots__/SwapBuyFiatButton.test.tsx.snap @@ -120,6 +120,12 @@ exports[`SwapBuyFiatButton.tsx matches base snapshot 1`] = ` color: #7D7D7D; gap: 4px; font-weight: 485; + -webkit-transition-duration: 125ms; + transition-duration: 125ms; + -webkit-transition-timing-function: ease-in-out; + transition-timing-function: ease-in-out; + -webkit-transition-property: opacity,color,background-color; + transition-property: opacity,color,background-color; } .c4:focus { @@ -132,6 +138,10 @@ exports[`SwapBuyFiatButton.tsx matches base snapshot 1`] = ` text-decoration: none; } +.c4:hover { + opacity: 0.6; +} +
diff --git a/src/components/swap/__snapshots__/SwapHeader.test.tsx.snap b/src/components/swap/__snapshots__/SwapHeader.test.tsx.snap new file mode 100644 index 0000000000..2edbfa830e --- /dev/null +++ b/src/components/swap/__snapshots__/SwapHeader.test.tsx.snap @@ -0,0 +1,343 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`SwapHeader.tsx matches base snapshot 1`] = ` + + .c0 { + box-sizing: border-box; + margin: 0; + min-width: 0; +} + +.c9 { + box-sizing: border-box; + margin: 0; + min-width: 0; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + display: inline-block; + text-align: center; + line-height: inherit; + -webkit-text-decoration: none; + text-decoration: none; + font-size: inherit; + padding-left: 16px; + padding-right: 16px; + padding-top: 8px; + padding-bottom: 8px; + color: white; + background-color: primary; + border: 0; + border-radius: 4px; +} + +.c1 { + width: 100%; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + padding: 0; + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: start; + -webkit-justify-content: flex-start; + -ms-flex-pack: start; + justify-content: flex-start; +} + +.c2 { + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; +} + +.c4 { + width: -webkit-fit-content; + width: -moz-fit-content; + width: fit-content; +} + +.c6 { + outline: none; + border: none; + font-size: inherit; + padding: 0; + margin: 0; + background: none; + cursor: pointer; + -webkit-transition-duration: 125ms; + transition-duration: 125ms; + -webkit-transition-timing-function: ease-in-out; + transition-timing-function: ease-in-out; + -webkit-transition-property: opacity,color,background-color; + transition-property: opacity,color,background-color; +} + +.c6:hover { + opacity: 0.6; +} + +.c6:focus { + -webkit-text-decoration: underline; + text-decoration: underline; +} + +.c10 { + padding: 16px; + width: 100%; + line-height: 24px; + font-weight: 535; + text-align: center; + border-radius: 16px; + outline: none; + border: 1px solid transparent; + color: #222222; + -webkit-text-decoration: none; + text-decoration: none; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-flex-wrap: nowrap; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + cursor: pointer; + position: relative; + z-index: 1; + will-change: transform; + -webkit-transition: -webkit-transform 450ms ease; + -webkit-transition: transform 450ms ease; + transition: transform 450ms ease; + -webkit-transform: perspective(1px) translateZ(0); + -ms-transform: perspective(1px) translateZ(0); + transform: perspective(1px) translateZ(0); +} + +.c10:disabled { + opacity: 50%; + cursor: auto; + pointer-events: none; +} + +.c10 > * { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.c10 > a { + -webkit-text-decoration: none; + text-decoration: none; +} + +.c11 { + padding: 0; + width: -webkit-fit-content; + width: -moz-fit-content; + width: fit-content; + background: none; + -webkit-text-decoration: none; + text-decoration: none; +} + +.c11:focus { + -webkit-text-decoration: underline; + text-decoration: underline; +} + +.c11:hover { + opacity: 0.9; +} + +.c11:active { + -webkit-text-decoration: underline; + text-decoration: underline; +} + +.c11:disabled { + opacity: 50%; + cursor: auto; +} + +.c8 { + display: inline-block; + height: inherit; +} + +.c17 { + height: 24px; + width: 24px; +} + +.c17 > * { + fill: #7D7D7D; +} + +.c15 { + border: none; + background-color: transparent; + margin: 0; + padding: 0; + cursor: pointer; + outline: none; +} + +.c15:not([disabled]):hover { + opacity: 0.7; +} + +.c16 { + padding: 6px 12px; + border-radius: 16px; +} + +.c14 { + position: relative; +} + +.c12 { + color: #7D7D7D; + gap: 4px; + font-weight: 485; + -webkit-transition-duration: 125ms; + transition-duration: 125ms; + -webkit-transition-timing-function: ease-in-out; + transition-timing-function: ease-in-out; + -webkit-transition-property: opacity,color,background-color; + transition-property: opacity,color,background-color; +} + +.c12:focus { + -webkit-text-decoration: none; + text-decoration: none; +} + +.c12:active { + -webkit-text-decoration: none; + text-decoration: none; +} + +.c12:hover { + opacity: 0.6; +} + +.c3 { + margin-bottom: 10px; + color: #7D7D7D; +} + +.c5 { + padding: 0 12px; + gap: 16px; +} + +.c7 { + color: #222222; + gap: 4px; + font-weight: 485; +} + +.c7:focus { + -webkit-text-decoration: none; + text-decoration: none; +} + +.c7:active { + -webkit-text-decoration: none; + text-decoration: none; +} + +.c13 { + color: #7D7D7D; + gap: 4px; + font-weight: 485; +} + +.c13:focus { + -webkit-text-decoration: none; + text-decoration: none; +} + +.c13:active { + -webkit-text-decoration: none; + text-decoration: none; +} + +
+
+ +
+
+ +
+
+ +
+
+
+ +
+
+
+
+`; diff --git a/src/featureFlags/flags/limits.ts b/src/featureFlags/flags/limits.ts new file mode 100644 index 0000000000..288e846940 --- /dev/null +++ b/src/featureFlags/flags/limits.ts @@ -0,0 +1,9 @@ +import { BaseVariant, FeatureFlag, useBaseFlag } from '../index' + +export function useLimitsEnabledFlag(): BaseVariant { + return useBaseFlag(FeatureFlag.limitsEnabled) +} + +export function useLimitsEnabled(): boolean { + return useLimitsEnabledFlag() === BaseVariant.Enabled +} diff --git a/src/featureFlags/index.tsx b/src/featureFlags/index.tsx index 2c7bd66696..4a524d5b6e 100644 --- a/src/featureFlags/index.tsx +++ b/src/featureFlags/index.tsx @@ -23,6 +23,7 @@ export enum FeatureFlag { progressIndicatorV2 = 'progress_indicator_v2', feesEnabled = 'fees_enabled', androidGALaunch = 'android_ga_launch', + limitsEnabled = 'limits_enabled', } interface FeatureFlagsContextType { diff --git a/src/pages/Landing/__snapshots__/index.test.tsx.snap b/src/pages/Landing/__snapshots__/index.test.tsx.snap index 61e298246f..da005b1d7f 100644 --- a/src/pages/Landing/__snapshots__/index.test.tsx.snap +++ b/src/pages/Landing/__snapshots__/index.test.tsx.snap @@ -7,2599 +7,30 @@ exports[`disable nft on landing page does not render nft information and card 1` min-width: 0; } -.c15 { - box-sizing: border-box; - margin: 0; - min-width: 0; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - display: inline-block; - text-align: center; - line-height: inherit; - -webkit-text-decoration: none; - text-decoration: none; - font-size: inherit; - padding-left: 16px; - padding-right: 16px; - padding-top: 8px; - padding-bottom: 8px; - color: white; - background-color: primary; - border: 0; - border-radius: 4px; -} - -.c47 { - box-sizing: border-box; - margin: 0; - min-width: 0; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - display: inline-block; - text-align: center; - line-height: inherit; - -webkit-text-decoration: none; - text-decoration: none; - font-size: inherit; - padding-left: 16px; - padding-right: 16px; - padding-top: 8px; - padding-bottom: 8px; - color: white; - background-color: primary; - border: 0; - border-radius: 4px; - font-weight: 535; -} - -.c8 { - width: 100%; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - padding: 0; - -webkit-align-items: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: start; - -webkit-justify-content: flex-start; - -ms-flex-pack: start; - justify-content: flex-start; -} - -.c9 { - -webkit-box-pack: justify; - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between; -} - -.c11 { - width: -webkit-fit-content; - width: -moz-fit-content; - width: fit-content; -} - -.c13 { - color: #222222; -} - -.c26 { - color: #7D7D7D; -} - -.c98 { - -webkit-text-decoration: none; - text-decoration: none; - cursor: pointer; - -webkit-transition-duration: 125ms; - transition-duration: 125ms; - color: #FC72FF; - stroke: #FC72FF; - font-weight: 500; -} - -.c98:hover { - opacity: 0.6; -} - -.c98:active { - opacity: 0.4; -} - -.c96 { - -webkit-text-decoration: none; - text-decoration: none; - cursor: pointer; - -webkit-transition-duration: 125ms; - transition-duration: 125ms; - color: #FC72FF; - stroke: #FC72FF; - font-weight: 500; -} - -.c96:hover { - opacity: 0.6; -} - -.c96:active { - opacity: 0.4; -} - -.c89 { - height: 32px; - width: 32px; - fill: #98A1C0; - opacity: 1; -} - -.c90 { - height: 32px; - width: 32px; - fill: #98A1C0; - opacity: 1; -} - -.c91 { - height: 32px; - width: 32px; - fill: #98A1C0; - opacity: 1; -} - -.c83 { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - width: 100%; - gap: 48px; - max-width: 1440px; -} - -.c84 { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; -} - -.c85 { - display: none; -} - -.c100 { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; -} - -.c86 { - width: 72px; - height: 72px; - display: none; -} - -.c87 { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-align-items: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - gap: 20px; - margin: 20px 0 0 0; -} - -.c88 { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; -} - -.c93 { - display: grid; - grid-template-columns: 1fr 1fr; - gap: 12px; -} - -.c94 { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - gap: 12px; - width: 200px; - margin: 20px 0 0 0; -} - -.c95 { - font-size: 16px; - line-height: 20px; - font-weight: 535; -} - -.c99 { - font-size: 16px; - line-height: 20px; - color: #7D7D7D; -} - -.c97 { - font-size: 16px; - line-height: 20px; - color: #7D7D7D; -} - -.c92 { - font-size: 16px; - line-height: 20px; - margin: 1rem 0 0 0; - color: #CECECE; -} - -.c66 { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - background: white url(swapCard.png); - background-size: auto 100%; - background-position: right; - background-repeat: no-repeat; - background-origin: border-box; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-pack: justify; - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between; - -webkit-text-decoration: none; - text-decoration: none; - color: #222222; - padding: 24px; - height: 212px; - border-radius: 24px; - border: 1px solid transparent; - -webkit-transition: 250ms ease border; - transition: 250ms ease border; -} - -.c66:hover { - border: 1px solid #CECECE; -} - -.c72 { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - background: #F9F9F9 url(undefined); - background-size: auto 100%; - background-position: right; - background-repeat: no-repeat; - background-origin: border-box; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-pack: justify; - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between; - -webkit-text-decoration: none; - text-decoration: none; - color: #222222; - padding: 24px; - height: 212px; - border-radius: 24px; - border: 1px solid #22222212; - -webkit-transition: 250ms ease border; - transition: 250ms ease border; -} - -.c72:hover { - border: 1px solid #CECECE; -} - -.c67 { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-align-items: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: justify; - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between; -} - -.c68 { - font-size: 20px; - line-height: 28px; - font-weight: 535; -} - -.c69 { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - font-size: 16px; - line-height: 20px; - color: #222222; - padding: 0 40px 0 0; - max-width: 480px; -} - -.c73 { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - font-size: 16px; - line-height: 20px; - color: #7D7D7D; - padding: 0 40px 0 0; - max-width: 480px; -} - -.c70 { - color: #FC72FF; - font-weight: 535; - margin: 24px 0 0; - cursor: pointer; - -webkit-transition: 250ms ease opacity; - transition: 250ms ease opacity; -} - -.c70:hover { - opacity: 0.6; -} - -.c74 { - min-width: 20px; - min-height: 20px; - max-height: 48px; - max-width: 48px; -} - -.c50 { - background-color: transparent; - bottom: 0; - border-radius: inherit; - height: 100%; - left: 0; - position: absolute; - right: 0; - top: 0; - -webkit-transition: 150ms ease background-color; - transition: 150ms ease background-color; - width: 100%; -} - .c16 { - padding: 16px; - width: 100%; - line-height: 24px; - font-weight: 535; + box-sizing: border-box; + margin: 0; + min-width: 0; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + display: inline-block; text-align: center; - border-radius: 16px; - outline: none; - border: 1px solid transparent; - color: #222222; - -webkit-text-decoration: none; - text-decoration: none; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-flex-wrap: nowrap; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - -webkit-align-items: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - cursor: pointer; - position: relative; - z-index: 1; - will-change: transform; - -webkit-transition: -webkit-transform 450ms ease; - -webkit-transition: transform 450ms ease; - transition: transform 450ms ease; - -webkit-transform: perspective(1px) translateZ(0); - -ms-transform: perspective(1px) translateZ(0); - transform: perspective(1px) translateZ(0); -} - -.c16:disabled { - opacity: 50%; - cursor: auto; - pointer-events: none; -} - -.c16 > * { - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.c16 > a { - -webkit-text-decoration: none; - text-decoration: none; -} - -.c80 { - padding: 16px; - width: 200px; - line-height: 24px; - font-weight: 535; - text-align: center; - border-radius: 16px; - outline: none; - border: 1px solid transparent; - color: #222222; - -webkit-text-decoration: none; - text-decoration: none; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-flex-wrap: nowrap; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - -webkit-align-items: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - cursor: pointer; - position: relative; - z-index: 1; - will-change: transform; - -webkit-transition: -webkit-transform 450ms ease; - -webkit-transition: transform 450ms ease; - transition: transform 450ms ease; - -webkit-transform: perspective(1px) translateZ(0); - -ms-transform: perspective(1px) translateZ(0); - transform: perspective(1px) translateZ(0); -} - -.c80:disabled { - opacity: 50%; - cursor: auto; - pointer-events: none; -} - -.c80 > * { - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.c80 > a { + line-height: inherit; -webkit-text-decoration: none; text-decoration: none; + font-size: inherit; + padding-left: 16px; + padding-right: 16px; + padding-top: 8px; + padding-bottom: 8px; + color: white; + background-color: primary; + border: 0; + border-radius: 4px; } .c48 { - background-color: #FFEFFF; - color: #FC72FF; - font-size: 20px; - font-weight: 535; -} - -.c48:focus { - box-shadow: 0 0 0 1pt #FFEFFF; - background-color: #FFEFFF; -} - -.c48:hover { - background-color: #FFEFFF; -} - -.c48:active { - box-shadow: 0 0 0 1pt #FFEFFF; - background-color: #FFEFFF; -} - -.c48:hover .c49 { - background-color: #98A1C014; -} - -.c48:active .c49 { - background-color: #B8C0DC3d; -} - -.c48:disabled { - opacity: 0.4; -} - -.c48:disabled:hover { - cursor: auto; - background-color: transparent; - box-shadow: none; - border: 1px solid transparent; - outline: none; -} - -.c30 { - background-color: #FFFFFF; - color: #7D7D7D; - border: 1px solid #22222212; - font-size: 16px; - font-weight: 535; -} - -.c30:hover { - background-color: #ececec; -} - -.c30:active { - background-color: #e0e0e0; -} - -.c81 { - background-color: transparent; - color: #FC72FF; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-align-items: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; -} - -.c81:focus { - -webkit-text-decoration: underline; - text-decoration: underline; -} - -.c81:hover { - -webkit-text-decoration: none; - text-decoration: none; -} - -.c81:active { - -webkit-text-decoration: none; - text-decoration: none; -} - -.c81:disabled { - opacity: 50%; - cursor: auto; -} - -.c17 { - padding: 0; - width: -webkit-fit-content; - width: -moz-fit-content; - width: fit-content; - background: none; - -webkit-text-decoration: none; - text-decoration: none; -} - -.c17:focus { - -webkit-text-decoration: underline; - text-decoration: underline; -} - -.c17:hover { - opacity: 0.9; -} - -.c17:active { - -webkit-text-decoration: underline; - text-decoration: underline; -} - -.c17:disabled { - opacity: 50%; - cursor: auto; -} - -.c75 { - height: 340px; - width: 100%; - border-radius: 32px; - max-width: 1440px; - margin: 80px 0; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - -webkit-align-items: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: justify; - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between; - padding: 32px 48px; - box-shadow: 0px 10px 24px rgba(51,53,72,0.04); - background: url(Mesh.png),linear-gradient(93.06deg,#FF00C7 2.66%,#FF9FFB 98.99%); -} - -.c76 { - color: white; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; -} - -.c77 { - font-weight: 535; - font-size: 28px; - line-height: 36px; -} - -.c78 { - margin: 10px 10px 0 0; - font-weight: 535; - font-size: 16px; - line-height: 20px; -} - -.c79 { - width: 100%; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-align-items: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-transition: 250ms ease opacity; - transition: 250ms ease opacity; -} - -.c79:hover { - opacity: 0.6; -} - -.c82 { - color: white; - border: 1px solid white; -} - -.c43 { - display: grid; - grid-auto-rows: auto; - grid-row-gap: 4px; -} - -.c40 { - -webkit-filter: none; - filter: none; - opacity: 1; - -webkit-transition: opacity 250ms ease-in-out; - transition: opacity 250ms ease-in-out; -} - -.c14 { - display: inline-block; - height: inherit; -} - -.c35 { - opacity: 0; - -webkit-transition: opacity 250ms ease-in; - transition: opacity 250ms ease-in; - width: 24px; - height: 24px; - border-radius: 50%; -} - -.c34 { - width: 24px; - height: 24px; - background: #22222212; - -webkit-transition: background-color 250ms ease-in; - transition: background-color 250ms ease-in; - box-shadow: 0 0 1px white; - border-radius: 50%; -} - -.c33 { - position: relative; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; -} - -.c28 { - color: #222222; - pointer-events: auto; - width: 0; - position: relative; - font-weight: 485; - outline: none; - border: none; - -webkit-flex: 1 1 auto; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - background-color: transparent; - font-size: 28px; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - padding: 0px; - -webkit-appearance: textfield; - text-align: right; -} - -.c28::-webkit-search-decoration { - -webkit-appearance: none; -} - -.c28 [type='number'] { - -moz-appearance: textfield; -} - -.c28::-webkit-outer-spin-button, -.c28::-webkit-inner-spin-button { - -webkit-appearance: none; -} - -.c28::-webkit-input-placeholder { - color: #CECECE; -} - -.c28::-moz-placeholder { - color: #CECECE; -} - -.c28:-ms-input-placeholder { - color: #CECECE; -} - -.c28::placeholder { - color: #CECECE; -} - -.c24 { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-flow: column nowrap; - -ms-flex-flow: column nowrap; - flex-flow: column nowrap; - position: relative; - border-radius: 20px; - z-index: 1; - width: initial; - -webkit-transition: height 1s ease; - transition: height 1s ease; - will-change: height; -} - -.c25 { - min-height: 44px; - border-radius: 20px; - width: initial; -} - -.c31 { - -webkit-align-items: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - background-color: #FFFFFF; - opacity: 1; - color: #222222; - cursor: pointer; - height: 36px; - border-radius: 18px; - outline: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - border: 1px solid #22222212; - font-size: 24px; - font-weight: 485; - width: initial; - padding: 4px 8px 4px 4px; - gap: 8px; - -webkit-box-pack: justify; - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between; - margin-left: 12px; - box-shadow: 0px 0px 10px 0px rgba(34,34,34,0.04); - visibility: visible; - -webkit-animation: none; - animation: none; -} - -.c31:hover, -.c31:active { - background-color: #F9F9F9; -} - -.c31:before { - background-size: 100%; - border-radius: inherit; - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - content: ''; -} - -.c31:hover:before { - background-color: #98A1C014; -} - -.c31:active:before { - background-color: #B8C0DC3d; -} - -.c45 { - -webkit-align-items: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - background-color: #FC72FF; - opacity: 1; - color: #FFFFFF; - cursor: pointer; - height: 36px; - border-radius: 18px; - outline: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - border: 1px solid #FC72FF; - font-size: 24px; - font-weight: 485; - width: initial; - padding: 6px 6px 6px 8px; - gap: 8px; - -webkit-box-pack: justify; - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between; - margin-left: 12px; - box-shadow: 0px 0px 10px 0px rgba(34,34,34,0.04); - visibility: visible; - -webkit-animation: none; - animation: none; -} - -.c45:hover, -.c45:active { - background-color: #FC72FF; -} - -.c45:before { - background-size: 100%; - border-radius: inherit; - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - content: ''; -} - -.c45:hover:before { - background-color: #98A1C014; -} - -.c45:active:before { - background-color: #B8C0DC3d; -} - -.c27 { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-flow: row nowrap; - -ms-flex-flow: row nowrap; - flex-flow: row nowrap; - -webkit-align-items: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: justify; - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between; -} - -.c38 { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-flow: row nowrap; - -ms-flex-flow: row nowrap; - flex-flow: row nowrap; - -webkit-align-items: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - color: #7D7D7D; - font-size: 0.75rem; - line-height: 1rem; -} - -.c38 span:hover { - cursor: pointer; - color: #4a4a4a; -} - -.c39 { - -webkit-box-pack: end; - -webkit-justify-content: flex-end; - -ms-flex-pack: end; - justify-content: flex-end; - min-height: 24px; - padding: 8px 0px 0px 0px; -} - -.c32 { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-align-items: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: justify; - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between; - width: 100%; -} - -.c37 { - margin: 0 0.25rem 0 0.35rem; - height: 35%; - margin-left: 8px; -} - -.c37 path { - stroke: #222222; - stroke-width: 2px; -} - -.c46 { - margin: 0 0.25rem 0 0.35rem; - height: 35%; - margin-left: 8px; -} - -.c46 path { - stroke: #FFFFFF; - stroke-width: 2px; -} - -.c36 { - margin: 0 0.25rem 0 0.25rem; - font-size: 20px; - font-weight: 535; -} - -.c29 { - -webkit-filter: none; - filter: none; - opacity: 1; - -webkit-transition: opacity 250ms ease-in-out; - transition: opacity 250ms ease-in-out; - text-align: left; - font-size: 36px; - font-weight: 485; - max-height: 44px; -} - -.c3 { - padding: 68px 8px 0px; - max-width: 480px; - width: 100%; -} - -.c4 { - position: relative; - z-index: 1; - border: 1px solid #22222212; - -webkit-transition: -webkit-transform 250ms ease; - -webkit-transition: transform 250ms ease; - transition: transform 250ms ease; - border-radius: 24px; -} - -.c4:before { - content: ' '; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - position: absolute; - inset: 0; - -webkit-transform: scale(1.1); - -ms-transform: scale(1.1); - transform: scale(1.1); - -webkit-filter: blur(50px); - filter: blur(50px); - background-color: rgba(252,114,255,0.075); - z-index: -2; -} - -.c4:hover { - border: 1px solid #22222212; -} - -.c6 { - border-radius: 24px; - background: #FFFFFF; - z-index: -1; - padding: 8px; - padding-top: 12px; -} - -.c41 { - border-radius: 12px; - height: 40px; - width: 40px; - position: relative; - margin-top: -18px; - margin-bottom: -18px; - margin-left: auto; - margin-right: auto; - background-color: #F9F9F9; - border: 4px solid; - border-color: #FFFFFF; - z-index: 2; -} - -.c41:hover { - cursor: pointer; - opacity: 0.8; -} - -.c22 { - height: 24px; - width: 24px; -} - -.c22 > * { - fill: #7D7D7D; -} - -.c20 { - border: none; - background-color: transparent; - margin: 0; - padding: 0; - cursor: pointer; - outline: none; -} - -.c20:not([disabled]):hover { - opacity: 0.7; -} - -.c21 { - padding: 6px 12px; - border-radius: 16px; -} - -.c19 { - position: relative; -} - -.c18 { - color: #7D7D7D; - gap: 4px; - font-weight: 485; -} - -.c18:focus { - -webkit-text-decoration: none; - text-decoration: none; -} - -.c18:active { - -webkit-text-decoration: none; - text-decoration: none; -} - -.c10 { - margin-bottom: 10px; - color: #7D7D7D; -} - -.c12 { - padding: 0 12px; - gap: 16px; -} - -.c42 { - display: -webkit-inline-box; - display: -webkit-inline-flex; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-align-items: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - width: 100%; - height: 100%; -} - -.c23 { - background-color: #F9F9F9; - border-radius: 16px; - color: #7D7D7D; - font-size: 14px; - font-weight: 500; - height: 120px; - line-height: 20px; - padding: 16px; - position: relative; -} - -.c23:before { - box-sizing: border-box; - background-size: 100%; - border-radius: inherit; - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - pointer-events: none; - content: ''; - border: 1px solid #F9F9F9; -} - -.c23:hover:before { - border-color: #98A1C014; -} - -.c23:focus-within:before { - border-color: #B8C0DC3d; -} - -.c44 { - border-bottom: 1px solid #FFFFFF; -} - -.c0 { - position: absolute; - top: 0; - padding: 72px 0px 0px 0px; - width: 100%; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - -webkit-align-items: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-scroll-behavior: smooth; - -moz-scroll-behavior: smooth; - -ms-scroll-behavior: smooth; - scroll-behavior: smooth; - overflow-x: hidden; -} - -.c51 { - position: absolute; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-align-items: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - top: 0; - bottom: 0; - width: 100%; - min-height: 550px; - background: linear-gradient(rgba(255,255,255,0) 0%,rgb(255 255 255 /100%) 45%); - z-index: 990; - pointer-events: none; - height: calc(100vh - 48px); -} - -.c52 { - position: absolute; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-align-items: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - top: 0; - bottom: 0; - width: 100%; - overflow-y: hidden; - height: calc(100vh - 48px); -} - -.c53 { - position: absolute; - top: 68px; - bottom: 0; - background: radial-gradient(72.04% 72.04% at 50% 3.99%,#ff37eb 0%,rgba(166,151,255,0) 100%); - -webkit-filter: blur(72px); - filter: blur(72px); - border-radius: 24px; - max-width: 480px; - width: 100%; - height: 100%; -} - -.c54 { - position: absolute; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - -webkit-align-items: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: end; - -webkit-justify-content: flex-end; - -ms-flex-pack: end; - justify-content: flex-end; - width: 100%; - padding: 0 0 40px; - max-width: min(720px,90%); - min-height: 535px; - z-index: 990; - -webkit-transition: 250ms ease opacity; - transition: 250ms ease opacity; - height: calc(100vh - 120px); - pointer-events: none; -} - -.c54 * { - pointer-events: auto; -} - -.c63 { - display: -webkit-inline-box; - display: -webkit-inline-flex; - display: -ms-inline-flexbox; - display: inline-flex; - gap: 8px; - margin-top: 24px; - color: #7D7D7D; - -webkit-text-decoration: none; - text-decoration: none; - font-size: 16px; - line-height: 24px; - font-weight: 535; - text-align: center; - -webkit-align-items: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; -} - -.c63:hover { - color: #CECECE; -} - -.c55 { - color: transparent; - font-size: 36px; - line-height: 44px; - font-weight: 535; - text-align: center; - margin: 0 0 24px; - background: linear-gradient(10deg,rgba(255,79,184,1) 0%,rgba(255,159,251,1) 100%); - background-clip: text; - -webkit-background-clip: text; -} - -.c57 { - color: #7D7D7D; - font-size: 16px; - line-height: 24px; - font-weight: 535; - text-align: center; - max-width: 500px; - margin: 0 0 32px; -} - -.c56 { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; -} - -.c59 { - padding: 16px 0px; - border-radius: 24px; -} - -.c60 { - background: linear-gradient(93.06deg,#ff00c7 2.66%,#ff9ffb 98.99%); - border: none; - color: #FFFFFF; - -webkit-transition: all 250ms ease; - transition: all 250ms ease; -} - -.c60:hover { - box-shadow: 0px 0px 16px 0px #ff00c7; -} - -.c61 { - margin: 0px; - font-size: 16px; - font-weight: 535; - white-space: nowrap; -} - -.c58 { - max-width: 300px; - width: 100%; - pointer-events: auto; -} - -.c62 { - -webkit-align-items: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - color: #CECECE; - cursor: pointer; - font-size: 20px; - font-weight: 535; - margin: 18px 0 36px; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - visibility: hidden; - pointer-events: auto; - -webkit-transition: 250ms ease opacity; - transition: 250ms ease opacity; -} - -.c62:hover { - opacity: 0.6; -} - -.c64 { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - -webkit-align-items: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - padding: 0 24px 5rem; - width: 100%; - background: linear-gradient(179.82deg,rgba(255,255,255,0) 0.16%,#eaeaea 99.85%); -} - -.c65 { - display: grid; - gap: 12px; - width: 100%; - padding: 24px 0 0; - max-width: 1440px; - -webkit-scroll-margin: 72px 0 0; - -moz-scroll-margin: 72px 0 0; - -ms-scroll-margin: 72px 0 0; - scroll-margin: 72px 0 0; - grid-template-columns: 1fr; -} - -.c71 { - display: grid; - gap: 12px; - width: 100%; - padding: 24px 0 0; - max-width: 1440px; - -webkit-scroll-margin: 72px 0 0; - -moz-scroll-margin: 72px 0 0; - -ms-scroll-margin: 72px 0 0; - scroll-margin: 72px 0 0; - grid-template-columns: 1fr; -} - -.c1 { - height: calc(100vh - 48px); - width: 100%; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - -webkit-align-items: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - z-index: 1; -} - -.c5 * { - pointer-events: none; -} - -.c5:hover { - -webkit-transform: translateY(-4px); - -ms-transform: translateY(-4px); - transform: translateY(-4px); - -webkit-transition: -webkit-transform 250ms ease; - -webkit-transition: transform 250ms ease; - transition: transform 250ms ease; -} - -.c5:hover { - border: 1px solid #FC72FF; -} - -.c2 { - -webkit-text-decoration: none; - text-decoration: none; - max-width: 480px; - width: 100%; -} - -@media screen and (min-width:1024px) { - .c83 { - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; - -webkit-box-pack: justify; - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between; - } -} - -@media screen and (min-width:1024px) { - .c85 { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - } -} - -@media screen and (min-width:1024px) { - .c100 { - display: none; - } -} - -@media screen and (min-width:1024px) { - .c86 { - display: block; - } -} - -@media screen and (min-width:1280px) { - .c93 { - grid-template-columns: 1fr 1fr 1fr 1fr; - gap: 24px; - } -} - -@media screen and (min-width:1280px) { - .c94 { - margin: 0; - } -} - -@media screen and (min-width:640px) { - .c66 { - height: 360px; - } -} - -@media screen and (min-width:1280px) { - .c66 { - padding: 32px; - } -} - -@media screen and (min-width:640px) { - .c72 { - height: 260px; - } -} - -@media screen and (min-width:1280px) { - .c72 { - padding: 32px; - } -} - -@media screen and (min-width:1024px) { - .c68 { - font-size: 28px; - line-height: 36px; - } -} - -@media screen and (min-width:1280px) { - .c69 { - font-size: 20px; - line-height: 28px; - max-width: 480px; - } -} - -@media screen and (min-width:1280px) { - .c73 { - font-size: 20px; - line-height: 28px; - max-width: 480px; - } -} - -@media screen and (min-width:1024px) { - .c75 { - height: 140px; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; - } -} - -@media screen and (min-width:1280px) { - .c77 { - font-size: 28px; - line-height: 36px; - } -} - -@media screen and (min-width:1280px) { - .c78 { - font-size: 20px; - line-height: 28px; - } -} - -@media screen and (min-width:1024px) { - .c79 { - width: auto; - } -} - -@media only screen and (max-width:768px) { - .c3 { - padding-top: 48px; - } -} - -@media only screen and (max-width:640px) { - .c3 { - padding-top: 20px; - } -} - -@media screen and (min-width:768px) { - .c51 { - height: 100vh; - } -} - -@media screen and (min-width:768px) { - .c52 { - height: 100vh; - } -} - -@media screen and (min-width:640px) { - .c55 { - font-size: 48px; - line-height: 56px; - } -} - -@media screen and (min-width:768px) { - .c55 { - font-size: 64px; - line-height: 72px; - } -} - -@media screen and (min-width:768px) { - .c57 { - font-size: 20px; - line-height: 28px; - } -} - -@media screen and (min-width:640px) { - .c61 { - font-size: 20px; - } -} - -@media screen and (min-width:640px) { - .c62 { - visibility: visible; - } -} - -@media screen and (min-width:768px) { - .c64 { - padding: 0 96px 5rem; - } -} - -@media screen and (min-width:640px) { - .c65 { - grid-template-columns: 1fr; - gap: 32px; - } -} - -@media screen and (min-width:1024px) { - .c65 { - grid-template-columns: 1fr; - gap: 32px; - } -} - -@media screen and (min-width:640px) { - .c71 { - grid-template-columns: 1fr; - gap: 32px; - } -} - -@media screen and (min-width:1024px) { - .c71 { - grid-template-columns: 1fr 1fr 1fr; - gap: 32px; - } -} - -
-
- - -`; - -exports[`disable nft on landing page renders nft information and card 1`] = ` -.c7 { - box-sizing: border-box; - margin: 0; - min-width: 0; -} - -.c15 { - box-sizing: border-box; - margin: 0; - min-width: 0; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - display: inline-block; - text-align: center; - line-height: inherit; - -webkit-text-decoration: none; - text-decoration: none; - font-size: inherit; - padding-left: 16px; - padding-right: 16px; - padding-top: 8px; - padding-bottom: 8px; - color: white; - background-color: primary; - border: 0; - border-radius: 4px; -} - -.c47 { box-sizing: border-box; margin: 0; min-width: 0; @@ -2653,12 +84,33 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` width: fit-content; } -.c13 { - color: #222222; +.c27 { + color: #7D7D7D; } -.c26 { - color: #7D7D7D; +.c13 { + outline: none; + border: none; + font-size: inherit; + padding: 0; + margin: 0; + background: none; + cursor: pointer; + -webkit-transition-duration: 125ms; + transition-duration: 125ms; + -webkit-transition-timing-function: ease-in-out; + transition-timing-function: ease-in-out; + -webkit-transition-property: opacity,color,background-color; + transition-property: opacity,color,background-color; +} + +.c13:hover { + opacity: 0.6; +} + +.c13:focus { + -webkit-text-decoration: underline; + text-decoration: underline; } .c99 { @@ -2824,7 +276,7 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` color: #CECECE; } -.c66 { +.c67 { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; @@ -2852,39 +304,7 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` transition: 250ms ease border; } -.c66:hover { - border: 1px solid #CECECE; -} - -.c71 { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - background: white url(nftCard.png); - background-size: auto 100%; - background-position: right; - background-repeat: no-repeat; - background-origin: border-box; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-pack: justify; - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between; - -webkit-text-decoration: none; - text-decoration: none; - color: #222222; - padding: 24px; - height: 212px; - border-radius: 24px; - border: 1px solid transparent; - -webkit-transition: 250ms ease border; - transition: 250ms ease border; -} - -.c71:hover { +.c67:hover { border: 1px solid #CECECE; } @@ -2920,7 +340,7 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` border: 1px solid #CECECE; } -.c67 { +.c68 { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; @@ -2935,13 +355,13 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` justify-content: space-between; } -.c68 { +.c69 { font-size: 20px; line-height: 28px; font-weight: 535; } -.c69 { +.c70 { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; @@ -2971,7 +391,7 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` max-width: 480px; } -.c70 { +.c71 { color: #FC72FF; font-weight: 535; margin: 24px 0 0; @@ -2980,7 +400,7 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` transition: 250ms ease opacity; } -.c70:hover { +.c71:hover { opacity: 0.6; } @@ -2991,7 +411,7 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` max-width: 48px; } -.c50 { +.c51 { background-color: transparent; bottom: 0; border-radius: inherit; @@ -3005,7 +425,7 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` width: 100%; } -.c16 { +.c17 { padding: 16px; width: 100%; line-height: 24px; @@ -3044,20 +464,20 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` transform: perspective(1px) translateZ(0); } -.c16:disabled { +.c17:disabled { opacity: 50%; cursor: auto; pointer-events: none; } -.c16 > * { +.c17 > * { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } -.c16 > a { +.c17 > a { -webkit-text-decoration: none; text-decoration: none; } @@ -3119,40 +539,40 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` text-decoration: none; } -.c48 { +.c49 { background-color: #FFEFFF; color: #FC72FF; font-size: 20px; font-weight: 535; } -.c48:focus { +.c49:focus { box-shadow: 0 0 0 1pt #FFEFFF; background-color: #FFEFFF; } -.c48:hover { +.c49:hover { background-color: #FFEFFF; } -.c48:active { +.c49:active { box-shadow: 0 0 0 1pt #FFEFFF; background-color: #FFEFFF; } -.c48:hover .c49 { +.c49:hover .c50 { background-color: #98A1C014; } -.c48:active .c49 { +.c49:active .c50 { background-color: #B8C0DC3d; } -.c48:disabled { +.c49:disabled { opacity: 0.4; } -.c48:disabled:hover { +.c49:disabled:hover { cursor: auto; background-color: transparent; box-shadow: none; @@ -3160,7 +580,7 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` outline: none; } -.c30 { +.c31 { background-color: #FFFFFF; color: #7D7D7D; border: 1px solid #22222212; @@ -3168,11 +588,11 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` font-weight: 535; } -.c30:hover { +.c31:hover { background-color: #ececec; } -.c30:active { +.c31:active { background-color: #e0e0e0; } @@ -3213,7 +633,7 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` cursor: auto; } -.c17 { +.c18 { padding: 0; width: -webkit-fit-content; width: -moz-fit-content; @@ -3223,21 +643,21 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` text-decoration: none; } -.c17:focus { +.c18:focus { -webkit-text-decoration: underline; text-decoration: underline; } -.c17:hover { +.c18:hover { opacity: 0.9; } -.c17:active { +.c18:active { -webkit-text-decoration: underline; text-decoration: underline; } -.c17:disabled { +.c18:disabled { opacity: 50%; cursor: auto; } @@ -3318,13 +738,13 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` border: 1px solid white; } -.c43 { +.c44 { display: grid; grid-auto-rows: auto; grid-row-gap: 4px; } -.c40 { +.c41 { -webkit-filter: none; filter: none; opacity: 1; @@ -3332,12 +752,12 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` transition: opacity 250ms ease-in-out; } -.c14 { +.c15 { display: inline-block; height: inherit; } -.c35 { +.c36 { opacity: 0; -webkit-transition: opacity 250ms ease-in; transition: opacity 250ms ease-in; @@ -3346,7 +766,7 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` border-radius: 50%; } -.c34 { +.c35 { width: 24px; height: 24px; background: #22222212; @@ -3356,7 +776,7 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` border-radius: 50%; } -.c33 { +.c34 { position: relative; display: -webkit-box; display: -webkit-flex; @@ -3364,7 +784,7 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` display: flex; } -.c28 { +.c29 { color: #222222; pointer-events: auto; width: 0; @@ -3385,36 +805,36 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` text-align: right; } -.c28::-webkit-search-decoration { +.c29::-webkit-search-decoration { -webkit-appearance: none; } -.c28 [type='number'] { +.c29 [type='number'] { -moz-appearance: textfield; } -.c28::-webkit-outer-spin-button, -.c28::-webkit-inner-spin-button { +.c29::-webkit-outer-spin-button, +.c29::-webkit-inner-spin-button { -webkit-appearance: none; } -.c28::-webkit-input-placeholder { +.c29::-webkit-input-placeholder { color: #CECECE; } -.c28::-moz-placeholder { +.c29::-moz-placeholder { color: #CECECE; } -.c28:-ms-input-placeholder { +.c29:-ms-input-placeholder { color: #CECECE; } -.c28::placeholder { +.c29::placeholder { color: #CECECE; } -.c24 { +.c25 { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; @@ -3431,13 +851,13 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` will-change: height; } -.c25 { +.c26 { min-height: 44px; border-radius: 20px; width: initial; } -.c31 { +.c32 { -webkit-align-items: center; -webkit-box-align: center; -ms-flex-align: center; @@ -3470,12 +890,12 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` animation: none; } -.c31:hover, -.c31:active { +.c32:hover, +.c32:active { background-color: #F9F9F9; } -.c31:before { +.c32:before { background-size: 100%; border-radius: inherit; position: absolute; @@ -3486,15 +906,15 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` content: ''; } -.c31:hover:before { +.c32:hover:before { background-color: #98A1C014; } -.c31:active:before { +.c32:active:before { background-color: #B8C0DC3d; } -.c45 { +.c46 { -webkit-align-items: center; -webkit-box-align: center; -ms-flex-align: center; @@ -3527,12 +947,12 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` animation: none; } -.c45:hover, -.c45:active { +.c46:hover, +.c46:active { background-color: #FC72FF; } -.c45:before { +.c46:before { background-size: 100%; border-radius: inherit; position: absolute; @@ -3543,15 +963,15 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` content: ''; } -.c45:hover:before { +.c46:hover:before { background-color: #98A1C014; } -.c45:active:before { +.c46:active:before { background-color: #B8C0DC3d; } -.c27 { +.c28 { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; @@ -3569,7 +989,7 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` justify-content: space-between; } -.c38 { +.c39 { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; @@ -3586,12 +1006,12 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` line-height: 1rem; } -.c38 span:hover { +.c39 span:hover { cursor: pointer; color: #4a4a4a; } -.c39 { +.c40 { -webkit-box-pack: end; -webkit-justify-content: flex-end; -ms-flex-pack: end; @@ -3600,7 +1020,7 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` padding: 8px 0px 0px 0px; } -.c32 { +.c33 { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; @@ -3616,35 +1036,35 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` width: 100%; } -.c37 { +.c38 { margin: 0 0.25rem 0 0.35rem; height: 35%; margin-left: 8px; } -.c37 path { +.c38 path { stroke: #222222; stroke-width: 2px; } -.c46 { +.c47 { margin: 0 0.25rem 0 0.35rem; height: 35%; margin-left: 8px; } -.c46 path { +.c47 path { stroke: #FFFFFF; stroke-width: 2px; } -.c36 { +.c37 { margin: 0 0.25rem 0 0.25rem; font-size: 20px; font-weight: 535; } -.c29 { +.c30 { -webkit-filter: none; filter: none; opacity: 1; @@ -3701,7 +1121,7 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` padding-top: 12px; } -.c41 { +.c42 { border-radius: 12px; height: 40px; width: 40px; @@ -3716,21 +1136,21 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` z-index: 2; } -.c41:hover { +.c42:hover { cursor: pointer; opacity: 0.8; } -.c22 { +.c23 { height: 24px; width: 24px; } -.c22 > * { +.c23 > * { fill: #7D7D7D; } -.c20 { +.c21 { border: none; background-color: transparent; margin: 0; @@ -3739,35 +1159,45 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` outline: none; } -.c20:not([disabled]):hover { +.c21:not([disabled]):hover { opacity: 0.7; } -.c21 { +.c22 { padding: 6px 12px; border-radius: 16px; } -.c19 { +.c20 { position: relative; } -.c18 { +.c19 { color: #7D7D7D; gap: 4px; font-weight: 485; + -webkit-transition-duration: 125ms; + transition-duration: 125ms; + -webkit-transition-timing-function: ease-in-out; + transition-timing-function: ease-in-out; + -webkit-transition-property: opacity,color,background-color; + transition-property: opacity,color,background-color; } -.c18:focus { +.c19:focus { -webkit-text-decoration: none; text-decoration: none; } -.c18:active { +.c19:active { -webkit-text-decoration: none; text-decoration: none; } +.c19:hover { + opacity: 0.6; +} + .c10 { margin-bottom: 10px; color: #7D7D7D; @@ -3778,7 +1208,23 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` gap: 16px; } -.c42 { +.c14 { + color: #222222; + gap: 4px; + font-weight: 485; +} + +.c14:focus { + -webkit-text-decoration: none; + text-decoration: none; +} + +.c14:active { + -webkit-text-decoration: none; + text-decoration: none; +} + +.c43 { display: -webkit-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; @@ -3795,7 +1241,7 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` height: 100%; } -.c23 { +.c24 { background-color: #F9F9F9; border-radius: 16px; color: #7D7D7D; @@ -3807,7 +1253,7 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` position: relative; } -.c23:before { +.c24:before { box-sizing: border-box; background-size: 100%; border-radius: inherit; @@ -3821,15 +1267,15 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` border: 1px solid #F9F9F9; } -.c23:hover:before { +.c24:hover:before { border-color: #98A1C014; } -.c23:focus-within:before { +.c24:focus-within:before { border-color: #B8C0DC3d; } -.c44 { +.c45 { border-bottom: 1px solid #FFFFFF; } @@ -3856,7 +1302,7 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` overflow-x: hidden; } -.c51 { +.c52 { position: absolute; display: -webkit-box; display: -webkit-flex; @@ -3880,7 +1326,7 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` height: calc(100vh - 48px); } -.c52 { +.c53 { position: absolute; display: -webkit-box; display: -webkit-flex; @@ -3901,7 +1347,7 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` height: calc(100vh - 48px); } -.c53 { +.c54 { position: absolute; top: 68px; bottom: 0; @@ -3914,7 +1360,7 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` height: 100%; } -.c54 { +.c55 { position: absolute; display: -webkit-box; display: -webkit-flex; @@ -3942,11 +1388,11 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` pointer-events: none; } -.c54 * { +.c55 * { pointer-events: auto; } -.c63 { +.c64 { display: -webkit-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; @@ -3966,11 +1412,11 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` align-items: center; } -.c63:hover { +.c64:hover { color: #CECECE; } -.c55 { +.c56 { color: transparent; font-size: 36px; line-height: 44px; @@ -3982,7 +1428,7 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` -webkit-background-clip: text; } -.c57 { +.c58 { color: #7D7D7D; font-size: 16px; line-height: 24px; @@ -3992,7 +1438,7 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` margin: 0 0 32px; } -.c56 { +.c57 { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; @@ -4003,12 +1449,12 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` justify-content: center; } -.c59 { +.c60 { padding: 16px 0px; border-radius: 24px; } -.c60 { +.c61 { background: linear-gradient(93.06deg,#ff00c7 2.66%,#ff9ffb 98.99%); border: none; color: #FFFFFF; @@ -4016,24 +1462,24 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` transition: all 250ms ease; } -.c60:hover { +.c61:hover { box-shadow: 0px 0px 16px 0px #ff00c7; } -.c61 { +.c62 { margin: 0px; font-size: 16px; font-weight: 535; white-space: nowrap; } -.c58 { +.c59 { max-width: 300px; width: 100%; pointer-events: auto; } -.c62 { +.c63 { -webkit-align-items: center; -webkit-box-align: center; -ms-flex-align: center; @@ -4053,11 +1499,11 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` transition: 250ms ease opacity; } -.c62:hover { +.c63:hover { opacity: 0.6; } -.c64 { +.c65 { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; @@ -4074,7 +1520,7 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` background: linear-gradient(179.82deg,rgba(255,255,255,0) 0.16%,#eaeaea 99.85%); } -.c65 { +.c66 { display: grid; gap: 12px; width: 100%; @@ -4188,25 +1634,13 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` } @media screen and (min-width:640px) { - .c66 { + .c67 { height: 360px; } } @media screen and (min-width:1280px) { - .c66 { - padding: 32px; - } -} - -@media screen and (min-width:640px) { - .c71 { - height: 360px; - } -} - -@media screen and (min-width:1280px) { - .c71 { + .c67 { padding: 32px; } } @@ -4224,14 +1658,14 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` } @media screen and (min-width:1024px) { - .c68 { + .c69 { font-size: 28px; line-height: 36px; } } @media screen and (min-width:1280px) { - .c69 { + .c70 { font-size: 20px; line-height: 28px; max-width: 480px; @@ -4287,67 +1721,67 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` } } -@media screen and (min-width:768px) { - .c51 { - height: 100vh; - } -} - @media screen and (min-width:768px) { .c52 { height: 100vh; } } +@media screen and (min-width:768px) { + .c53 { + height: 100vh; + } +} + @media screen and (min-width:640px) { - .c55 { + .c56 { font-size: 48px; line-height: 56px; } } @media screen and (min-width:768px) { - .c55 { + .c56 { font-size: 64px; line-height: 72px; } } @media screen and (min-width:768px) { - .c57 { + .c58 { font-size: 20px; line-height: 28px; } } @media screen and (min-width:640px) { - .c61 { + .c62 { font-size: 20px; } } @media screen and (min-width:640px) { - .c62 { + .c63 { visibility: visible; } } @media screen and (min-width:768px) { - .c64 { + .c65 { padding: 0 96px 5rem; } } @media screen and (min-width:640px) { - .c65 { - grid-template-columns: 1fr 1fr; + .c66 { + grid-template-columns: 1fr; gap: 32px; } } @media screen and (min-width:1024px) { - .c65 { - grid-template-columns: 1fr 1fr; + .c66 { + grid-template-columns: 1fr; gap: 32px; } } @@ -4394,17 +1828,17 @@ exports[`disable nft on landing page renders nft information and card 1`] = `
-
Swap -
+
@@ -4545,10 +1979,10 @@ exports[`disable nft on landing page renders nft information and card 1`] = `
@@ -4577,27 +2011,27 @@ exports[`disable nft on landing page renders nft information and card 1`] = `
You receive
@@ -4664,11 +2098,11 @@ exports[`disable nft on landing page renders nft information and card 1`] = `
@@ -4680,53 +2114,53 @@ exports[`disable nft on landing page renders nft information and card 1`] = `

- Trade crypto and NFTs with confidence -

-
+ Trade crypto with confidence + +
- Buy, sell, and explore tokens and NFTs + Buy, sell, and explore tokens

Get started

Learn more
Buy crypto
@@ -4848,7 +2256,7 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` > Buy crypto with your credit card or bank account at the best rates.
Buy now @@ -4860,10 +2268,10 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` href="/pools" >
Earn
@@ -4879,7 +2287,7 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` > Provide liquidity to pools on Uniswap and earn fees on swaps.
Provide liquidity @@ -4893,10 +2301,10 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` target="_blank" >
Build dApps
@@ -4928,7 +2336,7 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` > Build apps and tools on the largest DeFi protocol on Ethereum.
Developer docs @@ -5052,12 +2460,6 @@ exports[`disable nft on landing page renders nft information and card 1`] = ` > Tokens - - NFTs -
`; + +exports[`disable nft on landing page renders nft information and card 1`] = ` +.c7 { + box-sizing: border-box; + margin: 0; + min-width: 0; +} + +.c16 { + box-sizing: border-box; + margin: 0; + min-width: 0; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + display: inline-block; + text-align: center; + line-height: inherit; + -webkit-text-decoration: none; + text-decoration: none; + font-size: inherit; + padding-left: 16px; + padding-right: 16px; + padding-top: 8px; + padding-bottom: 8px; + color: white; + background-color: primary; + border: 0; + border-radius: 4px; +} + +.c48 { + box-sizing: border-box; + margin: 0; + min-width: 0; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + display: inline-block; + text-align: center; + line-height: inherit; + -webkit-text-decoration: none; + text-decoration: none; + font-size: inherit; + padding-left: 16px; + padding-right: 16px; + padding-top: 8px; + padding-bottom: 8px; + color: white; + background-color: primary; + border: 0; + border-radius: 4px; + font-weight: 535; +} + +.c8 { + width: 100%; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + padding: 0; + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: start; + -webkit-justify-content: flex-start; + -ms-flex-pack: start; + justify-content: flex-start; +} + +.c9 { + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; +} + +.c11 { + width: -webkit-fit-content; + width: -moz-fit-content; + width: fit-content; +} + +.c27 { + color: #7D7D7D; +} + +.c13 { + outline: none; + border: none; + font-size: inherit; + padding: 0; + margin: 0; + background: none; + cursor: pointer; + -webkit-transition-duration: 125ms; + transition-duration: 125ms; + -webkit-transition-timing-function: ease-in-out; + transition-timing-function: ease-in-out; + -webkit-transition-property: opacity,color,background-color; + transition-property: opacity,color,background-color; +} + +.c13:hover { + opacity: 0.6; +} + +.c13:focus { + -webkit-text-decoration: underline; + text-decoration: underline; +} + +.c100 { + -webkit-text-decoration: none; + text-decoration: none; + cursor: pointer; + -webkit-transition-duration: 125ms; + transition-duration: 125ms; + color: #FC72FF; + stroke: #FC72FF; + font-weight: 500; +} + +.c100:hover { + opacity: 0.6; +} + +.c100:active { + opacity: 0.4; +} + +.c98 { + -webkit-text-decoration: none; + text-decoration: none; + cursor: pointer; + -webkit-transition-duration: 125ms; + transition-duration: 125ms; + color: #FC72FF; + stroke: #FC72FF; + font-weight: 500; +} + +.c98:hover { + opacity: 0.6; +} + +.c98:active { + opacity: 0.4; +} + +.c91 { + height: 32px; + width: 32px; + fill: #98A1C0; + opacity: 1; +} + +.c92 { + height: 32px; + width: 32px; + fill: #98A1C0; + opacity: 1; +} + +.c93 { + height: 32px; + width: 32px; + fill: #98A1C0; + opacity: 1; +} + +.c85 { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + width: 100%; + gap: 48px; + max-width: 1440px; +} + +.c86 { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; +} + +.c87 { + display: none; +} + +.c102 { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; +} + +.c88 { + width: 72px; + height: 72px; + display: none; +} + +.c89 { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + gap: 20px; + margin: 20px 0 0 0; +} + +.c90 { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; +} + +.c95 { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 12px; +} + +.c96 { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + gap: 12px; + width: 200px; + margin: 20px 0 0 0; +} + +.c97 { + font-size: 16px; + line-height: 20px; + font-weight: 535; +} + +.c101 { + font-size: 16px; + line-height: 20px; + color: #7D7D7D; +} + +.c99 { + font-size: 16px; + line-height: 20px; + color: #7D7D7D; +} + +.c94 { + font-size: 16px; + line-height: 20px; + margin: 1rem 0 0 0; + color: #CECECE; +} + +.c67 { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + background: white url(swapCard.png); + background-size: auto 100%; + background-position: right; + background-repeat: no-repeat; + background-origin: border-box; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; + -webkit-text-decoration: none; + text-decoration: none; + color: #222222; + padding: 24px; + height: 212px; + border-radius: 24px; + border: 1px solid transparent; + -webkit-transition: 250ms ease border; + transition: 250ms ease border; +} + +.c67:hover { + border: 1px solid #CECECE; +} + +.c72 { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + background: white url(nftCard.png); + background-size: auto 100%; + background-position: right; + background-repeat: no-repeat; + background-origin: border-box; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; + -webkit-text-decoration: none; + text-decoration: none; + color: #222222; + padding: 24px; + height: 212px; + border-radius: 24px; + border: 1px solid transparent; + -webkit-transition: 250ms ease border; + transition: 250ms ease border; +} + +.c72:hover { + border: 1px solid #CECECE; +} + +.c74 { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + background: #F9F9F9 url(undefined); + background-size: auto 100%; + background-position: right; + background-repeat: no-repeat; + background-origin: border-box; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; + -webkit-text-decoration: none; + text-decoration: none; + color: #222222; + padding: 24px; + height: 212px; + border-radius: 24px; + border: 1px solid #22222212; + -webkit-transition: 250ms ease border; + transition: 250ms ease border; +} + +.c74:hover { + border: 1px solid #CECECE; +} + +.c68 { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; +} + +.c69 { + font-size: 20px; + line-height: 28px; + font-weight: 535; +} + +.c70 { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + font-size: 16px; + line-height: 20px; + color: #222222; + padding: 0 40px 0 0; + max-width: 480px; +} + +.c75 { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + font-size: 16px; + line-height: 20px; + color: #7D7D7D; + padding: 0 40px 0 0; + max-width: 480px; +} + +.c71 { + color: #FC72FF; + font-weight: 535; + margin: 24px 0 0; + cursor: pointer; + -webkit-transition: 250ms ease opacity; + transition: 250ms ease opacity; +} + +.c71:hover { + opacity: 0.6; +} + +.c76 { + min-width: 20px; + min-height: 20px; + max-height: 48px; + max-width: 48px; +} + +.c51 { + background-color: transparent; + bottom: 0; + border-radius: inherit; + height: 100%; + left: 0; + position: absolute; + right: 0; + top: 0; + -webkit-transition: 150ms ease background-color; + transition: 150ms ease background-color; + width: 100%; +} + +.c17 { + padding: 16px; + width: 100%; + line-height: 24px; + font-weight: 535; + text-align: center; + border-radius: 16px; + outline: none; + border: 1px solid transparent; + color: #222222; + -webkit-text-decoration: none; + text-decoration: none; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-flex-wrap: nowrap; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + cursor: pointer; + position: relative; + z-index: 1; + will-change: transform; + -webkit-transition: -webkit-transform 450ms ease; + -webkit-transition: transform 450ms ease; + transition: transform 450ms ease; + -webkit-transform: perspective(1px) translateZ(0); + -ms-transform: perspective(1px) translateZ(0); + transform: perspective(1px) translateZ(0); +} + +.c17:disabled { + opacity: 50%; + cursor: auto; + pointer-events: none; +} + +.c17 > * { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.c17 > a { + -webkit-text-decoration: none; + text-decoration: none; +} + +.c82 { + padding: 16px; + width: 200px; + line-height: 24px; + font-weight: 535; + text-align: center; + border-radius: 16px; + outline: none; + border: 1px solid transparent; + color: #222222; + -webkit-text-decoration: none; + text-decoration: none; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-flex-wrap: nowrap; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + cursor: pointer; + position: relative; + z-index: 1; + will-change: transform; + -webkit-transition: -webkit-transform 450ms ease; + -webkit-transition: transform 450ms ease; + transition: transform 450ms ease; + -webkit-transform: perspective(1px) translateZ(0); + -ms-transform: perspective(1px) translateZ(0); + transform: perspective(1px) translateZ(0); +} + +.c82:disabled { + opacity: 50%; + cursor: auto; + pointer-events: none; +} + +.c82 > * { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.c82 > a { + -webkit-text-decoration: none; + text-decoration: none; +} + +.c49 { + background-color: #FFEFFF; + color: #FC72FF; + font-size: 20px; + font-weight: 535; +} + +.c49:focus { + box-shadow: 0 0 0 1pt #FFEFFF; + background-color: #FFEFFF; +} + +.c49:hover { + background-color: #FFEFFF; +} + +.c49:active { + box-shadow: 0 0 0 1pt #FFEFFF; + background-color: #FFEFFF; +} + +.c49:hover .c50 { + background-color: #98A1C014; +} + +.c49:active .c50 { + background-color: #B8C0DC3d; +} + +.c49:disabled { + opacity: 0.4; +} + +.c49:disabled:hover { + cursor: auto; + background-color: transparent; + box-shadow: none; + border: 1px solid transparent; + outline: none; +} + +.c31 { + background-color: #FFFFFF; + color: #7D7D7D; + border: 1px solid #22222212; + font-size: 16px; + font-weight: 535; +} + +.c31:hover { + background-color: #ececec; +} + +.c31:active { + background-color: #e0e0e0; +} + +.c83 { + background-color: transparent; + color: #FC72FF; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; +} + +.c83:focus { + -webkit-text-decoration: underline; + text-decoration: underline; +} + +.c83:hover { + -webkit-text-decoration: none; + text-decoration: none; +} + +.c83:active { + -webkit-text-decoration: none; + text-decoration: none; +} + +.c83:disabled { + opacity: 50%; + cursor: auto; +} + +.c18 { + padding: 0; + width: -webkit-fit-content; + width: -moz-fit-content; + width: fit-content; + background: none; + -webkit-text-decoration: none; + text-decoration: none; +} + +.c18:focus { + -webkit-text-decoration: underline; + text-decoration: underline; +} + +.c18:hover { + opacity: 0.9; +} + +.c18:active { + -webkit-text-decoration: underline; + text-decoration: underline; +} + +.c18:disabled { + opacity: 50%; + cursor: auto; +} + +.c77 { + height: 340px; + width: 100%; + border-radius: 32px; + max-width: 1440px; + margin: 80px 0; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; + padding: 32px 48px; + box-shadow: 0px 10px 24px rgba(51,53,72,0.04); + background: url(Mesh.png),linear-gradient(93.06deg,#FF00C7 2.66%,#FF9FFB 98.99%); +} + +.c78 { + color: white; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex: 1; + -ms-flex: 1; + flex: 1; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; +} + +.c79 { + font-weight: 535; + font-size: 28px; + line-height: 36px; +} + +.c80 { + margin: 10px 10px 0 0; + font-weight: 535; + font-size: 16px; + line-height: 20px; +} + +.c81 { + width: 100%; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-transition: 250ms ease opacity; + transition: 250ms ease opacity; +} + +.c81:hover { + opacity: 0.6; +} + +.c84 { + color: white; + border: 1px solid white; +} + +.c44 { + display: grid; + grid-auto-rows: auto; + grid-row-gap: 4px; +} + +.c41 { + -webkit-filter: none; + filter: none; + opacity: 1; + -webkit-transition: opacity 250ms ease-in-out; + transition: opacity 250ms ease-in-out; +} + +.c15 { + display: inline-block; + height: inherit; +} + +.c36 { + opacity: 0; + -webkit-transition: opacity 250ms ease-in; + transition: opacity 250ms ease-in; + width: 24px; + height: 24px; + border-radius: 50%; +} + +.c35 { + width: 24px; + height: 24px; + background: #22222212; + -webkit-transition: background-color 250ms ease-in; + transition: background-color 250ms ease-in; + box-shadow: 0 0 1px white; + border-radius: 50%; +} + +.c34 { + position: relative; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; +} + +.c29 { + color: #222222; + pointer-events: auto; + width: 0; + position: relative; + font-weight: 485; + outline: none; + border: none; + -webkit-flex: 1 1 auto; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + background-color: transparent; + font-size: 28px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + padding: 0px; + -webkit-appearance: textfield; + text-align: right; +} + +.c29::-webkit-search-decoration { + -webkit-appearance: none; +} + +.c29 [type='number'] { + -moz-appearance: textfield; +} + +.c29::-webkit-outer-spin-button, +.c29::-webkit-inner-spin-button { + -webkit-appearance: none; +} + +.c29::-webkit-input-placeholder { + color: #CECECE; +} + +.c29::-moz-placeholder { + color: #CECECE; +} + +.c29:-ms-input-placeholder { + color: #CECECE; +} + +.c29::placeholder { + color: #CECECE; +} + +.c25 { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-flow: column nowrap; + -ms-flex-flow: column nowrap; + flex-flow: column nowrap; + position: relative; + border-radius: 20px; + z-index: 1; + width: initial; + -webkit-transition: height 1s ease; + transition: height 1s ease; + will-change: height; +} + +.c26 { + min-height: 44px; + border-radius: 20px; + width: initial; +} + +.c32 { + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + background-color: #FFFFFF; + opacity: 1; + color: #222222; + cursor: pointer; + height: 36px; + border-radius: 18px; + outline: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + border: 1px solid #22222212; + font-size: 24px; + font-weight: 485; + width: initial; + padding: 4px 8px 4px 4px; + gap: 8px; + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; + margin-left: 12px; + box-shadow: 0px 0px 10px 0px rgba(34,34,34,0.04); + visibility: visible; + -webkit-animation: none; + animation: none; +} + +.c32:hover, +.c32:active { + background-color: #F9F9F9; +} + +.c32:before { + background-size: 100%; + border-radius: inherit; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + content: ''; +} + +.c32:hover:before { + background-color: #98A1C014; +} + +.c32:active:before { + background-color: #B8C0DC3d; +} + +.c46 { + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + background-color: #FC72FF; + opacity: 1; + color: #FFFFFF; + cursor: pointer; + height: 36px; + border-radius: 18px; + outline: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + border: 1px solid #FC72FF; + font-size: 24px; + font-weight: 485; + width: initial; + padding: 6px 6px 6px 8px; + gap: 8px; + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; + margin-left: 12px; + box-shadow: 0px 0px 10px 0px rgba(34,34,34,0.04); + visibility: visible; + -webkit-animation: none; + animation: none; +} + +.c46:hover, +.c46:active { + background-color: #FC72FF; +} + +.c46:before { + background-size: 100%; + border-radius: inherit; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + content: ''; +} + +.c46:hover:before { + background-color: #98A1C014; +} + +.c46:active:before { + background-color: #B8C0DC3d; +} + +.c28 { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-flow: row nowrap; + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; +} + +.c39 { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-flow: row nowrap; + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + color: #7D7D7D; + font-size: 0.75rem; + line-height: 1rem; +} + +.c39 span:hover { + cursor: pointer; + color: #4a4a4a; +} + +.c40 { + -webkit-box-pack: end; + -webkit-justify-content: flex-end; + -ms-flex-pack: end; + justify-content: flex-end; + min-height: 24px; + padding: 8px 0px 0px 0px; +} + +.c33 { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; + width: 100%; +} + +.c38 { + margin: 0 0.25rem 0 0.35rem; + height: 35%; + margin-left: 8px; +} + +.c38 path { + stroke: #222222; + stroke-width: 2px; +} + +.c47 { + margin: 0 0.25rem 0 0.35rem; + height: 35%; + margin-left: 8px; +} + +.c47 path { + stroke: #FFFFFF; + stroke-width: 2px; +} + +.c37 { + margin: 0 0.25rem 0 0.25rem; + font-size: 20px; + font-weight: 535; +} + +.c30 { + -webkit-filter: none; + filter: none; + opacity: 1; + -webkit-transition: opacity 250ms ease-in-out; + transition: opacity 250ms ease-in-out; + text-align: left; + font-size: 36px; + font-weight: 485; + max-height: 44px; +} + +.c3 { + padding: 68px 8px 0px; + max-width: 480px; + width: 100%; +} + +.c4 { + position: relative; + z-index: 1; + border: 1px solid #22222212; + -webkit-transition: -webkit-transform 250ms ease; + -webkit-transition: transform 250ms ease; + transition: transform 250ms ease; + border-radius: 24px; +} + +.c4:before { + content: ' '; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + position: absolute; + inset: 0; + -webkit-transform: scale(1.1); + -ms-transform: scale(1.1); + transform: scale(1.1); + -webkit-filter: blur(50px); + filter: blur(50px); + background-color: rgba(252,114,255,0.075); + z-index: -2; +} + +.c4:hover { + border: 1px solid #22222212; +} + +.c6 { + border-radius: 24px; + background: #FFFFFF; + z-index: -1; + padding: 8px; + padding-top: 12px; +} + +.c42 { + border-radius: 12px; + height: 40px; + width: 40px; + position: relative; + margin-top: -18px; + margin-bottom: -18px; + margin-left: auto; + margin-right: auto; + background-color: #F9F9F9; + border: 4px solid; + border-color: #FFFFFF; + z-index: 2; +} + +.c42:hover { + cursor: pointer; + opacity: 0.8; +} + +.c23 { + height: 24px; + width: 24px; +} + +.c23 > * { + fill: #7D7D7D; +} + +.c21 { + border: none; + background-color: transparent; + margin: 0; + padding: 0; + cursor: pointer; + outline: none; +} + +.c21:not([disabled]):hover { + opacity: 0.7; +} + +.c22 { + padding: 6px 12px; + border-radius: 16px; +} + +.c20 { + position: relative; +} + +.c19 { + color: #7D7D7D; + gap: 4px; + font-weight: 485; + -webkit-transition-duration: 125ms; + transition-duration: 125ms; + -webkit-transition-timing-function: ease-in-out; + transition-timing-function: ease-in-out; + -webkit-transition-property: opacity,color,background-color; + transition-property: opacity,color,background-color; +} + +.c19:focus { + -webkit-text-decoration: none; + text-decoration: none; +} + +.c19:active { + -webkit-text-decoration: none; + text-decoration: none; +} + +.c19:hover { + opacity: 0.6; +} + +.c10 { + margin-bottom: 10px; + color: #7D7D7D; +} + +.c12 { + padding: 0 12px; + gap: 16px; +} + +.c14 { + color: #222222; + gap: 4px; + font-weight: 485; +} + +.c14:focus { + -webkit-text-decoration: none; + text-decoration: none; +} + +.c14:active { + -webkit-text-decoration: none; + text-decoration: none; +} + +.c43 { + display: -webkit-inline-box; + display: -webkit-inline-flex; + display: -ms-inline-flexbox; + display: inline-flex; + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + width: 100%; + height: 100%; +} + +.c24 { + background-color: #F9F9F9; + border-radius: 16px; + color: #7D7D7D; + font-size: 14px; + font-weight: 500; + height: 120px; + line-height: 20px; + padding: 16px; + position: relative; +} + +.c24:before { + box-sizing: border-box; + background-size: 100%; + border-radius: inherit; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + pointer-events: none; + content: ''; + border: 1px solid #F9F9F9; +} + +.c24:hover:before { + border-color: #98A1C014; +} + +.c24:focus-within:before { + border-color: #B8C0DC3d; +} + +.c45 { + border-bottom: 1px solid #FFFFFF; +} + +.c0 { + position: absolute; + top: 0; + padding: 72px 0px 0px 0px; + width: 100%; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-scroll-behavior: smooth; + -moz-scroll-behavior: smooth; + -ms-scroll-behavior: smooth; + scroll-behavior: smooth; + overflow-x: hidden; +} + +.c52 { + position: absolute; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + top: 0; + bottom: 0; + width: 100%; + min-height: 550px; + background: linear-gradient(rgba(255,255,255,0) 0%,rgb(255 255 255 /100%) 45%); + z-index: 990; + pointer-events: none; + height: calc(100vh - 48px); +} + +.c53 { + position: absolute; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + top: 0; + bottom: 0; + width: 100%; + overflow-y: hidden; + height: calc(100vh - 48px); +} + +.c54 { + position: absolute; + top: 68px; + bottom: 0; + background: radial-gradient(72.04% 72.04% at 50% 3.99%,#ff37eb 0%,rgba(166,151,255,0) 100%); + -webkit-filter: blur(72px); + filter: blur(72px); + border-radius: 24px; + max-width: 480px; + width: 100%; + height: 100%; +} + +.c55 { + position: absolute; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: end; + -webkit-justify-content: flex-end; + -ms-flex-pack: end; + justify-content: flex-end; + width: 100%; + padding: 0 0 40px; + max-width: min(720px,90%); + min-height: 535px; + z-index: 990; + -webkit-transition: 250ms ease opacity; + transition: 250ms ease opacity; + height: calc(100vh - 120px); + pointer-events: none; +} + +.c55 * { + pointer-events: auto; +} + +.c64 { + display: -webkit-inline-box; + display: -webkit-inline-flex; + display: -ms-inline-flexbox; + display: inline-flex; + gap: 8px; + margin-top: 24px; + color: #7D7D7D; + -webkit-text-decoration: none; + text-decoration: none; + font-size: 16px; + line-height: 24px; + font-weight: 535; + text-align: center; + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; +} + +.c64:hover { + color: #CECECE; +} + +.c56 { + color: transparent; + font-size: 36px; + line-height: 44px; + font-weight: 535; + text-align: center; + margin: 0 0 24px; + background: linear-gradient(10deg,rgba(255,79,184,1) 0%,rgba(255,159,251,1) 100%); + background-clip: text; + -webkit-background-clip: text; +} + +.c58 { + color: #7D7D7D; + font-size: 16px; + line-height: 24px; + font-weight: 535; + text-align: center; + max-width: 500px; + margin: 0 0 32px; +} + +.c57 { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; +} + +.c60 { + padding: 16px 0px; + border-radius: 24px; +} + +.c61 { + background: linear-gradient(93.06deg,#ff00c7 2.66%,#ff9ffb 98.99%); + border: none; + color: #FFFFFF; + -webkit-transition: all 250ms ease; + transition: all 250ms ease; +} + +.c61:hover { + box-shadow: 0px 0px 16px 0px #ff00c7; +} + +.c62 { + margin: 0px; + font-size: 16px; + font-weight: 535; + white-space: nowrap; +} + +.c59 { + max-width: 300px; + width: 100%; + pointer-events: auto; +} + +.c63 { + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + color: #CECECE; + cursor: pointer; + font-size: 20px; + font-weight: 535; + margin: 18px 0 36px; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + visibility: hidden; + pointer-events: auto; + -webkit-transition: 250ms ease opacity; + transition: 250ms ease opacity; +} + +.c63:hover { + opacity: 0.6; +} + +.c65 { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + padding: 0 24px 5rem; + width: 100%; + background: linear-gradient(179.82deg,rgba(255,255,255,0) 0.16%,#eaeaea 99.85%); +} + +.c66 { + display: grid; + gap: 12px; + width: 100%; + padding: 24px 0 0; + max-width: 1440px; + -webkit-scroll-margin: 72px 0 0; + -moz-scroll-margin: 72px 0 0; + -ms-scroll-margin: 72px 0 0; + scroll-margin: 72px 0 0; + grid-template-columns: 1fr; +} + +.c73 { + display: grid; + gap: 12px; + width: 100%; + padding: 24px 0 0; + max-width: 1440px; + -webkit-scroll-margin: 72px 0 0; + -moz-scroll-margin: 72px 0 0; + -ms-scroll-margin: 72px 0 0; + scroll-margin: 72px 0 0; + grid-template-columns: 1fr; +} + +.c1 { + height: calc(100vh - 48px); + width: 100%; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + z-index: 1; +} + +.c5 * { + pointer-events: none; +} + +.c5:hover { + -webkit-transform: translateY(-4px); + -ms-transform: translateY(-4px); + transform: translateY(-4px); + -webkit-transition: -webkit-transform 250ms ease; + -webkit-transition: transform 250ms ease; + transition: transform 250ms ease; +} + +.c5:hover { + border: 1px solid #FC72FF; +} + +.c2 { + -webkit-text-decoration: none; + text-decoration: none; + max-width: 480px; + width: 100%; +} + +@media screen and (min-width:1024px) { + .c85 { + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; + } +} + +@media screen and (min-width:1024px) { + .c87 { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + } +} + +@media screen and (min-width:1024px) { + .c102 { + display: none; + } +} + +@media screen and (min-width:1024px) { + .c88 { + display: block; + } +} + +@media screen and (min-width:1280px) { + .c95 { + grid-template-columns: 1fr 1fr 1fr 1fr; + gap: 24px; + } +} + +@media screen and (min-width:1280px) { + .c96 { + margin: 0; + } +} + +@media screen and (min-width:640px) { + .c67 { + height: 360px; + } +} + +@media screen and (min-width:1280px) { + .c67 { + padding: 32px; + } +} + +@media screen and (min-width:640px) { + .c72 { + height: 360px; + } +} + +@media screen and (min-width:1280px) { + .c72 { + padding: 32px; + } +} + +@media screen and (min-width:640px) { + .c74 { + height: 260px; + } +} + +@media screen and (min-width:1280px) { + .c74 { + padding: 32px; + } +} + +@media screen and (min-width:1024px) { + .c69 { + font-size: 28px; + line-height: 36px; + } +} + +@media screen and (min-width:1280px) { + .c70 { + font-size: 20px; + line-height: 28px; + max-width: 480px; + } +} + +@media screen and (min-width:1280px) { + .c75 { + font-size: 20px; + line-height: 28px; + max-width: 480px; + } +} + +@media screen and (min-width:1024px) { + .c77 { + height: 140px; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + } +} + +@media screen and (min-width:1280px) { + .c79 { + font-size: 28px; + line-height: 36px; + } +} + +@media screen and (min-width:1280px) { + .c80 { + font-size: 20px; + line-height: 28px; + } +} + +@media screen and (min-width:1024px) { + .c81 { + width: auto; + } +} + +@media only screen and (max-width:768px) { + .c3 { + padding-top: 48px; + } +} + +@media only screen and (max-width:640px) { + .c3 { + padding-top: 20px; + } +} + +@media screen and (min-width:768px) { + .c52 { + height: 100vh; + } +} + +@media screen and (min-width:768px) { + .c53 { + height: 100vh; + } +} + +@media screen and (min-width:640px) { + .c56 { + font-size: 48px; + line-height: 56px; + } +} + +@media screen and (min-width:768px) { + .c56 { + font-size: 64px; + line-height: 72px; + } +} + +@media screen and (min-width:768px) { + .c58 { + font-size: 20px; + line-height: 28px; + } +} + +@media screen and (min-width:640px) { + .c62 { + font-size: 20px; + } +} + +@media screen and (min-width:640px) { + .c63 { + visibility: visible; + } +} + +@media screen and (min-width:768px) { + .c65 { + padding: 0 96px 5rem; + } +} + +@media screen and (min-width:640px) { + .c66 { + grid-template-columns: 1fr 1fr; + gap: 32px; + } +} + +@media screen and (min-width:1024px) { + .c66 { + grid-template-columns: 1fr 1fr; + gap: 32px; + } +} + +@media screen and (min-width:640px) { + .c73 { + grid-template-columns: 1fr; + gap: 32px; + } +} + +@media screen and (min-width:1024px) { + .c73 { + grid-template-columns: 1fr 1fr 1fr; + gap: 32px; + } +} + +
+
+ + +`; diff --git a/src/pages/Swap/index.tsx b/src/pages/Swap/index.tsx index d917d204f3..02ba2109a5 100644 --- a/src/pages/Swap/index.tsx +++ b/src/pages/Swap/index.tsx @@ -26,7 +26,7 @@ import PriceImpactModal from 'components/swap/PriceImpactModal' import PriceImpactWarning from 'components/swap/PriceImpactWarning' import { ArrowWrapper, PageWrapper, SwapWrapper } from 'components/swap/styled' import SwapDetailsDropdown from 'components/swap/SwapDetailsDropdown' -import SwapHeader from 'components/swap/SwapHeader' +import SwapHeader, { SwapTab } from 'components/swap/SwapHeader' import { SwitchLocaleLink } from 'components/SwitchLocaleLink' import TokenSafetyModal from 'components/TokenSafety/TokenSafetyModal' import { useConnectionReady } from 'connection/eagerlyConnect' @@ -601,8 +601,10 @@ export function Swap({ const isDark = useIsDarkMode() const isUniswapXDefaultEnabled = useUniswapXDefaultEnabled() + const [currentTab, setCurrentTab] = useState(SwapTab.Swap) + const swapElement = ( - + <> 0 && !dismissTokenWarning} tokenAddress={importTokensNotInDefault[0]?.address} @@ -611,7 +613,6 @@ export function Swap({ onCancel={handleDismissTokenWarning} showCancel={true} /> - {trade && showConfirm && ( {!showOptInSmall && !isUniswapXDefaultEnabled && } - + ) return ( - <> - {swapElement} + + { + setCurrentTab(tab) + }} + trade={trade} + autoSlippage={autoSlippage} + chainId={chainId} + /> + {/* todo: build Limit UI */} + {currentTab === SwapTab.Swap ? swapElement : undefined} {showOptInSmall && !isUniswapXDefaultEnabled && } - + ) }