From e81dc221ff5a12366633007bbd72137ec9d1fa0d Mon Sep 17 00:00:00 2001 From: brianshattuck Date: Wed, 12 Feb 2025 08:50:49 -0800 Subject: [PATCH 01/16] add launchpad menu and add hero section --- src/App.tsx | 7 +++ src/components/Header/Header.tsx | 8 ++++ src/pages/LaunchpadPage/HeroSection.tsx | 55 +++++++++++++++++++++++ src/pages/LaunchpadPage/LaunchpadPage.tsx | 17 +++++++ src/pages/LaunchpadPage/index.ts | 1 + 5 files changed, 88 insertions(+) create mode 100644 src/pages/LaunchpadPage/HeroSection.tsx create mode 100644 src/pages/LaunchpadPage/LaunchpadPage.tsx create mode 100644 src/pages/LaunchpadPage/index.ts diff --git a/src/App.tsx b/src/App.tsx index b75865ce3..1e61e082d 100755 --- a/src/App.tsx +++ b/src/App.tsx @@ -49,6 +49,7 @@ const MigrateV2DetailsPage = lazy(() => import('./pages/PoolsPage/v3/MigrateV2DetailsPage'), ); const PositionPage = lazy(() => import('./pages/PoolsPage/v3/PositionPage')); +const LaunchpadPage = lazy(() => import('./pages/LaunchpadPage')); import { PageLayout } from 'layouts'; import { Popups, TermsWrapper } from 'components'; @@ -191,6 +192,12 @@ const App: React.FC = () => { + + + + + + diff --git a/src/components/Header/Header.tsx b/src/components/Header/Header.tsx index 1984b0fb5..c46617a54 100644 --- a/src/components/Header/Header.tsx +++ b/src/components/Header/Header.tsx @@ -124,6 +124,14 @@ const Header: React.FC<{ onUpdateNewsletter: (val: boolean) => void }> = ({ }); } + const launchTab: HeaderMenuItem = { + text: 'QuickLaunch', + id: 'quick-launch', + link: '/launch', + isNew: true, + }; + menuItems.push(launchTab); + const perpsTab: HeaderMenuItem = { text: t('Perps'), id: 'earn-tab', diff --git a/src/pages/LaunchpadPage/HeroSection.tsx b/src/pages/LaunchpadPage/HeroSection.tsx new file mode 100644 index 000000000..32c33ed7f --- /dev/null +++ b/src/pages/LaunchpadPage/HeroSection.tsx @@ -0,0 +1,55 @@ +'use client'; +import React from 'react'; +// import Image from 'next/image'; +// import Button from 'components/common/Button'; +// import { useRouter } from 'next/navigation'; +import { Button, Box, Typography } from '@material-ui/core'; + +const HeroSection: React.FC<{ + caseLaunch: number; + openModal?: boolean; + setOpenModal?: any; +}> = ({ caseLaunch, openModal, setOpenModal }) => { + const handleClick = () => { + setOpenModal(!openModal); + }; + return ( + + + + Get exclusive early access to new project IDOs on Polygon + + + + + Web3 projects you can trust, supported by industry-leading creators + and funds. + + + + + + + ); +}; + +export default HeroSection; diff --git a/src/pages/LaunchpadPage/LaunchpadPage.tsx b/src/pages/LaunchpadPage/LaunchpadPage.tsx new file mode 100644 index 000000000..31b652527 --- /dev/null +++ b/src/pages/LaunchpadPage/LaunchpadPage.tsx @@ -0,0 +1,17 @@ +import React, { useState } from 'react'; +import HeroSection from 'pages/LaunchpadPage/HeroSection'; + +const LaunchpadPage: React.FC = () => { + const [openModal, setOpenModal] = useState(false); + return ( +
+ +
+ ); +}; + +export default LaunchpadPage; diff --git a/src/pages/LaunchpadPage/index.ts b/src/pages/LaunchpadPage/index.ts new file mode 100644 index 000000000..0b10e2cc0 --- /dev/null +++ b/src/pages/LaunchpadPage/index.ts @@ -0,0 +1 @@ +export { default } from './LaunchpadPage'; From 24a84bc44b471716d1128008c08c798e50835179 Mon Sep 17 00:00:00 2001 From: brianshattuck Date: Wed, 12 Feb 2025 09:30:09 -0800 Subject: [PATCH 02/16] update hero section --- .../images/launchpad/trustswap_logo_white.png | Bin 0 -> 38298 bytes src/pages/LaunchpadPage/HeroSection.tsx | 37 ++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 src/assets/images/launchpad/trustswap_logo_white.png diff --git a/src/assets/images/launchpad/trustswap_logo_white.png b/src/assets/images/launchpad/trustswap_logo_white.png new file mode 100644 index 0000000000000000000000000000000000000000..6b5b1c1d71baee3f15ff93795ad30efad55fb378 GIT binary patch literal 38298 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 + + + Coming Soon + + Get exclusive early access to new project IDOs on Polygon @@ -48,6 +65,26 @@ const HeroSection: React.FC<{ {caseLaunch !== 0 ? 'Get started' : 'Join The QuickLaunch Waitlist'} + +

+ Powered by +

+ poweredby +
); }; From 54fd00874f8a68e65c2a3c1f3ca385be164da133 Mon Sep 17 00:00:00 2001 From: brianshattuck Date: Wed, 12 Feb 2025 12:04:06 -0800 Subject: [PATCH 03/16] add StepsToJoin component --- src/constants/abis/v4/nft-pos-man.json | 2802 ++++++++--------- src/constants/abis/v4/swap-router.json | 2 +- src/pages/LaunchpadPage/HeroSection.tsx | 5 +- src/pages/LaunchpadPage/LaunchpadPage.tsx | 7 + src/pages/LaunchpadPage/StepsToJoin.tsx | 153 + .../containers/AddLiquidityButton/index.tsx | 2 +- src/pages/styles/launchpad.scss | 142 + 7 files changed, 1706 insertions(+), 1407 deletions(-) create mode 100644 src/pages/LaunchpadPage/StepsToJoin.tsx create mode 100644 src/pages/styles/launchpad.scss diff --git a/src/constants/abis/v4/nft-pos-man.json b/src/constants/abis/v4/nft-pos-man.json index 33a496bad..c560c164e 100644 --- a/src/constants/abis/v4/nft-pos-man.json +++ b/src/constants/abis/v4/nft-pos-man.json @@ -1,1403 +1,1403 @@ [ - { - "inputs": [ - { - "internalType": "address", - "name": "_factory", - "type": "address" - }, - { - "internalType": "address", - "name": "_WNativeToken", - "type": "address" - }, - { - "internalType": "address", - "name": "_tokenDescriptor_", - "type": "address" - }, - { - "internalType": "address", - "name": "_poolDeployer", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "tickOutOfRange", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "approved", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount0", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount1", - "type": "uint256" - } - ], - "name": "Collect", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint128", - "name": "liquidity", - "type": "uint128" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount0", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount1", - "type": "uint256" - } - ], - "name": "DecreaseLiquidity", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "FarmingFailed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint128", - "name": "liquidityDesired", - "type": "uint128" - }, - { - "indexed": false, - "internalType": "uint128", - "name": "actualLiquidity", - "type": "uint128" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount0", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount1", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "pool", - "type": "address" - } - ], - "name": "IncreaseLiquidity", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [], - "name": "DOMAIN_SEPARATOR", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "NONFUNGIBLE_POSITION_MANAGER_ADMINISTRATOR_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "PERMIT_TYPEHASH", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "WNativeToken", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount0Owed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount1Owed", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "algebraMintCallback", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "approve", - "type": "bool" - }, - { - "internalType": "address", - "name": "farmingAddress", - "type": "address" - } - ], - "name": "approveForFarming", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint128", - "name": "amount0Max", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "amount1Max", - "type": "uint128" - } - ], - "internalType": "struct INonfungiblePositionManager.CollectParams", - "name": "params", - "type": "tuple" - } - ], - "name": "collect", - "outputs": [ - { - "internalType": "uint256", - "name": "amount0", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount1", - "type": "uint256" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token0", - "type": "address" - }, - { - "internalType": "address", - "name": "token1", - "type": "address" - }, - { - "internalType": "address", - "name": "deployer", - "type": "address" - }, - { - "internalType": "uint160", - "name": "sqrtPriceX96", - "type": "uint160" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "createAndInitializePoolIfNecessary", - "outputs": [ - { - "internalType": "address", - "name": "pool", - "type": "address" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "uint128", - "name": "liquidity", - "type": "uint128" - }, - { - "internalType": "uint256", - "name": "amount0Min", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount1Min", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - } - ], - "internalType": "struct INonfungiblePositionManager.DecreaseLiquidityParams", - "name": "params", - "type": "tuple" - } - ], - "name": "decreaseLiquidity", - "outputs": [ - { - "internalType": "uint256", - "name": "amount0", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount1", - "type": "uint256" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "factory", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "farmingApprovals", - "outputs": [ - { - "internalType": "address", - "name": "farmingCenterAddress", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "farmingCenter", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "getApproved", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount0Desired", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount1Desired", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount0Min", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount1Min", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - } - ], - "internalType": "struct INonfungiblePositionManager.IncreaseLiquidityParams", - "name": "params", - "type": "tuple" - } - ], - "name": "increaseLiquidity", - "outputs": [ - { - "internalType": "uint128", - "name": "liquidity", - "type": "uint128" - }, - { - "internalType": "uint256", - "name": "amount0", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount1", - "type": "uint256" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "isApprovedOrOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "token0", - "type": "address" - }, - { - "internalType": "address", - "name": "token1", - "type": "address" - }, - { - "internalType": "address", - "name": "deployer", - "type": "address" - }, - { - "internalType": "int24", - "name": "tickLower", - "type": "int24" - }, - { - "internalType": "int24", - "name": "tickUpper", - "type": "int24" - }, - { - "internalType": "uint256", - "name": "amount0Desired", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount1Desired", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount0Min", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount1Min", - "type": "uint256" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - } - ], - "internalType": "struct INonfungiblePositionManager.MintParams", - "name": "params", - "type": "tuple" - } - ], - "name": "mint", - "outputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "uint128", - "name": "liquidity", - "type": "uint128" - }, - { - "internalType": "uint256", - "name": "amount0", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount1", - "type": "uint256" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes[]", - "name": "data", - "type": "bytes[]" - } - ], - "name": "multicall", - "outputs": [ - { - "internalType": "bytes[]", - "name": "results", - "type": "bytes[]" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "permit", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "poolDeployer", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "positions", - "outputs": [ - { - "internalType": "uint88", - "name": "nonce", - "type": "uint88" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "address", - "name": "token0", - "type": "address" - }, - { - "internalType": "address", - "name": "token1", - "type": "address" - }, - { - "internalType": "address", - "name": "deployer", - "type": "address" - }, - { - "internalType": "int24", - "name": "tickLower", - "type": "int24" - }, - { - "internalType": "int24", - "name": "tickUpper", - "type": "int24" - }, - { - "internalType": "uint128", - "name": "liquidity", - "type": "uint128" - }, - { - "internalType": "uint256", - "name": "feeGrowthInside0LastX128", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "feeGrowthInside1LastX128", - "type": "uint256" - }, - { - "internalType": "uint128", - "name": "tokensOwed0", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "tokensOwed1", - "type": "uint128" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "refundNativeToken", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "selfPermit", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "expiry", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "selfPermitAllowed", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "expiry", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "selfPermitAllowedIfNecessary", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "selfPermitIfNecessary", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newFarmingCenter", - "type": "address" - } - ], - "name": "setFarmingCenter", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountMinimum", - "type": "uint256" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - } - ], - "name": "sweepToken", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "toActive", - "type": "bool" - } - ], - "name": "switchFarmingStatus", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "tokenByIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "tokenFarmedIn", - "outputs": [ - { - "internalType": "address", - "name": "farmingCenterAddress", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "tokenOfOwnerByIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "tokenURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amountMinimum", - "type": "uint256" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - } - ], - "name": "unwrapWNativeToken", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } + { + "inputs": [ + { + "internalType": "address", + "name": "_factory", + "type": "address" + }, + { + "internalType": "address", + "name": "_WNativeToken", + "type": "address" + }, + { + "internalType": "address", + "name": "_tokenDescriptor_", + "type": "address" + }, + { + "internalType": "address", + "name": "_poolDeployer", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "tickOutOfRange", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount0", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount1", + "type": "uint256" + } + ], + "name": "Collect", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint128", + "name": "liquidity", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount0", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount1", + "type": "uint256" + } + ], + "name": "DecreaseLiquidity", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "FarmingFailed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint128", + "name": "liquidityDesired", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint128", + "name": "actualLiquidity", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount0", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount1", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "pool", + "type": "address" + } + ], + "name": "IncreaseLiquidity", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [], + "name": "DOMAIN_SEPARATOR", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "NONFUNGIBLE_POSITION_MANAGER_ADMINISTRATOR_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "PERMIT_TYPEHASH", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "WNativeToken", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount0Owed", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount1Owed", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "algebraMintCallback", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "approve", + "type": "bool" + }, + { + "internalType": "address", + "name": "farmingAddress", + "type": "address" + } + ], + "name": "approveForFarming", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint128", + "name": "amount0Max", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "amount1Max", + "type": "uint128" + } + ], + "internalType": "struct INonfungiblePositionManager.CollectParams", + "name": "params", + "type": "tuple" + } + ], + "name": "collect", + "outputs": [ + { + "internalType": "uint256", + "name": "amount0", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount1", + "type": "uint256" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token0", + "type": "address" + }, + { + "internalType": "address", + "name": "token1", + "type": "address" + }, + { + "internalType": "address", + "name": "deployer", + "type": "address" + }, + { + "internalType": "uint160", + "name": "sqrtPriceX96", + "type": "uint160" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "createAndInitializePoolIfNecessary", + "outputs": [ + { + "internalType": "address", + "name": "pool", + "type": "address" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "uint128", + "name": "liquidity", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "amount0Min", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount1Min", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + } + ], + "internalType": "struct INonfungiblePositionManager.DecreaseLiquidityParams", + "name": "params", + "type": "tuple" + } + ], + "name": "decreaseLiquidity", + "outputs": [ + { + "internalType": "uint256", + "name": "amount0", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount1", + "type": "uint256" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "factory", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "farmingApprovals", + "outputs": [ + { + "internalType": "address", + "name": "farmingCenterAddress", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "farmingCenter", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount0Desired", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount1Desired", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount0Min", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount1Min", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + } + ], + "internalType": "struct INonfungiblePositionManager.IncreaseLiquidityParams", + "name": "params", + "type": "tuple" + } + ], + "name": "increaseLiquidity", + "outputs": [ + { + "internalType": "uint128", + "name": "liquidity", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "amount0", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount1", + "type": "uint256" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "isApprovedOrOwner", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "token0", + "type": "address" + }, + { + "internalType": "address", + "name": "token1", + "type": "address" + }, + { + "internalType": "address", + "name": "deployer", + "type": "address" + }, + { + "internalType": "int24", + "name": "tickLower", + "type": "int24" + }, + { + "internalType": "int24", + "name": "tickUpper", + "type": "int24" + }, + { + "internalType": "uint256", + "name": "amount0Desired", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount1Desired", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount0Min", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount1Min", + "type": "uint256" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + } + ], + "internalType": "struct INonfungiblePositionManager.MintParams", + "name": "params", + "type": "tuple" + } + ], + "name": "mint", + "outputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "uint128", + "name": "liquidity", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "amount0", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount1", + "type": "uint256" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes[]", + "name": "data", + "type": "bytes[]" + } + ], + "name": "multicall", + "outputs": [ + { + "internalType": "bytes[]", + "name": "results", + "type": "bytes[]" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "name": "permit", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "poolDeployer", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "positions", + "outputs": [ + { + "internalType": "uint88", + "name": "nonce", + "type": "uint88" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "address", + "name": "token0", + "type": "address" + }, + { + "internalType": "address", + "name": "token1", + "type": "address" + }, + { + "internalType": "address", + "name": "deployer", + "type": "address" + }, + { + "internalType": "int24", + "name": "tickLower", + "type": "int24" + }, + { + "internalType": "int24", + "name": "tickUpper", + "type": "int24" + }, + { + "internalType": "uint128", + "name": "liquidity", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "feeGrowthInside0LastX128", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "feeGrowthInside1LastX128", + "type": "uint256" + }, + { + "internalType": "uint128", + "name": "tokensOwed0", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "tokensOwed1", + "type": "uint128" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "refundNativeToken", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "name": "selfPermit", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expiry", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "name": "selfPermitAllowed", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expiry", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "name": "selfPermitAllowedIfNecessary", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "name": "selfPermitIfNecessary", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newFarmingCenter", + "type": "address" + } + ], + "name": "setFarmingCenter", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amountMinimum", + "type": "uint256" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + } + ], + "name": "sweepToken", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "toActive", + "type": "bool" + } + ], + "name": "switchFarmingStatus", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "tokenByIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenFarmedIn", + "outputs": [ + { + "internalType": "address", + "name": "farmingCenterAddress", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "tokenOfOwnerByIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amountMinimum", + "type": "uint256" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + } + ], + "name": "unwrapWNativeToken", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "stateMutability": "payable", + "type": "receive" + } ] diff --git a/src/constants/abis/v4/swap-router.json b/src/constants/abis/v4/swap-router.json index 6502ca823..5cdbcad6b 100644 --- a/src/constants/abis/v4/swap-router.json +++ b/src/constants/abis/v4/swap-router.json @@ -641,4 +641,4 @@ "stateMutability": "payable", "type": "receive" } -] \ No newline at end of file +] diff --git a/src/pages/LaunchpadPage/HeroSection.tsx b/src/pages/LaunchpadPage/HeroSection.tsx index 5e5033a3f..b921fe9ed 100644 --- a/src/pages/LaunchpadPage/HeroSection.tsx +++ b/src/pages/LaunchpadPage/HeroSection.tsx @@ -1,8 +1,5 @@ 'use client'; import React from 'react'; -// import Image from 'next/image'; -// import Button from 'components/common/Button'; -// import { useRouter } from 'next/navigation'; import { Button, Box, Typography } from '@material-ui/core'; import TrustswapLogo from 'assets/images/launchpad/trustswap_logo_white.png'; @@ -15,7 +12,7 @@ const HeroSection: React.FC<{ setOpenModal(!openModal); }; return ( - + { const [openModal, setOpenModal] = useState(false); @@ -10,6 +12,11 @@ const LaunchpadPage: React.FC = () => { openModal={openModal} setOpenModal={setOpenModal} /> + ); }; diff --git a/src/pages/LaunchpadPage/StepsToJoin.tsx b/src/pages/LaunchpadPage/StepsToJoin.tsx new file mode 100644 index 000000000..c4e475b09 --- /dev/null +++ b/src/pages/LaunchpadPage/StepsToJoin.tsx @@ -0,0 +1,153 @@ +'use client'; +import React from 'react'; +import { Button, Box, Typography } from '@material-ui/core'; +import TrustswapLogo from 'assets/images/launchpad/trustswap_logo_white.png'; + +const StepsToJoin: React.FC<{ + caseLaunch: number; + openModal?: boolean; + setOpenModal?: any; +}> = ({ caseLaunch, openModal, setOpenModal }) => { + const steps = [ + { + title: 'Connect Wallet', + description: + 'Connect your Web3 wallet and, if you are not already on it, switch to the Polygon PoS network.', + icon: ( + + + + ), + }, + { + title: 'Complete KYC', + description: + 'To confirm your eligibility for participation in launchpad projects, please complete the KYC (Know Your Customer) process.', + icon: ( + + + + ), + }, + { + title: 'Lottery Participation', + description: + 'After KYC is approved, you can whitelist for your desired QuickLaunches and automatically enter the launch lottery.', + icon: ( + + + + ), + }, + { + title: 'Contribute funds', + description: + 'When you win the lottery you can contribute the allocated funds via the dashboard and wait for the IDO date to start claiming your tokens.', + icon: ( + + + + ), + }, + ]; + + const handleClick = () => { + setOpenModal(!openModal); + }; + return ( + + + + Getting Started + + + + + Participate in your first launchpad in 4 simple steps. + + + + {steps.map((step, index) => { + return ( + + + {step.icon} + + {step.title} + {step.description} + + + + ); + })} + + + + + + ); +}; + +export default StepsToJoin; diff --git a/src/pages/PoolsPage/v3/SupplyLiquidityV3/containers/AddLiquidityButton/index.tsx b/src/pages/PoolsPage/v3/SupplyLiquidityV3/containers/AddLiquidityButton/index.tsx index 1999b6a15..242fb0b80 100644 --- a/src/pages/PoolsPage/v3/SupplyLiquidityV3/containers/AddLiquidityButton/index.tsx +++ b/src/pages/PoolsPage/v3/SupplyLiquidityV3/containers/AddLiquidityButton/index.tsx @@ -286,7 +286,7 @@ export function AddLiquidityButton({ amountToWrap, wrappingETH, ]); - console.log('------isReady:', isReady) + console.log('------isReady:', isReady); const onAddLiquidity = () => { if (expertMode) { diff --git a/src/pages/styles/launchpad.scss b/src/pages/styles/launchpad.scss new file mode 100644 index 000000000..3e4c756c5 --- /dev/null +++ b/src/pages/styles/launchpad.scss @@ -0,0 +1,142 @@ +@use "styles/variables" as *; +@use "styles/breakpoints" as *; + +.section { + padding-left: 1rem; + padding-right: 1rem; + flex-direction: column; + display: flex; + margin-bottom: 2rem; + padding-bottom: 4rem; + + @media screen and (max-width: '900px') { + padding-top: 220px; + align-items: center; + } + & h3 { + text-transform: uppercase; + margin-bottom: 20px; + padding-top: 9px; + } + & h1 { + font-size: 55px; + font-weight: 700; + } + & h5 { + font-size: 15px; + color: $textSecondary; + } + & > button { + height: 56px; + width: 194px; + display: flex; + align-items: center; + justify-content: center; + } + + .cover_title { + max-width: 40%; + margin-bottom: 20px; + @media screen and (max-width: '900px') { + width: 100%; + max-width: 100%; + margin-bottom: 24px; + padding: 0 20px; + } + } + .cover_sub_title { + max-width: 40%; + margin-bottom: 20px; + @media screen and (max-width: '900px') { + width: 100%; + max-width: 100%; + padding: 0 40px; + margin-bottom: 40px; + } + } + .title { + font-size: 50px; + font-weight: 600; + line-height: 1.16; + @media screen and (max-width: '900px') { + width: 100%; + font-size: 32px; + text-align: center; + } + } + .subTitle { + font-size: 18px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: 1.67; + @media screen and (max-width: '900px') { + width: 100%; + font-size: 14px; + text-align: center; + } + } + + .title2 { + color: #EBECF2; + font-size: 24px; + font-weight: 600; + } +} + +.launchHeroSection { + display: flex; + flex-direction: column; + align-items: flex-start; + position: relative; + text-align: left; + z-index: 2; +} + +.stepsToJoin { + .step_list { + display: grid; + grid-template-columns: repeat(4, minmax(0, 1fr)); + gap: 1.25rem; + margin-bottom: 1.5rem; + } + + .step_item { + border-radius: 16px; + height: 280px; + -webkit-backdrop-filter: blur(24px); + backdrop-filter: blur(24px); + background-color: #9b9b9b0f; + padding: 1.5rem; + + .subTitle { + font-size: 20px; + font-weight: bold; + color: white; + margin-top: 1rem; + margin-bottom: 0.5rem; + } + + .desc { + font-size: 1rem; + font-weight: 500; + } + } + + .step_item_icon { + display: flex; + align-items: center; + justify-content: center; + width: 3rem; + height: 3rem; + border-radius: 0.5rem; + background-color: #222735; + margin-bottom: 1rem; + } + + .get_started_btn { + padding: 12px 16px; + border-radius: 0.75rem; + height: 48px; + } +} From 577c243efc6325de5736d9984a008c56a5454284 Mon Sep 17 00:00:00 2001 From: brianshattuck Date: Wed, 12 Feb 2025 17:35:56 -0800 Subject: [PATCH 04/16] add SocialMedia section --- .../images/launchpad/social_media_bg.png | Bin 0 -> 16208 bytes src/pages/LaunchpadPage/JoinSocialMedia.tsx | 43 +++ src/pages/LaunchpadPage/LaunchpadPage.tsx | 3 + src/pages/LaunchpadPage/SocialIcon.tsx | 32 ++ src/pages/styles/launchpad.scss | 299 +++++++++++------- 5 files changed, 254 insertions(+), 123 deletions(-) create mode 100644 src/assets/images/launchpad/social_media_bg.png create mode 100644 src/pages/LaunchpadPage/JoinSocialMedia.tsx create mode 100644 src/pages/LaunchpadPage/SocialIcon.tsx diff --git a/src/assets/images/launchpad/social_media_bg.png b/src/assets/images/launchpad/social_media_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..3a65edad8a45ff70e8f7c9d058074741f0d1af3b GIT binary patch literal 16208 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 Saeo|uhmw&{6t5LE4*7p(CSg_p literal 0 HcmV?d00001 diff --git a/src/pages/LaunchpadPage/JoinSocialMedia.tsx b/src/pages/LaunchpadPage/JoinSocialMedia.tsx new file mode 100644 index 000000000..b5482b611 --- /dev/null +++ b/src/pages/LaunchpadPage/JoinSocialMedia.tsx @@ -0,0 +1,43 @@ +'use client'; +import React from 'react'; +import { Button, Box, Typography } from '@material-ui/core'; +import { TelegramIcon, TwitterIcon } from './SocialIcon'; +import { Link } from 'react-router-dom'; +import SocialMediaBg from 'assets/images/launchpad/social_media_bg.png'; + +const JoinSocialMedia: React.FC = () => { + return ( + + + Follow on Social Media + + Follow QuickLaunch on social media channels for exclusive updates on + upcoming crypto launches, industry insights, and real-time + discussions. Connect with like-minded individuals and be the first to + know about the latest opportunities for IDOs on Polygon. + + + + + + + + + + + + social-media-bg + + + ); +}; + +export default JoinSocialMedia; diff --git a/src/pages/LaunchpadPage/LaunchpadPage.tsx b/src/pages/LaunchpadPage/LaunchpadPage.tsx index 1a52c7328..11f489992 100644 --- a/src/pages/LaunchpadPage/LaunchpadPage.tsx +++ b/src/pages/LaunchpadPage/LaunchpadPage.tsx @@ -1,6 +1,8 @@ import React, { useState } from 'react'; import HeroSection from 'pages/LaunchpadPage/HeroSection'; import StepsToJoin from 'pages/LaunchpadPage/StepsToJoin'; +import JoinSocialMedia from 'pages/LaunchpadPage/JoinSocialMedia'; + import 'pages/styles/launchpad.scss'; const LaunchpadPage: React.FC = () => { @@ -17,6 +19,7 @@ const LaunchpadPage: React.FC = () => { openModal={openModal} setOpenModal={setOpenModal} /> + ); }; diff --git a/src/pages/LaunchpadPage/SocialIcon.tsx b/src/pages/LaunchpadPage/SocialIcon.tsx new file mode 100644 index 000000000..bcc9ba185 --- /dev/null +++ b/src/pages/LaunchpadPage/SocialIcon.tsx @@ -0,0 +1,32 @@ +/* eslint-disable react/react-in-jsx-scope */ +export const TelegramIcon: React.FC> = ( + props, +) => ( + + + +); + +export const YoutubeIcon: React.FC> = (props) => ( + + + +); + +export const DiscordIcon: React.FC> = (props) => ( + + + +); + +export const GithubIcon: React.FC> = (props) => ( + + + +); + +export const TwitterIcon: React.FC> = (props) => ( + + + +); diff --git a/src/pages/styles/launchpad.scss b/src/pages/styles/launchpad.scss index 3e4c756c5..6ca2a775e 100644 --- a/src/pages/styles/launchpad.scss +++ b/src/pages/styles/launchpad.scss @@ -2,141 +2,194 @@ @use "styles/breakpoints" as *; .section { - padding-left: 1rem; - padding-right: 1rem; - flex-direction: column; + padding-left: 1rem; + padding-right: 1rem; + flex-direction: column; + display: flex; + margin-bottom: 2rem; + padding-bottom: 4rem; + + @media screen and (max-width: '900px') { + padding-top: 220px; + align-items: center; + } + + & h3 { + text-transform: uppercase; + margin-bottom: 20px; + padding-top: 9px; + } + + & h1 { + font-size: 55px; + font-weight: 700; + } + + & h5 { + font-size: 15px; + color: $textSecondary; + } + + &>button { + height: 56px; + width: 194px; display: flex; - margin-bottom: 2rem; - padding-bottom: 4rem; + align-items: center; + justify-content: center; + } + + .cover_title { + max-width: 40%; + margin-bottom: 20px; + + @media screen and (max-width: '900px') { + width: 100%; + max-width: 100%; + margin-bottom: 24px; + padding: 0 20px; + } + } + + .cover_sub_title { + max-width: 40%; + margin-bottom: 20px; + + @media screen and (max-width: '900px') { + width: 100%; + max-width: 100%; + padding: 0 40px; + margin-bottom: 40px; + } + } + + .title { + font-size: 50px; + font-weight: 600; + line-height: 1.16; + + @media screen and (max-width: '900px') { + width: 100%; + font-size: 32px; + text-align: center; + } + } + + .subTitle { + font-size: 18px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: 1.67; @media screen and (max-width: '900px') { - padding-top: 220px; - align-items: center; - } - & h3 { - text-transform: uppercase; - margin-bottom: 20px; - padding-top: 9px; - } - & h1 { - font-size: 55px; - font-weight: 700; - } - & h5 { - font-size: 15px; - color: $textSecondary; - } - & > button { - height: 56px; - width: 194px; - display: flex; - align-items: center; - justify-content: center; - } - - .cover_title { - max-width: 40%; - margin-bottom: 20px; - @media screen and (max-width: '900px') { - width: 100%; - max-width: 100%; - margin-bottom: 24px; - padding: 0 20px; - } - } - .cover_sub_title { - max-width: 40%; - margin-bottom: 20px; - @media screen and (max-width: '900px') { - width: 100%; - max-width: 100%; - padding: 0 40px; - margin-bottom: 40px; - } - } - .title { - font-size: 50px; - font-weight: 600; - line-height: 1.16; - @media screen and (max-width: '900px') { - width: 100%; - font-size: 32px; - text-align: center; - } - } - .subTitle { - font-size: 18px; - font-weight: normal; - font-stretch: normal; - font-style: normal; - line-height: 1.67; - @media screen and (max-width: '900px') { - width: 100%; - font-size: 14px; - text-align: center; - } - } - - .title2 { - color: #EBECF2; - font-size: 24px; - font-weight: 600; - } + width: 100%; + font-size: 14px; + text-align: center; + } + } + + .title2 { + color: #EBECF2; + font-size: 24px; + font-weight: 600; + } } .launchHeroSection { - display: flex; - flex-direction: column; - align-items: flex-start; - position: relative; - text-align: left; - z-index: 2; + display: flex; + flex-direction: column; + align-items: flex-start; + position: relative; + text-align: left; + z-index: 2; } .stepsToJoin { - .step_list { - display: grid; - grid-template-columns: repeat(4, minmax(0, 1fr)); - gap: 1.25rem; - margin-bottom: 1.5rem; - } + .step_list { + display: grid; + grid-template-columns: repeat(4, minmax(0, 1fr)); + gap: 1.25rem; + margin-bottom: 1.5rem; + } - .step_item { - border-radius: 16px; - height: 280px; - -webkit-backdrop-filter: blur(24px); - backdrop-filter: blur(24px); - background-color: #9b9b9b0f; - padding: 1.5rem; - - .subTitle { - font-size: 20px; - font-weight: bold; - color: white; - margin-top: 1rem; - margin-bottom: 0.5rem; - } - - .desc { - font-size: 1rem; - font-weight: 500; - } - } + .step_item { + border-radius: 16px; + height: 280px; + -webkit-backdrop-filter: blur(24px); + backdrop-filter: blur(24px); + background-color: #9b9b9b0f; + padding: 1.5rem; - .step_item_icon { - display: flex; - align-items: center; - justify-content: center; - width: 3rem; - height: 3rem; - border-radius: 0.5rem; - background-color: #222735; - margin-bottom: 1rem; + .subTitle { + font-size: 20px; + font-weight: bold; + color: white; + margin-top: 1rem; + margin-bottom: 0.5rem; } - .get_started_btn { - padding: 12px 16px; - border-radius: 0.75rem; - height: 48px; + .desc { + font-size: 1rem; + font-weight: 500; + line-height: 1.5rem; } + } + + .step_item_icon { + display: flex; + align-items: center; + justify-content: center; + width: 3rem; + height: 3rem; + border-radius: 0.5rem; + background-color: #222735; + margin-bottom: 1rem; + } + + .get_started_btn { + padding: 12px 16px; + border-radius: 0.75rem; + height: 48px; + } } + +.socialMediaSection { + background: #1C1E29; + border-radius: 1.5rem; + padding: 2rem; + align-items: start; + position: relative; + + .cover_title { + max-width: 734px; + } + + .title2 { + font-size: 2rem; + margin-bottom: 0.75rem; + } + + .cover_social_icons { + display: flex; + gap: 1.25rem; + margin-top: 0.5rem; + margin-bottom: 1rem; + } + + .social_icon { + width: 1.5rem; + height: 1.5rem; + } + + .social_media_bg { + position: absolute; + right: 0; + bottom: 0; + z-index: 0; + + img { + height: 250px; + width: 250px; + } + } +} \ No newline at end of file From fc9648c2208ffd0c1e8b9ffe82e2b37e5a5665f5 Mon Sep 17 00:00:00 2001 From: brianshattuck Date: Wed, 12 Feb 2025 17:56:05 -0800 Subject: [PATCH 05/16] fix issues on mobile size --- src/pages/LaunchpadPage/JoinSocialMedia.tsx | 2 +- src/pages/styles/launchpad.scss | 25 ++++++++++++--------- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/src/pages/LaunchpadPage/JoinSocialMedia.tsx b/src/pages/LaunchpadPage/JoinSocialMedia.tsx index b5482b611..a2fac0318 100644 --- a/src/pages/LaunchpadPage/JoinSocialMedia.tsx +++ b/src/pages/LaunchpadPage/JoinSocialMedia.tsx @@ -7,7 +7,7 @@ import SocialMediaBg from 'assets/images/launchpad/social_media_bg.png'; const JoinSocialMedia: React.FC = () => { return ( - + Follow on Social Media diff --git a/src/pages/styles/launchpad.scss b/src/pages/styles/launchpad.scss index 6ca2a775e..bfb4d6e72 100644 --- a/src/pages/styles/launchpad.scss +++ b/src/pages/styles/launchpad.scss @@ -41,12 +41,10 @@ .cover_title { max-width: 40%; margin-bottom: 20px; - @media screen and (max-width: '900px') { width: 100%; max-width: 100%; margin-bottom: 24px; - padding: 0 20px; } } @@ -57,7 +55,6 @@ @media screen and (max-width: '900px') { width: 100%; max-width: 100%; - padding: 0 40px; margin-bottom: 40px; } } @@ -70,7 +67,6 @@ @media screen and (max-width: '900px') { width: 100%; font-size: 32px; - text-align: center; } } @@ -80,17 +76,11 @@ font-stretch: normal; font-style: normal; line-height: 1.67; - - @media screen and (max-width: '900px') { - width: 100%; - font-size: 14px; - text-align: center; - } } .title2 { color: #EBECF2; - font-size: 24px; + font-size: 2rem; font-weight: 600; } } @@ -105,11 +95,23 @@ } .stepsToJoin { + padding-top: 0; .step_list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; margin-bottom: 1.5rem; + + @media (max-width: 1280px) { + grid-template-columns: repeat(2, minmax(0, 1fr)); + + } + + @media (max-width: 767px) { + grid-template-columns: repeat(1, minmax(0, 1fr)); + + } + } .step_item { @@ -126,6 +128,7 @@ color: white; margin-top: 1rem; margin-bottom: 0.5rem; + text-align: start; } .desc { From f2effb538853c43c8406947588c2243b211f962d Mon Sep 17 00:00:00 2001 From: brianshattuck Date: Wed, 12 Feb 2025 18:15:42 -0800 Subject: [PATCH 06/16] add arrow in launchpad --- src/pages/LaunchpadPage/StepsToJoin.tsx | 46 ++++++++++++++++++++++++- src/pages/styles/launchpad.scss | 28 +++++++++++++-- 2 files changed, 71 insertions(+), 3 deletions(-) diff --git a/src/pages/LaunchpadPage/StepsToJoin.tsx b/src/pages/LaunchpadPage/StepsToJoin.tsx index c4e475b09..959d864b8 100644 --- a/src/pages/LaunchpadPage/StepsToJoin.tsx +++ b/src/pages/LaunchpadPage/StepsToJoin.tsx @@ -124,7 +124,51 @@ const StepsToJoin: React.FC<{ return ( - {step.icon} + + {step.icon} + + + + + + + + + + + + + {step.title} {step.description} diff --git a/src/pages/styles/launchpad.scss b/src/pages/styles/launchpad.scss index bfb4d6e72..54e03b858 100644 --- a/src/pages/styles/launchpad.scss +++ b/src/pages/styles/launchpad.scss @@ -104,12 +104,10 @@ @media (max-width: 1280px) { grid-template-columns: repeat(2, minmax(0, 1fr)); - } @media (max-width: 767px) { grid-template-columns: repeat(1, minmax(0, 1fr)); - } } @@ -138,6 +136,28 @@ } } + .step_item_icon_cover { + display: flex; + justify-content: space-between; + align-items: center; + + .arrow_desktop { + display: block; + color: #4d5d7994; + @media (max-width: 1280px) { + display: none; + } + } + + .arrow_mobile { + display: none; + transform: rotate(90deg); + @media (max-width: 1280px) { + display: block; + } + } + } + .step_item_icon { display: flex; align-items: center; @@ -172,6 +192,10 @@ margin-bottom: 0.75rem; } + .desc { + margin-bottom: 1.5rem; + } + .cover_social_icons { display: flex; gap: 1.25rem; From 507891d9791f902bf8669e0ccff31a86929f3b4c Mon Sep 17 00:00:00 2001 From: brianshattuck Date: Wed, 12 Feb 2025 18:46:13 -0800 Subject: [PATCH 07/16] add CTA section --- .vscode/settings.json | 3 ++ src/pages/LaunchpadPage/CTA.tsx | 33 +++++++++++++++ src/pages/LaunchpadPage/FAQ.tsx | 9 ++++ src/pages/LaunchpadPage/LaunchpadPage.tsx | 4 ++ src/pages/styles/launchpad.scss | 51 +++++++++++++++++++++++ 5 files changed, 100 insertions(+) create mode 100644 .vscode/settings.json create mode 100644 src/pages/LaunchpadPage/CTA.tsx create mode 100644 src/pages/LaunchpadPage/FAQ.tsx diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 000000000..78664b273 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "editor.tabSize": 2 +} diff --git a/src/pages/LaunchpadPage/CTA.tsx b/src/pages/LaunchpadPage/CTA.tsx new file mode 100644 index 000000000..8f1ca3b61 --- /dev/null +++ b/src/pages/LaunchpadPage/CTA.tsx @@ -0,0 +1,33 @@ +'use client'; +import React from 'react'; +import { Button, Box, Typography } from '@material-ui/core'; + +const CTA: React.FC = () => { + const handleOpenGoogleForm = () => { + window.open( + 'https://docs.google.com/forms/d/e/1FAIpQLSf5C5pJwVt7jNrlO6TmmWdRB1UvLcxYZDbtALJgAlQzwQeOxw/viewform', + '_blank', + ); + }; + + return ( + + + + Ready to launch your project on Polygon with QuickLaunch? Apply below! + + + + + + + ); +}; + +export default CTA; diff --git a/src/pages/LaunchpadPage/FAQ.tsx b/src/pages/LaunchpadPage/FAQ.tsx new file mode 100644 index 000000000..518f9056a --- /dev/null +++ b/src/pages/LaunchpadPage/FAQ.tsx @@ -0,0 +1,9 @@ +'use client'; +import React from 'react'; +import { Button, Box, Typography } from '@material-ui/core'; + +const FAQ: React.FC = () => { + return ; +}; + +export default FAQ; diff --git a/src/pages/LaunchpadPage/LaunchpadPage.tsx b/src/pages/LaunchpadPage/LaunchpadPage.tsx index 11f489992..776a74373 100644 --- a/src/pages/LaunchpadPage/LaunchpadPage.tsx +++ b/src/pages/LaunchpadPage/LaunchpadPage.tsx @@ -2,6 +2,8 @@ import React, { useState } from 'react'; import HeroSection from 'pages/LaunchpadPage/HeroSection'; import StepsToJoin from 'pages/LaunchpadPage/StepsToJoin'; import JoinSocialMedia from 'pages/LaunchpadPage/JoinSocialMedia'; +import CTA from 'pages/LaunchpadPage/CTA'; +import FAQ from 'pages/LaunchpadPage/FAQ'; import 'pages/styles/launchpad.scss'; @@ -20,6 +22,8 @@ const LaunchpadPage: React.FC = () => { setOpenModal={setOpenModal} /> + + ); }; diff --git a/src/pages/styles/launchpad.scss b/src/pages/styles/launchpad.scss index 54e03b858..1046e24a2 100644 --- a/src/pages/styles/launchpad.scss +++ b/src/pages/styles/launchpad.scss @@ -182,6 +182,8 @@ padding: 2rem; align-items: start; position: relative; + margin-left: 1rem; + margin-right: 1rem; .cover_title { max-width: 734px; @@ -190,6 +192,7 @@ .title2 { font-size: 2rem; margin-bottom: 0.75rem; + font-weight: 600; } .desc { @@ -219,4 +222,52 @@ width: 250px; } } +} + +.faqSection { + margin-bottom: 120px; + @media (max-width: 1280px) { + margin-bottom: 88px; + } +} + +.ctaSection { + display: flex; + flex-direction: column; + align-items: center; + background: #1C1E29; + border-radius: 1.5rem; + padding: 2rem; + position: relative; + margin-left: 1rem; + margin-right: 1rem; + margin-bottom: 120px; + + @media (max-width: 1280px) { + margin-bottom: 88px; + } + + .title { + font-size: 1.75rem; + text-align: center; + + @media (max-width: 768px) { + font-size: 1.5rem; + } + + } + + .cover-btn { + margin-top: 50px; + @media (max-width: 768px) { + margin-top: 1.5rem; + } + } + + .cta-btn { + width: 250px; + height: 44px; + font-weight: 600; + border-radius: 0.5rem; + } } \ No newline at end of file From 9ac622a26ef325ce58645f8b6c4a08df6522f8a2 Mon Sep 17 00:00:00 2001 From: brianshattuck Date: Thu, 13 Feb 2025 01:30:23 -0800 Subject: [PATCH 08/16] add background image on CTA tab --- src/assets/images/launchpad/cta_bg.png | Bin 0 -> 140755 bytes src/pages/LaunchpadPage/CTA.tsx | 4 ++++ src/pages/styles/launchpad.scss | 15 +++++++++++++++ 3 files changed, 19 insertions(+) create mode 100644 src/assets/images/launchpad/cta_bg.png diff --git a/src/assets/images/launchpad/cta_bg.png b/src/assets/images/launchpad/cta_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..3017b86c0763c9528379b55f255c07ef5f3d9873 GIT binary patch literal 140755 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¥)22-=wv+Q9bm{gk&tc%)ILu;K$RzO9MS?=1eh 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 { const handleOpenGoogleForm = () => { @@ -26,6 +27,9 @@ const CTA: React.FC = () => { Apply now + + cta-bg + ); }; diff --git a/src/pages/styles/launchpad.scss b/src/pages/styles/launchpad.scss index 1046e24a2..4b4ef9881 100644 --- a/src/pages/styles/launchpad.scss +++ b/src/pages/styles/launchpad.scss @@ -270,4 +270,19 @@ font-weight: 600; border-radius: 0.5rem; } + + .cta_bg { + position: absolute; + z-index: 0; + width: 100%; + left: 0; + top: 0; + + img { + height: 100%; + width: 100%; + object-fit: cover; + object-position: center; + } + } } \ No newline at end of file From 47880f5aacff2267c78a7a53881407c87b099629 Mon Sep 17 00:00:00 2001 From: brianshattuck Date: Thu, 13 Feb 2025 04:41:46 -0800 Subject: [PATCH 09/16] update faq section --- .../launchpad/faq/fees-eligibility-icon.svg | 4 + .../images/launchpad/faq/security-icon.svg | 4 + .../images/launchpad/faq/start-icon.svg | 4 + .../launchpad/faq/troubleshooting-icon.svg | 4 + src/pages/LaunchpadPage/FAQ.tsx | 209 +++++++++++++++++- src/pages/styles/launchpad.scss | 66 +++++- 6 files changed, 277 insertions(+), 14 deletions(-) create mode 100644 src/assets/images/launchpad/faq/fees-eligibility-icon.svg create mode 100644 src/assets/images/launchpad/faq/security-icon.svg create mode 100644 src/assets/images/launchpad/faq/start-icon.svg create mode 100644 src/assets/images/launchpad/faq/troubleshooting-icon.svg diff --git a/src/assets/images/launchpad/faq/fees-eligibility-icon.svg b/src/assets/images/launchpad/faq/fees-eligibility-icon.svg new file mode 100644 index 000000000..082e87aff --- /dev/null +++ b/src/assets/images/launchpad/faq/fees-eligibility-icon.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/images/launchpad/faq/security-icon.svg b/src/assets/images/launchpad/faq/security-icon.svg new file mode 100644 index 000000000..0d95a5f82 --- /dev/null +++ b/src/assets/images/launchpad/faq/security-icon.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/images/launchpad/faq/start-icon.svg b/src/assets/images/launchpad/faq/start-icon.svg new file mode 100644 index 000000000..d00f772ad --- /dev/null +++ b/src/assets/images/launchpad/faq/start-icon.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/images/launchpad/faq/troubleshooting-icon.svg b/src/assets/images/launchpad/faq/troubleshooting-icon.svg new file mode 100644 index 000000000..18334c258 --- /dev/null +++ b/src/assets/images/launchpad/faq/troubleshooting-icon.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/pages/LaunchpadPage/FAQ.tsx b/src/pages/LaunchpadPage/FAQ.tsx index 518f9056a..7304964d1 100644 --- a/src/pages/LaunchpadPage/FAQ.tsx +++ b/src/pages/LaunchpadPage/FAQ.tsx @@ -1,9 +1,214 @@ 'use client'; -import React from 'react'; +import React, { useState } from 'react'; import { Button, Box, Typography } from '@material-ui/core'; +import StartIcon from 'assets/images/launchpad/faq/start-icon.svg'; +import FeesIcon from 'assets/images/launchpad/faq/fees-eligibility-icon.svg'; +import SecurityIcon from 'assets/images/launchpad/faq/security-icon.svg'; +import TroubleIcon from 'assets/images/launchpad/faq/troubleshooting-icon.svg'; + +interface FAQItem { + question: string; + answer: string; +} + +interface FAQList { + id: string; + name: string; + logo: string; + faq: FAQItem[]; +} + +const FAQItem: React.FC void }> = ({ + question, + answer, + isOpen, + toggle, +}) => ( +
+ +
+
+

+
+
+
+); const FAQ: React.FC = () => { - return ; + const faqList: FAQList[] = [ + { + id: 'getting-started', + name: 'Getting Started', + logo: StartIcon, + faq: [ + { + question: 'What is the QuickLaunch Launchpad?', + answer: + 'This is a Web3 Launchpad by QuickSwap (powered by TrustSwap) that facilitates a token sale and helps blockchain-based projects raise capital.', + }, + { + question: 'What is the process for participating in a QuickLaunch?', + answer: + 'The QuickLaunch Launchpad uses a Lottery system where a certain amount of whitelisted users are randomly selected to participate in a project launch.
There are three simple steps.
First, you sign into the dashboard and then KYC with our KYC provider. Once you are successfully KYC’d, you are eligible to participate in a QuickLaunch.
Next, you find a project you would like to participate in and register to be whitelisted for the project’s launch. This means you would like to enter in the lottery in order to win an allocation.
Then, once the lottery is run, if you are selected, you will receive a notification that you can contribute your allocated amount to the project via the dashboard.
When the project launch is completed, you will be notified via the dashboard about where and how to claim your tokens.', + }, + { + question: + 'Do I have to complete KYC to participate in a QuickLaunch?', + answer: + 'Yes. KYC is required for all users participating in any project on QuickLaunch. Through a partnership with Blockpass, the KYC process has been simplified and allows you to register via the QuickLaunch dashboard.', + }, + { + question: 'What if I am already currently KYC’ed by BlockPass?', + answer: `That makes the process easier. Connect to the QuickLaunch dashboard, register to KYC, and when prompted to start KYC, make sure you use the previously KYC’d email address. +You should see a prompt from BlockPass saying, “If you have previously created a Blockpass Identity, you should use that email address here.” Once you use your KYC’d email address, you will not need to repeat the KYC process.`, + }, + ], + }, + { + id: 'fees-eligibility', + name: 'Fees & Eligibility', + logo: FeesIcon, + faq: [ + { + question: 'Is there a fee to participate in a QuickLaunch?', + answer: `There are no fees to opt in and no token staking requirements.`, + }, + { + question: 'What crypto tokens can be used to participate in IDOs?', + answer: `Stablecoins: USDT or USDC on Polygon.`, + }, + { + question: 'How can I increase my odds of winning the lottery?', + answer: `This is a system-generated lottery that is automatically calculated.`, + }, + { + question: 'Is the QuickLaunch lottery provably fair?', + answer: `The Lottery system works completely off-chain, shuffling the participants using the Fisher-Yates algorithm to randomise their order. It then selects the first maxWinners as the random winners. This is to ensure a fair and unbiased selection by leveraging Math.random() for randomness.`, + }, + ], + }, + { + id: 'security', + name: 'Security', + logo: SecurityIcon, + faq: [ + { + question: + 'How can I verify that emails I receive from QuickLaunch are legitimate?', + answer: `Emails are always sent from no-reply@mail.quicklaunchpad.io, and they will include your personal unique PIN number. The legitimacy of these emails is confirmed by both the sender’s address and the presence of your PIN. To ensure your safety, please do not engage with or provide any information in response to suspicious emails. Always double-check both the sender’s address and your PIN number to verify authenticity.`, + }, + { + question: + 'I received an email about QuickLaunch with a link. What should I do?', + answer: `Except for verifying your email, links are never included in emails from QuickLaunch. This is to protect your security and prevent phishing attempts. If you are in doubt, please reach out to support/moderators on official social media channels. Always prioritise your online safety!`, + }, + { + question: + 'I received a DM (direct message) on Telegram claiming to be from QuickLaunch. How do I check if this is legitimate?', + answer: `QuickLaunch support moderators never initiate DMs (direct messages) on Telegram. If you receive a message from someone claiming to be from QuickLaunch, it is a scammer. Always use the official Telegram channel for support, and avoid engaging with any direct messages that are sent to you.`, + }, + { + question: + 'What is the PIN number in the emails I get from QuickLaunch?', + answer: `The PIN number included in the emails you receive from QuickLaunch is a personal and unique identifier assigned to each registered user. This helps verify that the email is from us, not a scammer. If you ever receive an email without your unique PIN or notice any discrepancies, please reach out to our Telegram support team for assistance.`, + }, + ], + }, + { + id: 'troubleshooting', + name: 'Troubleshooting', + logo: TroubleIcon, + faq: [ + { + question: + 'Why didn’t I receive an email announcing the new launchpad?', + answer: `Connect your wallet and go to the profile page, then make sure that email notifications are enabled. If they are enabled and you still don't receive new announcement emails, please reach out on official social media channels for further assistance.`, + }, + { + question: 'How can I contact QuickLaunch for questions or issues?', + answer: `You can contact QuickLaunch directly through the official Telegram channel, where moderators will be available to assist you with any questions or issues you may have.`, + }, + ], + }, + ]; + + const [openItems, setOpenItems] = useState([]); + const [tabActive, setTabActive] = useState(faqList[0].id); + const [clickedTab, setClickedTab] = useState(false); + + const toggleItem = (index: number) => { + setOpenItems((prevOpenItems) => + prevOpenItems.includes(index) + ? prevOpenItems.filter((i) => i !== index) + : [...prevOpenItems, index], + ); + setClickedTab(true); + }; + + const handleSelectTab = (tabId: string) => { + // const element = document.getElementById('mobile-faq-list'); + // if (element && clickedTab) { + // // Fix scrolling issue on mobile + // const elementPosition = + // element.getBoundingClientRect().top + window.scrollY; + // const offsetPosition = elementPosition - 30; + // window.scrollTo({ top: offsetPosition }); + // } + console.log('11111', tabId); + + setClickedTab(true); + setOpenItems([]); + setTabActive(tabId); + }; + + return ( + + + Frequently Asked Questions + + + + {faqList.map((faq) => ( + handleSelectTab(faq.id)} + > + + {faq.id} + + + {faq.name} + + + ))} + + + + ); }; export default FAQ; diff --git a/src/pages/styles/launchpad.scss b/src/pages/styles/launchpad.scss index 4b4ef9881..5f1660710 100644 --- a/src/pages/styles/launchpad.scss +++ b/src/pages/styles/launchpad.scss @@ -77,12 +77,12 @@ font-style: normal; line-height: 1.67; } +} - .title2 { - color: #EBECF2; - font-size: 2rem; - font-weight: 600; - } +.title2 { + font-size: 2rem; + margin-bottom: 0.75rem; + font-weight: 600; } .launchHeroSection { @@ -184,17 +184,12 @@ position: relative; margin-left: 1rem; margin-right: 1rem; + margin-bottom: 88px; .cover_title { max-width: 734px; } - .title2 { - font-size: 2rem; - margin-bottom: 0.75rem; - font-weight: 600; - } - .desc { margin-bottom: 1.5rem; } @@ -226,9 +221,55 @@ .faqSection { margin-bottom: 120px; + display: flex; + flex-direction: column; + align-items: center; @media (max-width: 1280px) { margin-bottom: 88px; } + + .cover-faq-list { + display: grid; + grid-template-columns: repeat(1, minmax(0, 1fr)); + gap: 0.25rem; + } + + .faq { + display: flex; + align-items: center; + padding: .25rem; + gap: 1rem; + cursor: pointer; + color: #696C80; + } + + .faq:hover, .faq-selected { + color: #EBECF2; + } + + .cover-img { + width: 3rem; + height: 3rem; + border: 1px solid #282D3Ded; + border-radius: 0.75rem; + background: #282d3d99; + display: flex; + align-items: center; + justify-content: center; + } + + .cover-img-selected { + background: #40455799 !important; + border: 1px solid #404557 !important; + img { + filter: invert(54%) sepia(30%) saturate(6598%) hue-rotate(200deg) brightness(100%) contrast(103%); + } + } + + .faq-name { + font-size: 1.5rem; + line-height: 2.25rem; + } } .ctaSection { @@ -275,6 +316,7 @@ position: absolute; z-index: 0; width: 100%; + height: 100%; left: 0; top: 0; @@ -285,4 +327,4 @@ object-position: center; } } -} \ No newline at end of file +} From ac85aaa1e4abb51be3c1a1f98eef64f6082149d5 Mon Sep 17 00:00:00 2001 From: brianshattuck Date: Thu, 13 Feb 2025 05:02:40 -0800 Subject: [PATCH 10/16] add arrow in faq section --- src/pages/LaunchpadPage/FAQ.tsx | 23 +++++++++++++++++++++++ src/pages/styles/launchpad.scss | 24 ++++++++++++++++++++++++ 2 files changed, 47 insertions(+) diff --git a/src/pages/LaunchpadPage/FAQ.tsx b/src/pages/LaunchpadPage/FAQ.tsx index 7304964d1..26c179061 100644 --- a/src/pages/LaunchpadPage/FAQ.tsx +++ b/src/pages/LaunchpadPage/FAQ.tsx @@ -203,9 +203,32 @@ You should see a prompt from BlockPass saying, “If you have previously created {faq.name} + {tabActive === faq.id && ( + + + + + + )}
))}
+
); diff --git a/src/pages/styles/launchpad.scss b/src/pages/styles/launchpad.scss index 5f1660710..d5ae93dcf 100644 --- a/src/pages/styles/launchpad.scss +++ b/src/pages/styles/launchpad.scss @@ -224,14 +224,25 @@ display: flex; flex-direction: column; align-items: center; + max-width: 1000px; + margin-left: auto; + margin-right: auto; + @media (max-width: 1280px) { margin-bottom: 88px; } + .cover-faq { + display: flex; + width: 100%; + margin-top: 1.5rem; + } + .cover-faq-list { display: grid; grid-template-columns: repeat(1, minmax(0, 1fr)); gap: 0.25rem; + flex: 40%; } .faq { @@ -270,6 +281,19 @@ font-size: 1.5rem; line-height: 2.25rem; } + + .faq-arrow { + display: block; + color: #4d5d7994; + margin-left: auto; + @media (max-width: 768px) { + display: none; + } + } + + .cover-faq-items { + flex: 60%; + } } .ctaSection { From 0b1a4a405e09f72299f49893ebfd7f385301982e Mon Sep 17 00:00:00 2001 From: brianshattuck Date: Thu, 13 Feb 2025 15:07:36 -0800 Subject: [PATCH 11/16] Done faq section for mobile version --- src/pages/LaunchpadPage/FAQ.tsx | 118 ++++++++++++++++++-------------- src/pages/styles/launchpad.scss | 43 +++++++++++- 2 files changed, 109 insertions(+), 52 deletions(-) diff --git a/src/pages/LaunchpadPage/FAQ.tsx b/src/pages/LaunchpadPage/FAQ.tsx index 26c179061..07ebb0a1d 100644 --- a/src/pages/LaunchpadPage/FAQ.tsx +++ b/src/pages/LaunchpadPage/FAQ.tsx @@ -5,6 +5,7 @@ import StartIcon from 'assets/images/launchpad/faq/start-icon.svg'; import FeesIcon from 'assets/images/launchpad/faq/fees-eligibility-icon.svg'; import SecurityIcon from 'assets/images/launchpad/faq/security-icon.svg'; import TroubleIcon from 'assets/images/launchpad/faq/troubleshooting-icon.svg'; +import { ChevronDown, ChevronUp } from 'react-feather'; interface FAQItem { question: string; @@ -24,14 +25,15 @@ const FAQItem: React.FC void }> = ({ isOpen, toggle, }) => ( -
- -
-
+

-
-
-
+
+
+
); const FAQ: React.FC = () => { @@ -187,48 +189,62 @@ You should see a prompt from BlockPass saying, “If you have previously created Frequently Asked Questions - - {faqList.map((faq) => ( - handleSelectTab(faq.id)} - > + + + {faqList.map((faq) => ( handleSelectTab(faq.id)} > - {faq.id} - - - {faq.name} - - {tabActive === faq.id && ( - - - - - - )} - - ))} + {faq.id} + + + {faq.name} + + {tabActive === faq.id && ( + + + + + + )} + + ))} + + + + {faqList + .find((faq) => faq.id === tabActive) + ?.faq?.map((item, index) => ( + toggleItem(index)} + /> + ))} - ); diff --git a/src/pages/styles/launchpad.scss b/src/pages/styles/launchpad.scss index d5ae93dcf..cceb00d02 100644 --- a/src/pages/styles/launchpad.scss +++ b/src/pages/styles/launchpad.scss @@ -238,11 +238,14 @@ margin-top: 1.5rem; } + .flex-40 { + flex: 40%; + } + .cover-faq-list { display: grid; grid-template-columns: repeat(1, minmax(0, 1fr)); gap: 0.25rem; - flex: 40%; } .faq { @@ -294,6 +297,44 @@ .cover-faq-items { flex: 60%; } + + .faq-item-button { + width: 100%; + text-align: left; + padding: 0.75rem 0.5rem 0.75rem 0.75rem; + border-top: 1px solid #282D3D; + display: flex; + align-items: center; + justify-content: space-between; + cursor: pointer; + span { + font-size: 1.125rem; + line-height: 1.75rem; + font-weight: 600; + } + } + + .cover-faq-item { + overflow: hidden; + transition: all 300ms ease-in-out; + } + + .faq-item-open { + opacity: 100; + } + + .faq-item-close{ + max-height: 0; + opacity: 0; + } + + .down-icon { + transition: transform 0.3s ease-in-out; + } + + .rotate-180 { + transform: rotate(180deg); + } } .ctaSection { From a975276f202bb8eb666d4444feab48feb6593935 Mon Sep 17 00:00:00 2001 From: brianshattuck Date: Thu, 13 Feb 2025 19:43:11 -0800 Subject: [PATCH 12/16] Done faq section --- src/pages/LaunchpadPage/FAQ.tsx | 76 ++++++++++++++++++++++++++++----- src/pages/styles/launchpad.scss | 36 +++++++++++++++- 2 files changed, 100 insertions(+), 12 deletions(-) diff --git a/src/pages/LaunchpadPage/FAQ.tsx b/src/pages/LaunchpadPage/FAQ.tsx index 07ebb0a1d..fe5738568 100644 --- a/src/pages/LaunchpadPage/FAQ.tsx +++ b/src/pages/LaunchpadPage/FAQ.tsx @@ -168,16 +168,14 @@ You should see a prompt from BlockPass saying, “If you have previously created }; const handleSelectTab = (tabId: string) => { - // const element = document.getElementById('mobile-faq-list'); - // if (element && clickedTab) { - // // Fix scrolling issue on mobile - // const elementPosition = - // element.getBoundingClientRect().top + window.scrollY; - // const offsetPosition = elementPosition - 30; - // window.scrollTo({ top: offsetPosition }); - // } - console.log('11111', tabId); - + const element = document.getElementById('mobile-faq-list'); + if (element && clickedTab) { + // Fix scrolling issue on mobile + const elementPosition = + element.getBoundingClientRect().top + window.scrollY; + const offsetPosition = elementPosition - 80; + window.scrollTo({ top: offsetPosition }); + } setClickedTab(true); setOpenItems([]); setTabActive(tabId); @@ -246,6 +244,64 @@ You should see a prompt from BlockPass saying, “If you have previously created ))} + + + {faqList.map((faq) => ( + + handleSelectTab(faq.id)} + > + + {faq.id} + + + {faq.name} + + {tabActive === faq.id && ( + + + + + + )} + + {tabActive === faq.id && ( + + {faq.faq.map((item, index) => ( + toggleItem(index)} + /> + ))} + + )} + + ))} + + ); }; diff --git a/src/pages/styles/launchpad.scss b/src/pages/styles/launchpad.scss index cceb00d02..19bbdb639 100644 --- a/src/pages/styles/launchpad.scss +++ b/src/pages/styles/launchpad.scss @@ -232,6 +232,12 @@ margin-bottom: 88px; } + @media (max-width: 1024px) { + padding-left: 1rem; + padding-right: 1rem; + } + + .cover-faq { display: flex; width: 100%; @@ -245,7 +251,7 @@ .cover-faq-list { display: grid; grid-template-columns: repeat(1, minmax(0, 1fr)); - gap: 0.25rem; + gap: .75rem; } .faq { @@ -289,13 +295,25 @@ display: block; color: #4d5d7994; margin-left: auto; - @media (max-width: 768px) { + @media (max-width: 1024px) { + display: none; + } + } + + .cover-faq { + display: flex; + gap: 2.5rem; + @media (max-width: 1024px) { display: none; } } + .cover-faq-items { flex: 60%; + @media (max-width: 1024px) { + margin-top: 25px; + } } .faq-item-button { @@ -311,6 +329,12 @@ font-size: 1.125rem; line-height: 1.75rem; font-weight: 600; + + @media (max-width: 1024px) { + font-size: 1rem; + line-height: 1.5rem; + } + } } @@ -335,6 +359,14 @@ .rotate-180 { transform: rotate(180deg); } + + .cover-faq-mobile { + display: none; + @media (max-width: 1024px) { + display: block; + } + } + } .ctaSection { From 9bf0b5e98680e1cf14d9261dbcf63db49c57c658 Mon Sep 17 00:00:00 2001 From: brianshattuck Date: Mon, 17 Feb 2025 08:42:26 -0800 Subject: [PATCH 13/16] add signup modal --- src/pages/LaunchpadPage/LaunchpadPage.tsx | 2 ++ src/pages/LaunchpadPage/SignUpModal.tsx | 26 +++++++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 src/pages/LaunchpadPage/SignUpModal.tsx diff --git a/src/pages/LaunchpadPage/LaunchpadPage.tsx b/src/pages/LaunchpadPage/LaunchpadPage.tsx index 776a74373..4dc646dec 100644 --- a/src/pages/LaunchpadPage/LaunchpadPage.tsx +++ b/src/pages/LaunchpadPage/LaunchpadPage.tsx @@ -4,6 +4,7 @@ import StepsToJoin from 'pages/LaunchpadPage/StepsToJoin'; import JoinSocialMedia from 'pages/LaunchpadPage/JoinSocialMedia'; import CTA from 'pages/LaunchpadPage/CTA'; import FAQ from 'pages/LaunchpadPage/FAQ'; +import SignUpModal from 'pages/LaunchpadPage/SignUpModal'; import 'pages/styles/launchpad.scss'; @@ -24,6 +25,7 @@ const LaunchpadPage: React.FC = () => { + ); }; diff --git a/src/pages/LaunchpadPage/SignUpModal.tsx b/src/pages/LaunchpadPage/SignUpModal.tsx new file mode 100644 index 000000000..e5e737de3 --- /dev/null +++ b/src/pages/LaunchpadPage/SignUpModal.tsx @@ -0,0 +1,26 @@ +'use client'; + +import React, { useState } from 'react'; +import { Box } from '@material-ui/core'; + +const SignUpModal: React.FC<{ openModal: boolean; setOpenModal: any }> = ({ + openModal, + setOpenModal, +}) => { + const [email, setEmail] = useState(''); + const [confirm, setConfirm] = useState(false); + const [status, setStatus] = useState(null); + const [message, setMessage] = useState(null); + + const handleModal = (isClose = false) => { + if (!isClose) { + setConfirm(!confirm); + } + setOpenModal(!openModal); + setEmail(''); + }; + + return openModal && Sign Up modal; +}; + +export default SignUpModal; From ac7d3ca883d6848a9d0c961e65154a28af0e2be9 Mon Sep 17 00:00:00 2001 From: brianshattuck Date: Tue, 18 Feb 2025 15:16:27 -0800 Subject: [PATCH 14/16] update singn up modal style --- src/pages/LaunchpadPage/FAQ.tsx | 2 +- src/pages/LaunchpadPage/HeroSection.tsx | 2 +- src/pages/LaunchpadPage/LaunchpadPage.tsx | 2 +- src/pages/LaunchpadPage/SignUpModal.tsx | 208 ++++++++++++++++++++-- src/pages/LaunchpadPage/StepsToJoin.tsx | 2 +- src/pages/LaunchpadPage/Util.ts | 3 + src/pages/styles/launchpad.scss | 127 +++++++++++++ 7 files changed, 332 insertions(+), 14 deletions(-) create mode 100644 src/pages/LaunchpadPage/Util.ts diff --git a/src/pages/LaunchpadPage/FAQ.tsx b/src/pages/LaunchpadPage/FAQ.tsx index fe5738568..ed3a53451 100644 --- a/src/pages/LaunchpadPage/FAQ.tsx +++ b/src/pages/LaunchpadPage/FAQ.tsx @@ -5,7 +5,7 @@ import StartIcon from 'assets/images/launchpad/faq/start-icon.svg'; import FeesIcon from 'assets/images/launchpad/faq/fees-eligibility-icon.svg'; import SecurityIcon from 'assets/images/launchpad/faq/security-icon.svg'; import TroubleIcon from 'assets/images/launchpad/faq/troubleshooting-icon.svg'; -import { ChevronDown, ChevronUp } from 'react-feather'; +import { ChevronDown } from 'react-feather'; interface FAQItem { question: string; diff --git a/src/pages/LaunchpadPage/HeroSection.tsx b/src/pages/LaunchpadPage/HeroSection.tsx index b921fe9ed..e7478644c 100644 --- a/src/pages/LaunchpadPage/HeroSection.tsx +++ b/src/pages/LaunchpadPage/HeroSection.tsx @@ -56,7 +56,7 @@ const HeroSection: React.FC<{ paddingRight: '16px', }} onClick={() => { - handleClick; + handleClick(); }} > {caseLaunch !== 0 ? 'Get started' : 'Join The QuickLaunch Waitlist'} diff --git a/src/pages/LaunchpadPage/LaunchpadPage.tsx b/src/pages/LaunchpadPage/LaunchpadPage.tsx index 4dc646dec..b2ccf3d04 100644 --- a/src/pages/LaunchpadPage/LaunchpadPage.tsx +++ b/src/pages/LaunchpadPage/LaunchpadPage.tsx @@ -9,7 +9,7 @@ import SignUpModal from 'pages/LaunchpadPage/SignUpModal'; import 'pages/styles/launchpad.scss'; const LaunchpadPage: React.FC = () => { - const [openModal, setOpenModal] = useState(false); + const [openModal, setOpenModal] = useState(false); return (
= ({ - openModal, - setOpenModal, -}) => { +const SignUpModal: React.FC<{ + openModal?: boolean; + setOpenModal?: any; +}> = ({ openModal, setOpenModal }) => { const [email, setEmail] = useState(''); const [confirm, setConfirm] = useState(false); - const [status, setStatus] = useState(null); const [message, setMessage] = useState(null); + const [status, setStatus] = useState(null); const handleModal = (isClose = false) => { if (!isClose) { @@ -20,7 +22,193 @@ const SignUpModal: React.FC<{ openModal: boolean; setOpenModal: any }> = ({ setEmail(''); }; - return openModal && Sign Up modal; + const handleOnChange = (e: any) => { + setEmail(e.target.value); + setMessage(null); + }; + + const handleSubmit = async () => { + if (!email) { + setMessage('Please fill out all the required fields.'); + } else if (isValidEmail(email)) { + setMessage(null); + try { + const response = await fetch('/api/subscribe', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ email }), + }); + const result = await response.json(); + console.log('result', result); + if (result.error) { + setStatus(response.status); + setMessage(result.error); + return; + } + setStatus(201); + setMessage(null); + setConfirm(true); + } catch (error) { + console.log(error); + setStatus(500); + setMessage('Error joining the waitlist.'); + } + } else { + setMessage('Email invalid.'); + } + }; + + return openModal ? ( +
+ {confirm ? ( +
+
+ {/* handleModal(true)} + /> */} +
+
+ {/* comfirm email */} +

+ Thank you for your interest in QuickLaunch +

+

+ We've received your request and will be in touch shortly at{' '} + {email}. +

+ {/* */} +
+
+ ) : ( +
+
+

+ Sign up for updates +

+ handleModal(true)} + /> +
+
+

+ Drop your email here, and we'll keep you in the loop with all + the exciting updates about QuickSwap Launches! +

+
+
+ {message && ( + + )} + handleOnChange(e)} + placeholder='Enter email' + className='w-full h-auto bg-transparent text-white' + /> +
+ {message &&

{message}

} +
+ +
+

and

+
+

+ Join us on Telegram +

+

+ Join our Telegram channel for exclusive updates on upcoming crypto + launches, industry insights, and real-time discussions +

+ +
+
+
+

By sending this form, you agree to the

{' '} + + Terms and Conditions + +
+
+
+ )} +
+ ) : ( + <> + ); }; export default SignUpModal; diff --git a/src/pages/LaunchpadPage/StepsToJoin.tsx b/src/pages/LaunchpadPage/StepsToJoin.tsx index 959d864b8..7841cdd91 100644 --- a/src/pages/LaunchpadPage/StepsToJoin.tsx +++ b/src/pages/LaunchpadPage/StepsToJoin.tsx @@ -182,7 +182,7 @@ const StepsToJoin: React.FC<{ */} +
) : ( -
+
Date: Tue, 18 Feb 2025 16:53:57 -0800 Subject: [PATCH 16/16] integrate quickswap newsletter --- src/pages/LaunchpadPage/SignUpModal.tsx | 40 ++++++++++++++----------- 1 file changed, 23 insertions(+), 17 deletions(-) diff --git a/src/pages/LaunchpadPage/SignUpModal.tsx b/src/pages/LaunchpadPage/SignUpModal.tsx index 916bfd237..3e70db1f9 100644 --- a/src/pages/LaunchpadPage/SignUpModal.tsx +++ b/src/pages/LaunchpadPage/SignUpModal.tsx @@ -5,6 +5,7 @@ import { X, AlertCircle } from 'react-feather'; import { Button, Box, Typography } from '@material-ui/core'; import { TelegramIcon } from './SocialIcon'; import ConfirmEmailImg from 'assets/images/launchpad/confirm-email.png'; +import { useSubscribeNewsletter } from 'hooks/useNewsletterSignup'; const SignUpModal: React.FC<{ openModal?: boolean; @@ -14,6 +15,7 @@ const SignUpModal: React.FC<{ const [confirm, setConfirm] = useState(false); const [message, setMessage] = useState(null); const [status, setStatus] = useState(null); + const { mutate, isLoading, data } = useSubscribeNewsletter(); const handleModal = (isClose = false) => { if (!isClose) { @@ -34,23 +36,7 @@ const SignUpModal: React.FC<{ } else if (isValidEmail(email)) { setMessage(null); try { - const response = await fetch('/api/subscribe', { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - body: JSON.stringify({ email }), - }); - const result = await response.json(); - console.log('result', result); - if (result.error) { - setStatus(response.status); - setMessage(result.error); - return; - } - setStatus(201); - setMessage(null); - setConfirm(true); + await mutate(email); } catch (error) { console.log(error); setStatus(500); @@ -61,6 +47,26 @@ const SignUpModal: React.FC<{ } }; + useEffect(() => { + console.log('isLoading', isLoading); + console.log('data', data); + if (isLoading || !data) { + return; + } + if (data.error) { + setStatus(500); + setMessage( + data.error === 'Error' + ? 'Error! failed to subscribe to the newsletter.' + : data.error, + ); + return; + } + setStatus(201); + setMessage(null); + setConfirm(true); + }, [isLoading, data]); + return openModal ? (
{confirm ? (