@ape.swap/bonds-sdk 7.0.3 → 7.0.4-test.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/evm/index.d.ts +3 -2
- package/dist/adapters/evm/index.js +11 -2
- package/dist/adapters/evm/index.js.map +1 -1
- package/dist/adapters/evm/state/balances.js +1 -1
- package/dist/adapters/evm/state/balances.js.map +1 -1
- package/dist/adapters/evm/state/fetchBondsDataEVM.js +65 -2
- package/dist/adapters/evm/state/fetchBondsDataEVM.js.map +1 -1
- package/dist/adapters/evm/state/fetchUsersBondsEVM.js +234 -2
- package/dist/adapters/evm/state/fetchUsersBondsEVM.js.map +1 -1
- package/dist/adapters/evm/state/lpStaking/fetchLpStakingLimits.d.ts +24 -0
- package/dist/adapters/evm/state/lpStaking/fetchLpStakingLimits.js +118 -0
- package/dist/adapters/evm/state/lpStaking/fetchLpStakingLimits.js.map +1 -0
- package/dist/adapters/evm/state/lpStaking/useSoulZapLpStakingQuote.d.ts +4 -0
- package/dist/adapters/evm/state/lpStaking/useSoulZapLpStakingQuote.js +140 -0
- package/dist/adapters/evm/state/lpStaking/useSoulZapLpStakingQuote.js.map +1 -0
- package/dist/adapters/evm/state/useSoulZapBondQuote.js +1 -1
- package/dist/adapters/evm/views/BuyComponent.js +1 -1
- package/dist/adapters/evm/views/BuyComponent.js.map +1 -1
- package/dist/adapters/evm/views/lpStaking/BuyComponentLpStaking.d.ts +4 -0
- package/dist/adapters/evm/views/lpStaking/BuyComponentLpStaking.js +212 -0
- package/dist/adapters/evm/views/lpStaking/BuyComponentLpStaking.js.map +1 -0
- package/dist/adapters/evm/views/lpStaking/LpBondModalHeader.d.ts +7 -0
- package/dist/adapters/evm/views/lpStaking/LpBondModalHeader.js +66 -0
- package/dist/adapters/evm/views/lpStaking/LpBondModalHeader.js.map +1 -0
- package/dist/adapters/evm/views/lpStaking/LpStakingEstimations.d.ts +23 -0
- package/dist/adapters/evm/views/lpStaking/LpStakingEstimations.js +40 -0
- package/dist/adapters/evm/views/lpStaking/LpStakingEstimations.js.map +1 -0
- package/dist/adapters/evm/views/lpStaking/ModalHandlerLpStaking.d.ts +3 -0
- package/dist/adapters/evm/views/lpStaking/ModalHandlerLpStaking.js +90 -0
- package/dist/adapters/evm/views/lpStaking/ModalHandlerLpStaking.js.map +1 -0
- package/dist/adapters/evm/views/lpStaking/UserLpStakingBondRow.d.ts +5 -0
- package/dist/adapters/evm/views/lpStaking/UserLpStakingBondRow.js +32 -0
- package/dist/adapters/evm/views/lpStaking/UserLpStakingBondRow.js.map +1 -0
- package/dist/adapters/evm/views/lpStaking/YourLpBondModalHeader.d.ts +7 -0
- package/dist/adapters/evm/views/lpStaking/YourLpBondModalHeader.js +20 -0
- package/dist/adapters/evm/views/lpStaking/YourLpBondModalHeader.js.map +1 -0
- package/dist/adapters/evm/views/lpStaking/YourLpStakingBondModal.d.ts +7 -0
- package/dist/adapters/evm/views/lpStaking/YourLpStakingBondModal.js +78 -0
- package/dist/adapters/evm/views/lpStaking/YourLpStakingBondModal.js.map +1 -0
- package/dist/adapters/types.d.ts +20 -5
- package/dist/components/TokenInfoAndName/index.js +4 -1
- package/dist/components/TokenInfoAndName/index.js.map +1 -1
- package/dist/components/Tooltip/ButtonsRow.js +1 -1
- package/dist/components/Tooltip/ButtonsRow.js.map +1 -1
- package/dist/components/Tooltip/Tooltip.js +3 -2
- package/dist/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/uikit-sdk/TokenImage/index.js +3 -1
- package/dist/components/uikit-sdk/TokenImage/index.js.map +1 -1
- package/dist/config/abi/apeBondPositionAdapter.json.js +1347 -0
- package/dist/config/abi/apeBondPositionAdapter.json.js.map +1 -0
- package/dist/config/abi/bonusEscrow.json.js +33 -0
- package/dist/config/abi/bonusEscrow.json.js.map +1 -0
- package/dist/config/abi/lpStakingVault.json.js +34 -0
- package/dist/config/abi/lpStakingVault.json.js.map +1 -0
- package/dist/config/abi/uniswapV3Pool.json.js +47 -0
- package/dist/config/abi/uniswapV3Pool.json.js.map +1 -0
- package/dist/config/abi/uniswapV3QuoterV2.json.js +66 -0
- package/dist/config/abi/uniswapV3QuoterV2.json.js.map +1 -0
- package/dist/config/constants/addresses.d.ts +1 -0
- package/dist/config/constants/addresses.js +7 -1
- package/dist/config/constants/addresses.js.map +1 -1
- package/dist/config/constants/chains.js +3 -1
- package/dist/config/constants/chains.js.map +1 -1
- package/dist/config/constants/networks.js +1 -1
- package/dist/config/constants/networks.js.map +1 -1
- package/dist/config/constants/variables.d.ts +2 -2
- package/dist/config/constants/variables.js +3 -1
- package/dist/config/constants/variables.js.map +1 -1
- package/dist/state/bonds/useBondsData.js +1 -0
- package/dist/state/bonds/useBondsData.js.map +1 -1
- package/dist/state/bonds/useUserBonds.d.ts +10 -1
- package/dist/state/bonds/useUserBonds.js +18 -11
- package/dist/state/bonds/useUserBonds.js.map +1 -1
- package/dist/state/useSDKConfig.js +2 -2
- package/dist/state/useSDKConfig.js.map +1 -1
- package/dist/state/zap/getChainParam.d.ts +1 -16
- package/dist/state/zap/getChainParam.js +16 -40
- package/dist/state/zap/getChainParam.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/types/yourbonds.d.ts +24 -0
- package/dist/views/Bonds/components/BondRows/ActiveBondRows.js +19 -2
- package/dist/views/Bonds/components/BondRows/ActiveBondRows.js.map +1 -1
- package/dist/views/Bonds/components/BondRows/BondRow.d.ts +3 -2
- package/dist/views/Bonds/components/BondRows/BondRow.js +15 -10
- package/dist/views/Bonds/components/BondRows/BondRow.js.map +1 -1
- package/dist/views/Bonds/components/BondRows/ModalHandler.js +1 -1
- package/dist/views/Bonds/components/BondRows/ModalHandler.js.map +1 -1
- package/dist/views/Bonds/components/BondRows/SoldOutRows.js +1 -1
- package/dist/views/Bonds/components/BondRows/SoldOutRows.js.map +1 -1
- package/dist/views/Bonds/components/BondsMenu/BondsMenu.js +1 -1
- package/dist/views/Bonds/components/BondsMenu/BondsMenu.js.map +1 -1
- package/dist/views/Bonds/components/BonusComponents/BonusComponent.js +1 -1
- package/dist/views/Bonds/components/BonusComponents/BonusComponent.js.map +1 -1
- package/dist/views/Bonds/components/BuyAgainRow/index.js +1 -1
- package/dist/views/Bonds/components/BuyAgainRow/index.js.map +1 -1
- package/dist/views/Bonds/components/CheckURL/index.js +20 -15
- package/dist/views/Bonds/components/CheckURL/index.js.map +1 -1
- package/dist/views/BuyBond/ChainBuyComponent.d.ts +4 -1
- package/dist/views/BuyBond/ChainBuyComponent.js +14 -2
- package/dist/views/BuyBond/ChainBuyComponent.js.map +1 -1
- package/dist/views/BuyBond/components/BondCards/BondCards.js +1 -7
- package/dist/views/BuyBond/components/BondCards/BondCards.js.map +1 -1
- package/dist/views/BuyBond/components/BondModalHeader.d.ts +1 -2
- package/dist/views/BuyBond/components/BondModalHeader.js +13 -5
- package/dist/views/BuyBond/components/BondModalHeader.js.map +1 -1
- package/dist/views/BuyBond/components/Estimations.js +1 -1
- package/dist/views/BuyBond/components/Estimations.js.map +1 -1
- package/dist/views/BuyBond/components/ExpandedViewButton.d.ts +2 -2
- package/dist/views/BuyBond/components/ExpandedViewButton.js +2 -2
- package/dist/views/BuyBond/components/ExpandedViewButton.js.map +1 -1
- package/dist/views/FullBondsView/FullBondsView.js +2 -1
- package/dist/views/FullBondsView/FullBondsView.js.map +1 -1
- package/dist/views/FullBondsView/YourBondsStatus.d.ts +3 -0
- package/dist/views/FullBondsView/YourBondsStatus.js +54 -0
- package/dist/views/FullBondsView/YourBondsStatus.js.map +1 -0
- package/dist/views/SingleBond/SoldOutBuyBondPlaceholder.js +2 -5
- package/dist/views/SingleBond/SoldOutBuyBondPlaceholder.js.map +1 -1
- package/dist/views/YourBonds/YourBonds.js +6 -1
- package/dist/views/YourBonds/YourBonds.js.map +1 -1
- package/dist/views/YourBonds/components/YourBondsMenu/YourBondsMenu.js +2 -1
- package/dist/views/YourBonds/components/YourBondsMenu/YourBondsMenu.js.map +1 -1
- package/dist/views/YourBondsModal/components/YourBondModalHeader/YourBondModalHeader.d.ts +2 -1
- package/dist/views/YourBondsModal/components/YourBondModalHeader/YourBondModalHeader.js +2 -2
- package/dist/views/YourBondsModal/components/YourBondModalHeader/YourBondModalHeader.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/views/Bonds/components/CheckURL/index.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react'\nimport useBondsData from '../../../../state/bonds/useBondsData'\nimport useModal from '../../../../hooks/useModal'\nimport ModalHandler from '../BondRows/ModalHandler'\nimport track from '../../../../utils/track'\nimport { getAdapterForChain } from '../../../../adapters/registry'\n\n/** CheckURL purpose is to open the buy bond modal ONLY IF a user has opened the site with a custom URL */\n\nconst CheckUrl = () => {\n const hasRun = useRef(false)\n const { data: bonds } = useBondsData()\n\n const asPath = typeof window !== 'undefined' ? window.location.search : ''\n const urlParams =\n typeof window !== 'undefined' ? new URLSearchParams(new URL(asPath, window.location.origin).search) : undefined\n\n const bondAddress = urlParams?.get('bondAddress') ?? ''\n const bondChain = urlParams?.get('bondChain') ?? ''\n const c = Boolean(urlParams?.get('c'))\n\n const [onPresentBuyBillsModal] = useModal(\n <ModalHandler bondAddress={bondAddress} bondChain={parseInt(bondChain)} />,\n true,\n true,\n `buyBondModal:${bondAddress.toLowerCase()}-${bondChain}}`,\n )\n // PreTGE / launch bonds ('fcfs') have their own buy flow, provided by the chain's adapter (EVM only today)\n const
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/views/Bonds/components/CheckURL/index.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react'\nimport useBondsData from '../../../../state/bonds/useBondsData'\nimport useModal from '../../../../hooks/useModal'\nimport ModalHandler from '../BondRows/ModalHandler'\nimport track from '../../../../utils/track'\nimport { getAdapterForChain } from '../../../../adapters/registry'\n\n/** CheckURL purpose is to open the buy bond modal ONLY IF a user has opened the site with a custom URL */\n\nconst CheckUrl = () => {\n const hasRun = useRef(false)\n const { data: bonds } = useBondsData()\n\n const asPath = typeof window !== 'undefined' ? window.location.search : ''\n const urlParams =\n typeof window !== 'undefined' ? new URLSearchParams(new URL(asPath, window.location.origin).search) : undefined\n\n const bondAddress = urlParams?.get('bondAddress') ?? ''\n const bondChain = urlParams?.get('bondChain') ?? ''\n const c = Boolean(urlParams?.get('c'))\n\n const [onPresentBuyBillsModal] = useModal(\n <ModalHandler bondAddress={bondAddress} bondChain={parseInt(bondChain)} />,\n true,\n true,\n `buyBondModal:${bondAddress.toLowerCase()}-${bondChain}}`,\n )\n // PreTGE / launch bonds ('fcfs') have their own buy flow, provided by the chain's adapter (EVM only today)\n const adapter = bondChain ? getAdapterForChain(parseInt(bondChain)) : undefined\n const preTGE = adapter?.preTGE\n const [onPresentPreTGEBondModal] = useModal(\n preTGE ? <preTGE.ModalHandler bondAddress={bondAddress} bondChain={parseInt(bondChain)} /> : null,\n true,\n true,\n `preTGEBuyBondModal:${bondAddress.toLowerCase()}-${bondChain}}`,\n )\n // LP staking bonds ('lpStaking') also have their own buy flow, provided by the chain's adapter (EVM only today)\n const lpStaking = adapter?.lpStaking\n const [onPresentLpStakingBondModal] = useModal(\n lpStaking ? <lpStaking.ModalHandler bondAddress={bondAddress} bondChain={parseInt(bondChain)} /> : null,\n true,\n true,\n `lpStakingBuyBondModal:${bondAddress.toLowerCase()}-${bondChain}`,\n )\n\n const presentModalFor = (billType?: string) => {\n if (billType === 'fcfs') {\n if (preTGE) onPresentPreTGEBondModal()\n } else if (billType === 'lpStaking') {\n if (lpStaking) onPresentLpStakingBondModal()\n } else {\n onPresentBuyBillsModal()\n }\n }\n\n useEffect(() => {\n // This useEffect triggers only once bonds data is loaded and if there is bond data on the URL params the buy modal would open.\n if (!hasRun.current && bonds && bonds?.length > 0) {\n hasRun.current = true\n const bond = bonds?.find(\n (bond) =>\n bond?.contractAddress?.[bond?.chainId]?.toLowerCase() === bondAddress?.toLowerCase() &&\n Number(bondChain) === bond.chainId,\n )\n if (bond) {\n presentModalFor(bond.billType)\n track({\n event: 'buyModalOpen',\n chain: bondChain,\n data: {\n cat: 'customURL',\n bond: bond.earnToken.symbol,\n bondChain: bondChain,\n },\n })\n }\n }\n /* eslint-disable react-hooks/exhaustive-deps */\n }, [bonds?.length])\n\n useEffect(() => {\n // This useEffect triggers only if the \"c\" flag is passed on the URL. The \"c\" flag stands for Custom behavior on opening the buy modal\n if (c && bonds && bonds?.length > 0) {\n const bond = bonds?.find(\n (bond) =>\n bond?.contractAddress?.[bond?.chainId]?.toLowerCase() === bondAddress?.toLowerCase() &&\n Number(bondChain) === bond.chainId,\n )\n if (bond) {\n presentModalFor(bond.billType)\n track({\n event: 'buyModalOpen',\n chain: bondChain,\n data: {\n cat: 'customURL',\n bond: bond.earnToken.symbol,\n bondChain: bondChain,\n },\n })\n }\n }\n /* eslint-disable react-hooks/exhaustive-deps */\n }, [c])\n\n return <></>\n}\n\nexport default CheckUrl\n"],"names":["_jsx"],"mappings":"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"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { ChainBuyComponentProps } from '../../adapters/types';
|
|
3
|
-
/**
|
|
3
|
+
/**
|
|
4
|
+
* The buy component of the bond chain's adapter. Chains without a registered adapter are unsupported.
|
|
5
|
+
* LP staking bonds use the adapter's own `lpStaking.BuyComponent`, and render nothing if the adapter has none.
|
|
6
|
+
*/
|
|
4
7
|
declare const ChainBuyComponent: React.FC<ChainBuyComponentProps>;
|
|
5
8
|
export default ChainBuyComponent;
|
|
@@ -1,10 +1,22 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { getAdapterForChain } from '../../adapters/registry.js';
|
|
3
|
+
import useBondsData from '../../state/bonds/useBondsData.js';
|
|
3
4
|
|
|
4
|
-
/**
|
|
5
|
+
/**
|
|
6
|
+
* The buy component of the bond chain's adapter. Chains without a registered adapter are unsupported.
|
|
7
|
+
* LP staking bonds use the adapter's own `lpStaking.BuyComponent`, and render nothing if the adapter has none.
|
|
8
|
+
*/
|
|
5
9
|
const ChainBuyComponent = (props) => {
|
|
10
|
+
const { data: bonds } = useBondsData();
|
|
6
11
|
const adapter = props.bondChain ? getAdapterForChain(props.bondChain) : undefined;
|
|
7
|
-
|
|
12
|
+
if (!adapter)
|
|
13
|
+
return null;
|
|
14
|
+
const bond = bonds?.find((bond) => bond?.contractAddress?.[bond.chainId]?.toLowerCase() === props.bondAddress?.toLowerCase() &&
|
|
15
|
+
bond.chainId === props.bondChain);
|
|
16
|
+
if (bond?.billType === 'lpStaking') {
|
|
17
|
+
return adapter.lpStaking ? jsx(adapter.lpStaking.BuyComponent, { ...props }) : null;
|
|
18
|
+
}
|
|
19
|
+
return jsx(adapter.BuyComponent, { ...props });
|
|
8
20
|
};
|
|
9
21
|
|
|
10
22
|
export { ChainBuyComponent as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChainBuyComponent.js","sources":["../../../src/views/BuyBond/ChainBuyComponent.tsx"],"sourcesContent":["import React from 'react'\nimport { getAdapterForChain } from '../../adapters/registry'\nimport type { ChainBuyComponentProps } from '../../adapters/types'\n\n
|
|
1
|
+
{"version":3,"file":"ChainBuyComponent.js","sources":["../../../src/views/BuyBond/ChainBuyComponent.tsx"],"sourcesContent":["import React from 'react'\nimport { getAdapterForChain } from '../../adapters/registry'\nimport type { ChainBuyComponentProps } from '../../adapters/types'\nimport useBondsData from '../../state/bonds/useBondsData'\n\n/**\n * The buy component of the bond chain's adapter. Chains without a registered adapter are unsupported.\n * LP staking bonds use the adapter's own `lpStaking.BuyComponent`, and render nothing if the adapter has none.\n */\nconst ChainBuyComponent: React.FC<ChainBuyComponentProps> = (props) => {\n const { data: bonds } = useBondsData()\n const adapter = props.bondChain ? getAdapterForChain(props.bondChain) : undefined\n if (!adapter) return null\n\n const bond = bonds?.find(\n (bond) =>\n bond?.contractAddress?.[bond.chainId]?.toLowerCase() === props.bondAddress?.toLowerCase() &&\n bond.chainId === props.bondChain,\n )\n if (bond?.billType === 'lpStaking') {\n return adapter.lpStaking ? <adapter.lpStaking.BuyComponent {...props} /> : null\n }\n return <adapter.BuyComponent {...props} />\n}\n\nexport default ChainBuyComponent\n"],"names":["_jsx"],"mappings":";;;;AAKA;;;AAGG;AACH,MAAM,iBAAiB,GAAqC,CAAC,KAAK,KAAI;IACpE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,YAAY,EAAE;AACtC,IAAA,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,SAAS;AACjF,IAAA,IAAI,CAAC,OAAO;AAAE,QAAA,OAAO,IAAI;AAEzB,IAAA,MAAM,IAAI,GAAG,KAAK,EAAE,IAAI,CACtB,CAAC,IAAI,KACH,IAAI,EAAE,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE;AACzF,QAAA,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,SAAS,CACnC;AACD,IAAA,IAAI,IAAI,EAAE,QAAQ,KAAK,WAAW,EAAE;AAClC,QAAA,OAAO,OAAO,CAAC,SAAS,GAAGA,IAAC,OAAO,CAAC,SAAS,CAAC,YAAY,OAAK,KAAK,EAAA,CAAI,GAAG,IAAI;IACjF;AACA,IAAA,OAAOA,IAAC,OAAO,CAAC,YAAY,EAAA,EAAA,GAAK,KAAK,GAAI;AAC5C;;;;"}
|
|
@@ -37,13 +37,7 @@ const BondCards = ({ bondData, isDoingMaxBuy }) => {
|
|
|
37
37
|
const blockBg = { background: MCColorMapping.white3[bondData.marketingCampaign] };
|
|
38
38
|
return (jsxs("div", { className: "bonds-cards ape:flex ape:w-full ape:flex-col ape:min-md:flex-row ape:min-md:gap-[5px]", children: [jsxs("div", { className: blockClasses, style: blockBg, children: [jsxs(Flex, { className: "bond-card-title ape:flex ape:font-normal ape:text-[12px] ape:min-md:pb-[5px] ape:items-center", children: [SDKConfig.namingPreference, jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(Flex, { children: TooltipText.Discount }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, -5%)", children: jsx("div", { className: "bond-card-tooltip ape:pl-[5px] ape:items-start ape:cursor-pointer", children: jsx(QuestionCircle, { width: "12px" }) }) })] }), jsx(BonusComponent, { trueBondPrices: SDKConfig.namingPreference !== 'Discount' ? bondData.trueBondPrices : undefined, minTier: bondData.minTier, tooltipPosition: isMobile ? 'bottomRight' : 'bottomLeft', bonus: SDKConfig.namingPreference === 'Discount'
|
|
39
39
|
? `${bondData?.trueBondPrices?.[0]?.discountWithFee?.toFixed(2)}%`
|
|
40
|
-
: undefined })] }), jsxs("div", { className: blockClasses, style: blockBg, children: [jsxs("div", { className: "bond-card-title ape:flex ape:font-normal ape:text-[12px] ape:md:pb-1.25 ape:items-center", children: ["Terms", jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(Flex, { children: TooltipText.Terms }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, -5%)", children: jsx("div", { className: "bond-card-tooltip ape:pl-[5px] ape:items-start ape:cursor-pointer", children: jsx(QuestionCircle, { width: "12px" }) }) })] }), jsxs("div", { className: "bond-card-content ape:flex ape:text-[12px] ape:font-bold ape:min-md:text-[16px] ape:items-center", children: [getVestingTermsString(bondData), bondData.vestingCliff && (jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(Flex, { children: getVestingTermsTooltipString(bondData) }), width: "180px", placement: "bottomRight", transformTip: "translate(13%, 0%)", children: jsx(Flex, { className: "ape:opacity-60 ape:ml-[6px]", children: jsx(QuestionCircle, { width: "12px" }) }) }))] })] }), jsxs("div", { className: clsx(blockClasses, 'ape:relative'), style: { ...blockBg, border: isDoingMaxBuy ? '2px solid green' : undefined }, children: [isDoingMaxBuy && (jsx(Flex, { className: "ape:absolute ape:top-0 ape:right-0 ape:translate-x-1/2 ape:-translate-y-1/2 ape:md:-translate-x-1/2", children: jsx(Success, { width: isMobile ? 16 : 20 }) })), jsxs("div", { className: "bond-card-title ape:flex ape:font-normal ape:text-[12px] ape:md:pb-1.25 ape:items-center", children: ["Max Buy", jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(Flex, { children: TooltipText.MaxBuy(bondData?.earnToken?.symbol) }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, -5%)", children: jsx("div", { className: "bond-card-tooltip ape:pl-1.25 ape:items-start ape:cursor-pointer", children: jsx(QuestionCircle, { width: "12px" }) }) })] }), jsxs(Flex, { className: "bond-card-content ape:flex ape:text-[12px] ape:font-bold ape:min-md:text-[16px] ape:items-center", children: [jsx("div", { style: { paddingRight: '3px' }, children: jsx(TokenImage, { symbol: bondData.showcaseTokenName ?? bondData.earnToken.symbol, size: 22, chain: bondData.chainId }) }), formatNumberSI(getMaxBuy(bondData, SDKConfig.showLowValueBonds).toString(), 0)] })] }), jsxs("div", { className: blockClasses, style: blockBg, children: [jsxs(Flex, { className: "bond-card-title ape:flex ape:font-normal ape:text-[12px] ape:min-md:pb-[5px] ape:items-center", children: ["Tokens Remaining", jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(Flex, { children: TooltipText.TokensRemaining }), width: "230px", placement: isMobile ? 'bottomLeft' : 'bottomRight', transformTip: isMobile ? 'translate(-5%, -5%)' : 'translate(11%, -2%)', children: jsx("div", { className: "bond-card-tooltip ape:pl-[5px] ape:items-start ape:cursor-pointer", children: jsx(QuestionCircle, { width: "12px" }) }) })] }), jsx(ProgressBarWrapper, { title: '', value: jsx(ProgressBar
|
|
41
|
-
//TODO: remove this custom request once bond ends
|
|
42
|
-
, {
|
|
43
|
-
//TODO: remove this custom request once bond ends
|
|
44
|
-
value: bondData?.earnToken?.symbol === 'HAR'
|
|
45
|
-
? Math.max(remainingPercentage(bondData) - 33, 0)
|
|
46
|
-
: remainingPercentage(bondData) }), style: {
|
|
40
|
+
: undefined })] }), jsxs("div", { className: blockClasses, style: blockBg, children: [jsxs("div", { className: "bond-card-title ape:flex ape:font-normal ape:text-[12px] ape:md:pb-1.25 ape:items-center", children: ["Terms", jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(Flex, { children: TooltipText.Terms }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, -5%)", children: jsx("div", { className: "bond-card-tooltip ape:pl-[5px] ape:items-start ape:cursor-pointer", children: jsx(QuestionCircle, { width: "12px" }) }) })] }), jsxs("div", { className: "bond-card-content ape:flex ape:text-[12px] ape:font-bold ape:min-md:text-[16px] ape:items-center", children: [getVestingTermsString(bondData), bondData.vestingCliff && (jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(Flex, { children: getVestingTermsTooltipString(bondData) }), width: "180px", placement: "bottomRight", transformTip: "translate(13%, 0%)", children: jsx(Flex, { className: "ape:opacity-60 ape:ml-[6px]", children: jsx(QuestionCircle, { width: "12px" }) }) }))] })] }), jsxs("div", { className: clsx(blockClasses, 'ape:relative'), style: { ...blockBg, border: isDoingMaxBuy ? '2px solid green' : undefined }, children: [isDoingMaxBuy && (jsx(Flex, { className: "ape:absolute ape:top-0 ape:right-0 ape:translate-x-1/2 ape:-translate-y-1/2 ape:md:-translate-x-1/2", children: jsx(Success, { width: isMobile ? 16 : 20 }) })), jsxs("div", { className: "bond-card-title ape:flex ape:font-normal ape:text-[12px] ape:md:pb-1.25 ape:items-center", children: ["Max Buy", jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(Flex, { children: TooltipText.MaxBuy(bondData?.earnToken?.symbol) }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, -5%)", children: jsx("div", { className: "bond-card-tooltip ape:pl-1.25 ape:items-start ape:cursor-pointer", children: jsx(QuestionCircle, { width: "12px" }) }) })] }), jsxs(Flex, { className: "bond-card-content ape:flex ape:text-[12px] ape:font-bold ape:min-md:text-[16px] ape:items-center", children: [jsx("div", { style: { paddingRight: '3px' }, children: jsx(TokenImage, { symbol: bondData.showcaseTokenName ?? bondData.earnToken.symbol, size: 22, chain: bondData.chainId }) }), formatNumberSI(getMaxBuy(bondData, SDKConfig.showLowValueBonds).toString(), 0)] })] }), jsxs("div", { className: blockClasses, style: blockBg, children: [jsxs(Flex, { className: "bond-card-title ape:flex ape:font-normal ape:text-[12px] ape:min-md:pb-[5px] ape:items-center", children: ["Tokens Remaining", jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(Flex, { children: TooltipText.TokensRemaining }), width: "230px", placement: isMobile ? 'bottomLeft' : 'bottomRight', transformTip: isMobile ? 'translate(-5%, -5%)' : 'translate(11%, -2%)', children: jsx("div", { className: "bond-card-tooltip ape:pl-[5px] ape:items-start ape:cursor-pointer", children: jsx(QuestionCircle, { width: "12px" }) }) })] }), jsx(ProgressBarWrapper, { title: '', value: jsx(ProgressBar, { value: remainingPercentage(bondData) }), style: {
|
|
47
41
|
width: '127px',
|
|
48
42
|
height: '25px',
|
|
49
43
|
flexDirection: 'column',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BondCards.js","sources":["../../../../../src/views/BuyBond/components/BondCards/BondCards.tsx"],"sourcesContent":["import React from 'react'\nimport clsx from 'clsx'\nimport { TooltipText } from '../../../../config/constants/tooltips'\nimport TokenImage from '../../../../components/uikit-sdk/TokenImage'\nimport {\n getMaxBuy,\n getRemainingTokensString,\n getVestingTermsString,\n getVestingTermsTooltipString,\n remainingPercentage,\n} from '../../../../utils/displayHelpers'\nimport { BondsData } from '../../../../types/bonds'\nimport BonusComponent from '../../../Bonds/components/BonusComponents/BonusComponent'\nimport { useIsMobile } from '../../../../hooks/useIsMobile'\nimport { formatNumberSI } from '../../../../utils/formatNumber'\nimport ProgressBar from '../../../../components/ProgressBar/ProgressBar'\nimport ProgressBarWrapper from '../../../../components/ProgressBar/ProgressBarWrapper'\nimport { useSDKConfig } from '../../../../state/useSDKConfig'\nimport { MCColorMapping } from '../../../../utils/campaignStyles'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport TooltipBubble from '../../../../components/uikit-sdk/TooltipBubble'\nimport QuestionCircle from '../../../../components/uikit-sdk/Svg/Icons/QuestionCircle'\nimport Success from '../../../../components/uikit-sdk/Svg/Icons/Success'\n\nconst blockClasses =\n 'bond-card-block ' +\n 'ape:flex ' +\n 'ape:p-[6px_12px] ' +\n 'ape:w-full ' +\n 'ape:items-center ' +\n 'ape:justify-between ' +\n 'ape:border-b ' +\n 'ape:border-white2 ' +\n 'ape:bg-white3 ' +\n 'ape:md:w-87.5 ' +\n 'ape:md:flex-col ' +\n 'ape:md:p-3 ' +\n 'ape:rounded-none ' +\n 'ape:md:rounded-normal ' +\n 'ape:first:rounded-t-normal ' +\n 'ape:last:rounded-b-normal'\n\nconst BondCards = ({ bondData, isDoingMaxBuy }: { bondData: BondsData; isDoingMaxBuy?: boolean }) => {\n const isMobile = useIsMobile()\n const SDKConfig = useSDKConfig()\n const blockBg = { background: MCColorMapping.white3[bondData.marketingCampaign!] }\n\n return (\n <div className=\"bonds-cards ape:flex ape:w-full ape:flex-col ape:min-md:flex-row ape:min-md:gap-[5px]\">\n <div className={blockClasses} style={blockBg}>\n <Flex className=\"bond-card-title ape:flex ape:font-normal ape:text-[12px] ape:min-md:pb-[5px] ape:items-center\">\n {SDKConfig.namingPreference}\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={<Flex>{TooltipText.Discount}</Flex>}\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, -5%)\"\n >\n <div className=\"bond-card-tooltip ape:pl-[5px] ape:items-start ape:cursor-pointer\">\n <QuestionCircle width=\"12px\" />\n </div>\n </TooltipBubble>\n </Flex>\n <BonusComponent\n trueBondPrices={SDKConfig.namingPreference !== 'Discount' ? bondData.trueBondPrices : undefined}\n minTier={bondData.minTier}\n tooltipPosition={isMobile ? 'bottomRight' : 'bottomLeft'}\n bonus={\n SDKConfig.namingPreference === 'Discount'\n ? `${bondData?.trueBondPrices?.[0]?.discountWithFee?.toFixed(2)}%`\n : undefined\n }\n />\n </div>\n <div className={blockClasses} style={blockBg}>\n <div className=\"bond-card-title ape:flex ape:font-normal ape:text-[12px] ape:md:pb-1.25 ape:items-center\">\n Terms\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={<Flex>{TooltipText.Terms}</Flex>}\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, -5%)\"\n >\n <div className=\"bond-card-tooltip ape:pl-[5px] ape:items-start ape:cursor-pointer\">\n <QuestionCircle width=\"12px\" />\n </div>\n </TooltipBubble>\n </div>\n <div className=\"bond-card-content ape:flex ape:text-[12px] ape:font-bold ape:min-md:text-[16px] ape:items-center\">\n {getVestingTermsString(bondData)}\n {bondData.vestingCliff && (\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={<Flex>{getVestingTermsTooltipString(bondData)}</Flex>}\n width=\"180px\"\n placement=\"bottomRight\"\n transformTip=\"translate(13%, 0%)\"\n >\n <Flex className=\"ape:opacity-60 ape:ml-[6px]\">\n <QuestionCircle width=\"12px\" />\n </Flex>\n </TooltipBubble>\n )}\n </div>\n </div>\n <div\n className={clsx(blockClasses, 'ape:relative')}\n style={{ ...blockBg, border: isDoingMaxBuy ? '2px solid green' : undefined }}\n >\n {isDoingMaxBuy && (\n <Flex className=\"ape:absolute ape:top-0 ape:right-0 ape:translate-x-1/2 ape:-translate-y-1/2 ape:md:-translate-x-1/2\">\n <Success width={isMobile ? 16 : 20} />\n </Flex>\n )}\n <div className=\"bond-card-title ape:flex ape:font-normal ape:text-[12px] ape:md:pb-1.25 ape:items-center\">\n Max Buy\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={<Flex>{TooltipText.MaxBuy(bondData?.earnToken?.symbol)}</Flex>}\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, -5%)\"\n >\n <div className=\"bond-card-tooltip ape:pl-1.25 ape:items-start ape:cursor-pointer\">\n <QuestionCircle width=\"12px\" />\n </div>\n </TooltipBubble>\n </div>\n <Flex className=\"bond-card-content ape:flex ape:text-[12px] ape:font-bold ape:min-md:text-[16px] ape:items-center\">\n <div style={{ paddingRight: '3px' }}>\n <TokenImage\n symbol={bondData.showcaseTokenName ?? bondData.earnToken.symbol}\n size={22}\n chain={bondData.chainId}\n />\n </div>\n {formatNumberSI(getMaxBuy(bondData, SDKConfig.showLowValueBonds).toString(), 0)}\n </Flex>\n </div>\n <div className={blockClasses} style={blockBg}>\n <Flex className=\"bond-card-title ape:flex ape:font-normal ape:text-[12px] ape:min-md:pb-[5px] ape:items-center\">\n Tokens Remaining\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={<Flex>{TooltipText.TokensRemaining}</Flex>}\n width=\"230px\"\n placement={isMobile ? 'bottomLeft' : 'bottomRight'}\n transformTip={isMobile ? 'translate(-5%, -5%)' : 'translate(11%, -2%)'}\n >\n <div className=\"bond-card-tooltip ape:pl-[5px] ape:items-start ape:cursor-pointer\">\n <QuestionCircle width=\"12px\" />\n </div>\n </TooltipBubble>\n </Flex>\n <ProgressBarWrapper\n title={''}\n value={\n <ProgressBar\n //TODO: remove this custom request once bond ends\n value={\n bondData?.earnToken?.symbol === 'HAR'\n ? Math.max(remainingPercentage(bondData) - 33, 0)\n : remainingPercentage(bondData)\n }\n />\n }\n style={{\n width: '127px',\n height: '25px',\n flexDirection: 'column',\n justifyContent: 'center',\n }}\n showTooltip={true}\n toolTip={getRemainingTokensString(bondData, SDKConfig.showLowValueBonds)}\n />\n </div>\n </div>\n )\n}\n\nexport default BondCards\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BondCards.js","sources":["../../../../../src/views/BuyBond/components/BondCards/BondCards.tsx"],"sourcesContent":["import React from 'react'\nimport clsx from 'clsx'\nimport { TooltipText } from '../../../../config/constants/tooltips'\nimport TokenImage from '../../../../components/uikit-sdk/TokenImage'\nimport {\n getMaxBuy,\n getRemainingTokensString,\n getVestingTermsString,\n getVestingTermsTooltipString,\n remainingPercentage,\n} from '../../../../utils/displayHelpers'\nimport { BondsData } from '../../../../types/bonds'\nimport BonusComponent from '../../../Bonds/components/BonusComponents/BonusComponent'\nimport { useIsMobile } from '../../../../hooks/useIsMobile'\nimport { formatNumberSI } from '../../../../utils/formatNumber'\nimport ProgressBar from '../../../../components/ProgressBar/ProgressBar'\nimport ProgressBarWrapper from '../../../../components/ProgressBar/ProgressBarWrapper'\nimport { useSDKConfig } from '../../../../state/useSDKConfig'\nimport { MCColorMapping } from '../../../../utils/campaignStyles'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport TooltipBubble from '../../../../components/uikit-sdk/TooltipBubble'\nimport QuestionCircle from '../../../../components/uikit-sdk/Svg/Icons/QuestionCircle'\nimport Success from '../../../../components/uikit-sdk/Svg/Icons/Success'\n\nconst blockClasses =\n 'bond-card-block ' +\n 'ape:flex ' +\n 'ape:p-[6px_12px] ' +\n 'ape:w-full ' +\n 'ape:items-center ' +\n 'ape:justify-between ' +\n 'ape:border-b ' +\n 'ape:border-white2 ' +\n 'ape:bg-white3 ' +\n 'ape:md:w-87.5 ' +\n 'ape:md:flex-col ' +\n 'ape:md:p-3 ' +\n 'ape:rounded-none ' +\n 'ape:md:rounded-normal ' +\n 'ape:first:rounded-t-normal ' +\n 'ape:last:rounded-b-normal'\n\nconst BondCards = ({ bondData, isDoingMaxBuy }: { bondData: BondsData; isDoingMaxBuy?: boolean }) => {\n const isMobile = useIsMobile()\n const SDKConfig = useSDKConfig()\n const blockBg = { background: MCColorMapping.white3[bondData.marketingCampaign!] }\n\n return (\n <div className=\"bonds-cards ape:flex ape:w-full ape:flex-col ape:min-md:flex-row ape:min-md:gap-[5px]\">\n <div className={blockClasses} style={blockBg}>\n <Flex className=\"bond-card-title ape:flex ape:font-normal ape:text-[12px] ape:min-md:pb-[5px] ape:items-center\">\n {SDKConfig.namingPreference}\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={<Flex>{TooltipText.Discount}</Flex>}\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, -5%)\"\n >\n <div className=\"bond-card-tooltip ape:pl-[5px] ape:items-start ape:cursor-pointer\">\n <QuestionCircle width=\"12px\" />\n </div>\n </TooltipBubble>\n </Flex>\n <BonusComponent\n trueBondPrices={SDKConfig.namingPreference !== 'Discount' ? bondData.trueBondPrices : undefined}\n minTier={bondData.minTier}\n tooltipPosition={isMobile ? 'bottomRight' : 'bottomLeft'}\n bonus={\n SDKConfig.namingPreference === 'Discount'\n ? `${bondData?.trueBondPrices?.[0]?.discountWithFee?.toFixed(2)}%`\n : undefined\n }\n />\n </div>\n <div className={blockClasses} style={blockBg}>\n <div className=\"bond-card-title ape:flex ape:font-normal ape:text-[12px] ape:md:pb-1.25 ape:items-center\">\n Terms\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={<Flex>{TooltipText.Terms}</Flex>}\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, -5%)\"\n >\n <div className=\"bond-card-tooltip ape:pl-[5px] ape:items-start ape:cursor-pointer\">\n <QuestionCircle width=\"12px\" />\n </div>\n </TooltipBubble>\n </div>\n <div className=\"bond-card-content ape:flex ape:text-[12px] ape:font-bold ape:min-md:text-[16px] ape:items-center\">\n {getVestingTermsString(bondData)}\n {bondData.vestingCliff && (\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={<Flex>{getVestingTermsTooltipString(bondData)}</Flex>}\n width=\"180px\"\n placement=\"bottomRight\"\n transformTip=\"translate(13%, 0%)\"\n >\n <Flex className=\"ape:opacity-60 ape:ml-[6px]\">\n <QuestionCircle width=\"12px\" />\n </Flex>\n </TooltipBubble>\n )}\n </div>\n </div>\n <div\n className={clsx(blockClasses, 'ape:relative')}\n style={{ ...blockBg, border: isDoingMaxBuy ? '2px solid green' : undefined }}\n >\n {isDoingMaxBuy && (\n <Flex className=\"ape:absolute ape:top-0 ape:right-0 ape:translate-x-1/2 ape:-translate-y-1/2 ape:md:-translate-x-1/2\">\n <Success width={isMobile ? 16 : 20} />\n </Flex>\n )}\n <div className=\"bond-card-title ape:flex ape:font-normal ape:text-[12px] ape:md:pb-1.25 ape:items-center\">\n Max Buy\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={<Flex>{TooltipText.MaxBuy(bondData?.earnToken?.symbol)}</Flex>}\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, -5%)\"\n >\n <div className=\"bond-card-tooltip ape:pl-1.25 ape:items-start ape:cursor-pointer\">\n <QuestionCircle width=\"12px\" />\n </div>\n </TooltipBubble>\n </div>\n <Flex className=\"bond-card-content ape:flex ape:text-[12px] ape:font-bold ape:min-md:text-[16px] ape:items-center\">\n <div style={{ paddingRight: '3px' }}>\n <TokenImage\n symbol={bondData.showcaseTokenName ?? bondData.earnToken.symbol}\n size={22}\n chain={bondData.chainId}\n />\n </div>\n {formatNumberSI(getMaxBuy(bondData, SDKConfig.showLowValueBonds).toString(), 0)}\n </Flex>\n </div>\n <div className={blockClasses} style={blockBg}>\n <Flex className=\"bond-card-title ape:flex ape:font-normal ape:text-[12px] ape:min-md:pb-[5px] ape:items-center\">\n Tokens Remaining\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={<Flex>{TooltipText.TokensRemaining}</Flex>}\n width=\"230px\"\n placement={isMobile ? 'bottomLeft' : 'bottomRight'}\n transformTip={isMobile ? 'translate(-5%, -5%)' : 'translate(11%, -2%)'}\n >\n <div className=\"bond-card-tooltip ape:pl-[5px] ape:items-start ape:cursor-pointer\">\n <QuestionCircle width=\"12px\" />\n </div>\n </TooltipBubble>\n </Flex>\n <ProgressBarWrapper\n title={''}\n value={<ProgressBar value={remainingPercentage(bondData)} />}\n style={{\n width: '127px',\n height: '25px',\n flexDirection: 'column',\n justifyContent: 'center',\n }}\n showTooltip={true}\n toolTip={getRemainingTokensString(bondData, SDKConfig.showLowValueBonds)}\n />\n </div>\n </div>\n )\n}\n\nexport default BondCards\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { BondsData } from '../../../types/bonds';
|
|
2
|
-
declare const BondModalHeader: ({ bondData, onDismiss,
|
|
2
|
+
declare const BondModalHeader: ({ bondData, onDismiss, hidePromotionUi, }: {
|
|
3
3
|
bondData: BondsData;
|
|
4
4
|
onDismiss?: () => void;
|
|
5
|
-
showProjectInfoButton?: boolean;
|
|
6
5
|
hidePromotionUi?: boolean;
|
|
7
6
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
8
7
|
export default BondModalHeader;
|
|
@@ -22,16 +22,22 @@ import Cog from '../../../components/uikit-sdk/Svg/Icons/Cog.js';
|
|
|
22
22
|
import Close from '../../../components/uikit-sdk/Svg/Icons/Close.js';
|
|
23
23
|
import GiftBox from '../../../components/uikit-sdk/Svg/Icons/GiftBox.js';
|
|
24
24
|
|
|
25
|
-
const BondModalHeader = ({ bondData, onDismiss,
|
|
25
|
+
const BondModalHeader = ({ bondData, onDismiss, hidePromotionUi = false, }) => {
|
|
26
|
+
// Hooks
|
|
26
27
|
const isMobile = useIsMobile();
|
|
27
28
|
const SDKConfig = useSDKConfig();
|
|
28
29
|
const { data: tierPointsState } = useTierPoints();
|
|
29
30
|
const { promotion, eligibleChains } = tierPointsState || {};
|
|
30
|
-
//
|
|
31
|
-
const
|
|
32
|
-
|
|
31
|
+
// Static Data
|
|
32
|
+
const tokenSymbol = bondData.billType === 'lpStaking'
|
|
33
|
+
? bondData.lpStakingConfig?.bonusRewardToken.symbol
|
|
34
|
+
: (bondData?.showcaseTokenName ?? bondData?.earnToken?.symbol);
|
|
35
|
+
const showProjectInfoButton = SDKConfig?.referenceId === 'apebond';
|
|
36
|
+
const isBondEligibleForPromotion = !(bondData?.billType === 'lpStaking') && // lpStaking bonds are not eligible for promotions
|
|
37
|
+
(eligibleChains === undefined || eligibleChains?.includes(bondData.chainId)); // if promotion comes with eligibleChains undefined means it should be used for every chain
|
|
33
38
|
const minTier = bondData.minTier !== undefined ? bondData.minTier : null;
|
|
34
39
|
const bonusWithFee = findHighestTrueBondPrice(TIERS_WEIGHT[LaunchBondTiers.Legend], bondData?.trueBondPrices)?.bonusWithFee;
|
|
40
|
+
// Handlers
|
|
35
41
|
const handleClose = () => {
|
|
36
42
|
if (typeof window !== 'undefined') {
|
|
37
43
|
window.history.pushState({}, '', `/bonds`);
|
|
@@ -50,7 +56,9 @@ const BondModalHeader = ({ bondData, onDismiss, showProjectInfoButton, hidePromo
|
|
|
50
56
|
},
|
|
51
57
|
});
|
|
52
58
|
};
|
|
53
|
-
|
|
59
|
+
// Modals
|
|
60
|
+
const [onOpenSlippageModal] = useModal(jsx(SlippageModal, { chainId: bondData.chainId }));
|
|
61
|
+
return (jsxs(Flex, { className: "modaltable-container title-container ape:w-full ape:flex ape:relative ape:flex-col ape:justify-center ape:items-start", children: [jsxs(Flex, { className: "ape:w-full ape:h-[30px] ape:max-md:mb-[10px] ape:md:mb-0 ape:justify-between ape:md:justify-end", children: [jsx(Flex, { className: "ape:flex ape:md:hidden", children: jsx(BondModalMinTierHeader, { minTier: minTier }) }), jsx(Flex, { className: "ape:cursor-pointer", children: onDismiss ? (jsxs(Fragment, { children: [showProjectInfoButton && jsx(ExpandedViewButton, { handleNavigation: handleProjectViewNavigation }), jsx(Flex, { className: "ape:mx-[25px]", onClick: onOpenSlippageModal, children: jsx(Cog, { width: isMobile ? '16px' : '20px' }) }), jsx(Flex, { onClick: handleClose, children: jsx(Close, { color: "text", width: isMobile ? '12px' : '18px' }) })] })) : (jsx(Flex, { className: "ape:py-[3px] ape:mt-[10px]", onClick: onOpenSlippageModal, children: jsx(Cog, { width: isMobile ? '16px' : '20px' }) })) })] }), jsxs(Flex, { className: "ape:w-full ape:relative", children: [jsxs(Flex, { className: "title-container bondicon ape:flex ape:flex-row ape:items-center ape:relative", children: [jsx(Flex, { style: MCTokenIconStyles[bondData.marketingCampaign] }), jsx(TokenImage, { symbol: tokenSymbol, size: 50, chain: bondData.chainId })] }), jsxs(Flex, { className: "ape:flex ape:flex-col ape:pl-[10px] ape:md:pl-[20px] ape:text-[20px] ape:md:text-[24px] ape:font-bold", children: [tokenSymbol, jsx(ListTag, { text: bondData?.tags?.[0] })] }), jsxs(Flex, { className: "title-container price-container ape:flex-col ape:pl-[10px] ape:md:pl-[20px]", children: [jsxs(Flex, { className: "price-container price ape:line-through ape:opacity-50 ape:font-normal ape:text-[12px] ape:md:text-[14px]", children: ["$", formatNumberSI(bondData.payoutTokenPrice, 2)] }), SDKConfig.useTiers &&
|
|
54
62
|
bondData.billVersion === BillVersion.V4 &&
|
|
55
63
|
(bondData?.trueBondPrices?.length ?? 0) > 1 ? (jsxs(Flex, { className: "ape:p-[3px_6px] ape:border ape:border-solid ape:border-[#9960C5] ape:rounded-normal ape:bg-transparent ape:relative ape:overflow-hidden", children: [jsx(Flex, { className: "ape:absolute ape:w-full ape:h-full ape:top-0 ape:left-0 ape:z-[1] ape:bg-[#9960C5] ape:opacity-20" }), jsxs(Flex, { className: "ape:w-full ape:z-[2] ape:items-center", children: [jsx("img", { src: `https://ape.bond/images/launch/mythical.png`, alt: "minTier", style: { width: '21px', height: '21px', marginRight: '3px', zIndex: 1 } }), jsx(Flex, { className: "ape:text-[12px] ape:md:text-[14px] ape:mr-[3px]", children: "Up to" }), jsxs(Flex, { className: clsx('ape:text-[12px] ape:md:text-[14px]', bonusWithFee && bonusWithFee > 0 ? 'ape:text-success' : 'ape:text-error'), children: ["$", discountEarnTokenPrice(bondData, true)] })] })] })) : (jsxs(Flex, { className: "ape:text-[24px] ape:font-bold", children: ["$", discountEarnTokenPrice(bondData)] }))] }), jsx(Flex, { className: "ape:hidden ape:md:flex ape:ml-[10px]", children: jsx(BondModalMinTierHeader, { minTier: minTier }) }), !hidePromotionUi && isBondEligibleForPromotion && promotion && (jsx(Flex, { className: "ape:absolute ape:right-0 ape:md:top-[20px] ape:bottom-[3px] ape:md:bottom-[unset]", children: jsx(TooltipBubble, { body: promotionDataMapping[promotion]?.tooltip, width: "205px", placement: "bottomRight", transformTip: isMobile ? 'translate(5%, 0%)' : 'translate(0%, 0%)', children: jsxs(Flex, { className: "ape:border ape:border-solid ape:border-primary-button ape:rounded-[10px] ape:md:rounded-[20px] ape:p-[4px_2px] ape:md:p-[4px_10px] ape:items-center ape:text-[12px] ape:font-normal ape:text-text-disabled-button ape:cursor-pointer", style: { boxShadow: '0px 0px 30px -10px rgba(222, 98, 243, 0.5)' }, children: [jsx(Flex, { className: "ape:mt-[-15px]", children: jsx(GiftBox, { width: 30, color: 'textDisabledButton' }) }), jsx(Flex, { className: "ape:hidden ape:md:flex ape:capitalize", children: promotion })] }) }) }))] })] }));
|
|
56
64
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BondModalHeader.js","sources":["../../../../src/views/BuyBond/components/BondModalHeader.tsx"],"sourcesContent":["import React from 'react'\nimport clsx from 'clsx'\nimport TokenImage from '../../../components/uikit-sdk/TokenImage'\nimport { discountEarnTokenPrice } from '../../../utils/displayHelpers'\nimport useModal from '../../../hooks/useModal'\nimport SlippageModal from '../../../components/SlippageModal'\nimport { BondsData } from '../../../types/bonds'\nimport ExpandedViewButton from './ExpandedViewButton'\nimport track from '../../../utils/track'\nimport BondModalMinTierHeader from './BondModalMinTierHeader'\nimport useTierPoints from '../../../state/tiers/useTierPoints'\nimport { promotionDataMapping, TIERS_WEIGHT } from '../../../state/tiers/tiers'\nimport { BillVersion, LaunchBondTiers } from '@ape.swap/apeswap-lists'\nimport { useSDKConfig } from '../../../state/useSDKConfig'\nimport { findHighestTrueBondPrice } from '../../../utils/bondPriceHelpers'\nimport { MCTokenIconStyles } from '../../../utils/campaignStyles'\nimport { useIsMobile } from '../../../hooks/useIsMobile'\nimport Flex from '../../../components/uikit-sdk/Flex'\nimport ListTag from '../../../components/uikit-sdk/Tag/ListTag'\nimport { formatNumberSI } from '../../../utils/formatNumber'\nimport TooltipBubble from '../../../components/uikit-sdk/TooltipBubble'\nimport Cog from '../../../components/uikit-sdk/Svg/Icons/Cog'\nimport Close from '../../../components/uikit-sdk/Svg/Icons/Close'\nimport GiftBox from '../../../components/uikit-sdk/Svg/Icons/GiftBox'\n\nconst BondModalHeader = ({\n bondData,\n onDismiss,\n showProjectInfoButton,\n hidePromotionUi = false,\n}: {\n bondData: BondsData\n onDismiss?: () => void\n showProjectInfoButton?: boolean\n hidePromotionUi?: boolean\n}) => {\n const isMobile = useIsMobile()\n const SDKConfig = useSDKConfig()\n const { data: tierPointsState } = useTierPoints()\n const { promotion, eligibleChains } = tierPointsState || {}\n // if promotion comes with eligibleChains undefined means it should be used for every chain\n const isBondEligibleForPromotion = eligibleChains === undefined || eligibleChains?.includes(bondData.chainId)\n const [onOpenSlippageModal] = useModal(<SlippageModal chainId={bondData.chainId} />)\n const minTier = bondData.minTier !== undefined ? bondData.minTier : null\n const bonusWithFee = findHighestTrueBondPrice(\n TIERS_WEIGHT[LaunchBondTiers.Legend],\n bondData?.trueBondPrices,\n )?.bonusWithFee\n\n const handleClose = () => {\n if (typeof window !== 'undefined') {\n window.history.pushState({}, '', `/bonds`)\n }\n onDismiss?.()\n }\n\n const handleProjectViewNavigation = () => {\n window.location.href = `/bonds/${bondData?.contractAddress?.[bondData?.chainId]}/${bondData?.chainId}`\n track({\n event: 'projectInfoClick',\n chain: bondData.chainId,\n data: {\n cat: 'Modal',\n bond: bondData.earnToken.symbol,\n bondChain: bondData.chainId,\n },\n })\n }\n\n return (\n <Flex className=\"modaltable-container title-container ape:w-full ape:flex ape:relative ape:flex-col ape:justify-center ape:items-start\">\n <Flex className=\"ape:w-full ape:h-[30px] ape:max-md:mb-[10px] ape:md:mb-0 ape:justify-between ape:md:justify-end\">\n <Flex className=\"ape:flex ape:md:hidden\">\n <BondModalMinTierHeader minTier={minTier} />\n </Flex>\n <Flex className=\"ape:cursor-pointer\">\n {onDismiss ? (\n <>\n {showProjectInfoButton && <ExpandedViewButton handleNavigation={handleProjectViewNavigation} />}\n <Flex className=\"ape:mx-[25px]\" onClick={onOpenSlippageModal}>\n <Cog width={isMobile ? '16px' : '20px'} />\n </Flex>\n <Flex onClick={handleClose}>\n <Close color=\"text\" width={isMobile ? '12px' : '18px'} />\n </Flex>\n </>\n ) : (\n <Flex className=\"ape:py-[3px] ape:mt-[10px]\" onClick={onOpenSlippageModal}>\n <Cog width={isMobile ? '16px' : '20px'} />\n </Flex>\n )}\n </Flex>\n </Flex>\n <Flex className=\"ape:w-full ape:relative\">\n <Flex className=\"title-container bondicon ape:flex ape:flex-row ape:items-center ape:relative\">\n <Flex style={MCTokenIconStyles[bondData.marketingCampaign!]} />\n <TokenImage\n symbol={bondData.showcaseTokenName ?? bondData.earnToken.symbol}\n size={50}\n chain={bondData.chainId}\n />\n </Flex>\n <Flex className=\"ape:flex ape:flex-col ape:pl-[10px] ape:md:pl-[20px] ape:text-[20px] ape:md:text-[24px] ape:font-bold\">\n {bondData?.showcaseTokenName}\n <ListTag text={bondData?.tags?.[0]} />\n </Flex>\n <Flex className=\"title-container price-container ape:flex-col ape:pl-[10px] ape:md:pl-[20px]\">\n <Flex className=\"price-container price ape:line-through ape:opacity-50 ape:font-normal ape:text-[12px] ape:md:text-[14px]\">\n ${formatNumberSI(bondData.payoutTokenPrice, 2)}\n </Flex>\n {SDKConfig.useTiers &&\n bondData.billVersion === BillVersion.V4 &&\n (bondData?.trueBondPrices?.length ?? 0) > 1 ? (\n <Flex className=\"ape:p-[3px_6px] ape:border ape:border-solid ape:border-[#9960C5] ape:rounded-normal ape:bg-transparent ape:relative ape:overflow-hidden\">\n <Flex className=\"ape:absolute ape:w-full ape:h-full ape:top-0 ape:left-0 ape:z-[1] ape:bg-[#9960C5] ape:opacity-20\" />\n <Flex className=\"ape:w-full ape:z-[2] ape:items-center\">\n <img\n src={`https://ape.bond/images/launch/mythical.png`}\n alt=\"minTier\"\n style={{ width: '21px', height: '21px', marginRight: '3px', zIndex: 1 }}\n />\n <Flex className=\"ape:text-[12px] ape:md:text-[14px] ape:mr-[3px]\">Up to</Flex>\n <Flex\n className={clsx(\n 'ape:text-[12px] ape:md:text-[14px]',\n bonusWithFee && bonusWithFee > 0 ? 'ape:text-success' : 'ape:text-error',\n )}\n >\n ${discountEarnTokenPrice(bondData, true)}\n </Flex>\n </Flex>\n </Flex>\n ) : (\n <Flex className=\"ape:text-[24px] ape:font-bold\">${discountEarnTokenPrice(bondData)}</Flex>\n )}\n </Flex>\n <Flex className=\"ape:hidden ape:md:flex ape:ml-[10px]\">\n <BondModalMinTierHeader minTier={minTier} />\n </Flex>\n {!hidePromotionUi && isBondEligibleForPromotion && promotion && (\n <Flex className=\"ape:absolute ape:right-0 ape:md:top-[20px] ape:bottom-[3px] ape:md:bottom-[unset]\">\n <TooltipBubble\n body={promotionDataMapping[promotion]?.tooltip}\n width=\"205px\"\n placement=\"bottomRight\"\n transformTip={isMobile ? 'translate(5%, 0%)' : 'translate(0%, 0%)'}\n >\n <Flex\n className=\"ape:border ape:border-solid ape:border-primary-button ape:rounded-[10px] ape:md:rounded-[20px] ape:p-[4px_2px] ape:md:p-[4px_10px] ape:items-center ape:text-[12px] ape:font-normal ape:text-text-disabled-button ape:cursor-pointer\"\n style={{ boxShadow: '0px 0px 30px -10px rgba(222, 98, 243, 0.5)' }}\n >\n <Flex className=\"ape:mt-[-15px]\">\n <GiftBox width={30} color={'textDisabledButton'} />\n </Flex>\n <Flex className=\"ape:hidden ape:md:flex ape:capitalize\">{promotion}</Flex>\n </Flex>\n </TooltipBubble>\n </Flex>\n )}\n </Flex>\n </Flex>\n )\n}\n\nexport default BondModalHeader\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BondModalHeader.js","sources":["../../../../src/views/BuyBond/components/BondModalHeader.tsx"],"sourcesContent":["import React from 'react'\nimport clsx from 'clsx'\nimport TokenImage from '../../../components/uikit-sdk/TokenImage'\nimport { discountEarnTokenPrice } from '../../../utils/displayHelpers'\nimport useModal from '../../../hooks/useModal'\nimport SlippageModal from '../../../components/SlippageModal'\nimport { BondsData } from '../../../types/bonds'\nimport ExpandedViewButton from './ExpandedViewButton'\nimport track from '../../../utils/track'\nimport BondModalMinTierHeader from './BondModalMinTierHeader'\nimport useTierPoints from '../../../state/tiers/useTierPoints'\nimport { promotionDataMapping, TIERS_WEIGHT } from '../../../state/tiers/tiers'\nimport { BillVersion, LaunchBondTiers } from '@ape.swap/apeswap-lists'\nimport { useSDKConfig } from '../../../state/useSDKConfig'\nimport { findHighestTrueBondPrice } from '../../../utils/bondPriceHelpers'\nimport { MCTokenIconStyles } from '../../../utils/campaignStyles'\nimport { useIsMobile } from '../../../hooks/useIsMobile'\nimport Flex from '../../../components/uikit-sdk/Flex'\nimport ListTag from '../../../components/uikit-sdk/Tag/ListTag'\nimport { formatNumberSI } from '../../../utils/formatNumber'\nimport TooltipBubble from '../../../components/uikit-sdk/TooltipBubble'\nimport Cog from '../../../components/uikit-sdk/Svg/Icons/Cog'\nimport Close from '../../../components/uikit-sdk/Svg/Icons/Close'\nimport GiftBox from '../../../components/uikit-sdk/Svg/Icons/GiftBox'\n\nconst BondModalHeader = ({\n bondData,\n onDismiss,\n hidePromotionUi = false,\n}: {\n bondData: BondsData\n onDismiss?: () => void\n hidePromotionUi?: boolean\n}) => {\n // Hooks\n const isMobile = useIsMobile()\n const SDKConfig = useSDKConfig()\n const { data: tierPointsState } = useTierPoints()\n const { promotion, eligibleChains } = tierPointsState || {}\n\n // Static Data\n const tokenSymbol =\n bondData.billType === 'lpStaking'\n ? bondData.lpStakingConfig?.bonusRewardToken.symbol\n : (bondData?.showcaseTokenName ?? bondData?.earnToken?.symbol)\n const showProjectInfoButton = SDKConfig?.referenceId === 'apebond'\n const isBondEligibleForPromotion =\n !(bondData?.billType === 'lpStaking') && // lpStaking bonds are not eligible for promotions\n (eligibleChains === undefined || eligibleChains?.includes(bondData.chainId)) // if promotion comes with eligibleChains undefined means it should be used for every chain\n const minTier = bondData.minTier !== undefined ? bondData.minTier : null\n const bonusWithFee = findHighestTrueBondPrice(\n TIERS_WEIGHT[LaunchBondTiers.Legend],\n bondData?.trueBondPrices,\n )?.bonusWithFee\n\n // Handlers\n const handleClose = () => {\n if (typeof window !== 'undefined') {\n window.history.pushState({}, '', `/bonds`)\n }\n onDismiss?.()\n }\n const handleProjectViewNavigation = () => {\n window.location.href = `/bonds/${bondData?.contractAddress?.[bondData?.chainId]}/${bondData?.chainId}`\n track({\n event: 'projectInfoClick',\n chain: bondData.chainId,\n data: {\n cat: 'Modal',\n bond: bondData.earnToken.symbol,\n bondChain: bondData.chainId,\n },\n })\n }\n\n // Modals\n const [onOpenSlippageModal] = useModal(<SlippageModal chainId={bondData.chainId} />)\n\n return (\n <Flex className=\"modaltable-container title-container ape:w-full ape:flex ape:relative ape:flex-col ape:justify-center ape:items-start\">\n <Flex className=\"ape:w-full ape:h-[30px] ape:max-md:mb-[10px] ape:md:mb-0 ape:justify-between ape:md:justify-end\">\n <Flex className=\"ape:flex ape:md:hidden\">\n <BondModalMinTierHeader minTier={minTier} />\n </Flex>\n <Flex className=\"ape:cursor-pointer\">\n {onDismiss ? (\n <>\n {showProjectInfoButton && <ExpandedViewButton handleNavigation={handleProjectViewNavigation} />}\n <Flex className=\"ape:mx-[25px]\" onClick={onOpenSlippageModal}>\n <Cog width={isMobile ? '16px' : '20px'} />\n </Flex>\n <Flex onClick={handleClose}>\n <Close color=\"text\" width={isMobile ? '12px' : '18px'} />\n </Flex>\n </>\n ) : (\n <Flex className=\"ape:py-[3px] ape:mt-[10px]\" onClick={onOpenSlippageModal}>\n <Cog width={isMobile ? '16px' : '20px'} />\n </Flex>\n )}\n </Flex>\n </Flex>\n <Flex className=\"ape:w-full ape:relative\">\n <Flex className=\"title-container bondicon ape:flex ape:flex-row ape:items-center ape:relative\">\n <Flex style={MCTokenIconStyles[bondData.marketingCampaign!]} />\n <TokenImage symbol={tokenSymbol} size={50} chain={bondData.chainId} />\n </Flex>\n <Flex className=\"ape:flex ape:flex-col ape:pl-[10px] ape:md:pl-[20px] ape:text-[20px] ape:md:text-[24px] ape:font-bold\">\n {tokenSymbol}\n <ListTag text={bondData?.tags?.[0]} />\n </Flex>\n <Flex className=\"title-container price-container ape:flex-col ape:pl-[10px] ape:md:pl-[20px]\">\n <Flex className=\"price-container price ape:line-through ape:opacity-50 ape:font-normal ape:text-[12px] ape:md:text-[14px]\">\n ${formatNumberSI(bondData.payoutTokenPrice, 2)}\n </Flex>\n {SDKConfig.useTiers &&\n bondData.billVersion === BillVersion.V4 &&\n (bondData?.trueBondPrices?.length ?? 0) > 1 ? (\n <Flex className=\"ape:p-[3px_6px] ape:border ape:border-solid ape:border-[#9960C5] ape:rounded-normal ape:bg-transparent ape:relative ape:overflow-hidden\">\n <Flex className=\"ape:absolute ape:w-full ape:h-full ape:top-0 ape:left-0 ape:z-[1] ape:bg-[#9960C5] ape:opacity-20\" />\n <Flex className=\"ape:w-full ape:z-[2] ape:items-center\">\n <img\n src={`https://ape.bond/images/launch/mythical.png`}\n alt=\"minTier\"\n style={{ width: '21px', height: '21px', marginRight: '3px', zIndex: 1 }}\n />\n <Flex className=\"ape:text-[12px] ape:md:text-[14px] ape:mr-[3px]\">Up to</Flex>\n <Flex\n className={clsx(\n 'ape:text-[12px] ape:md:text-[14px]',\n bonusWithFee && bonusWithFee > 0 ? 'ape:text-success' : 'ape:text-error',\n )}\n >\n ${discountEarnTokenPrice(bondData, true)}\n </Flex>\n </Flex>\n </Flex>\n ) : (\n <Flex className=\"ape:text-[24px] ape:font-bold\">${discountEarnTokenPrice(bondData)}</Flex>\n )}\n </Flex>\n <Flex className=\"ape:hidden ape:md:flex ape:ml-[10px]\">\n <BondModalMinTierHeader minTier={minTier} />\n </Flex>\n {!hidePromotionUi && isBondEligibleForPromotion && promotion && (\n <Flex className=\"ape:absolute ape:right-0 ape:md:top-[20px] ape:bottom-[3px] ape:md:bottom-[unset]\">\n <TooltipBubble\n body={promotionDataMapping[promotion]?.tooltip}\n width=\"205px\"\n placement=\"bottomRight\"\n transformTip={isMobile ? 'translate(5%, 0%)' : 'translate(0%, 0%)'}\n >\n <Flex\n className=\"ape:border ape:border-solid ape:border-primary-button ape:rounded-[10px] ape:md:rounded-[20px] ape:p-[4px_2px] ape:md:p-[4px_10px] ape:items-center ape:text-[12px] ape:font-normal ape:text-text-disabled-button ape:cursor-pointer\"\n style={{ boxShadow: '0px 0px 30px -10px rgba(222, 98, 243, 0.5)' }}\n >\n <Flex className=\"ape:mt-[-15px]\">\n <GiftBox width={30} color={'textDisabledButton'} />\n </Flex>\n <Flex className=\"ape:hidden ape:md:flex ape:capitalize\">{promotion}</Flex>\n </Flex>\n </TooltipBubble>\n </Flex>\n )}\n </Flex>\n </Flex>\n )\n}\n\nexport default BondModalHeader\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
|
|
@@ -56,7 +56,7 @@ const Estimations = ({ depositAmount, inputValue, inputTokenPrice, bondData, you
|
|
|
56
56
|
: 'This is the dollar value of the bonus tokens you’ll receive at current market price.' }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, 0%)", children: jsx(Flex, { className: "row-container premium-icon ape:flex ape:font-normal ape:items-start ape:pl-[5px] ape:cursor-pointer", children: jsx(QuestionCircle, { width: "12px" }) }) })] }), isZap && fetchingZapQuote ? (jsx(Dots, {})) : isZap && zapError ? ('-') : (jsxs(Flex, { className: `row-container premium-val ape:flex ape:font-normal ape:items-center ${getBonusColor(bonusString)}`, children: ["$ ", formatNumberSI(bonusString)] }))] }), !hidePromotionUi && trueBondPrice?.points !== '0' && userTier && tierPointsToUse && SDKConfig.useTiers && (jsxs(Flex, { className: "ape:rounded-normal ape:mx-[-8px] ape:px-[8px] ape:py-[2px] ape:relative ape:justify-between", children: [jsx(Flex, { className: "row-container premium ape:flex ape:font-normal ape:items-center ape:relative ape:z-[2]", children: activePromotion ? (jsxs(Flex, { className: "ape:gap-[3px] ape:items-center", children: [(() => {
|
|
57
57
|
const PromotionIcon = promotionDataMapping[activePromotion].icon;
|
|
58
58
|
return jsx(PromotionIcon, { width: 15 });
|
|
59
|
-
})(), jsx(Flex, { className: "ape:capitalize", children: activePromotion }), jsx(Flex, { className: "ape:text-success ape:mx-[3px] ape:font-bold", children: `+${trueBondPrice?.boost ?? 0}%` }), jsx(TooltipBubble, { className: "tooltip-bubble", body: jsxs("div", { children: [jsx("span", { className: "ape:capitalize", children: activePromotion }), " successfully applied! Bonds on", ' ', NETWORK_LABEL[bondData.chainId], " Chain now have an extra 5% Bonus."] }), width: "230px", placement: "bottomLeft", transformTip: "translate(-7%, 0%)", children: jsx(QuestionCircle, { width: "12px" }) })] })) : (jsxs(Flex, { className: "ape:gap-[3px] ape:items-center", children: [jsx("img", { src: `https://ape.bond/images/launch/${tierName?.toLowerCase()}.png`, alt: "minTier", style: { width: '21px', height: '21px' } }), "Boost", jsx(Flex, { className: "ape:text-success ape:mx-[3px] ape:font-bold", children: `+${trueBondPrice?.boost ?? 0}%` }), jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(Flex, { children: TooltipText.Boost }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, 0%)", children: jsx(QuestionCircle, { width: "12px" }) })] })) }), isZap && fetchingZapQuote ? (jsx(Dots, {})) : isZap && zapError ? ('-') : (jsxs(Flex, { className: "row-container premium-val premium-positive ape:flex ape:font-normal ape:items-center ape:text-success", children: ["$ ", formatNumberSI(boostAmount)] }))] })), jsxs(Flex, { className: "ape:border ape:border-solid ape:border-[#9960C5] ape:rounded-normal ape:mx-[-5px] ape:px-[5px] ape:py-[2px] ape:my-[2px] ape:relative", children: [jsx(Flex, { className: "ape:absolute ape:w-full ape:h-full ape:top-0 ape:left-0 ape:z-0 ape:bg-[#9960C5] ape:opacity-20 ape:rounded-normal" }), jsxs(Flex, { className: "ape:w-full ape:justify-between ape:h-[21px]", children: [jsxs(Flex, { className: "row-container get ape:flex ape:font-normal ape:items-center ape:z-[1]", children: ["You Get (over ", getTimePeriods(bondData?.vestingTerm, true).days, " days):"] }), isZap && fetchingZapQuote ? (jsx(Dots, {})) : isZap && zapError ? ('-') : (jsxs(Flex, { className: "row-container get-val ape:flex ape:font-normal ape:items-center ape:z-[1]", children: [formatNumberSI(estimatedOutputAmount, 4), " ", bondData?.showcaseTokenName, " = $", ' ', formatNumberSI(estimatedOutputUSD, 2)] }))] })] }), (bondData.tierBoostRate || highestProfitableTier) && SDKConfig.useTiers && (jsxs(Flex, { className: "ape:w-full ape:justify-between ape:h-[21px]", children: [jsxs(Flex, { className: "row-container get ape:flex ape:font-normal ape:items-center", children: ["Ape Points Earned:", jsx(Flex, { className: "ape:ml-[5px]", children: jsx(TooltipBubble, { body: 'This purchase will earn you Ape Points. Ape Points provide a weekly yield in USDT and count toward your Ape Tier progression. Unlock higher Ape Tiers to get extra discounts on all Bonds.', width: isMobile ? '200px' : '250px', placement: "bottomLeft", transformTip: isMobile ? 'translate(-8%, 0%)' : 'translate(-7%, 0%)', children: jsx(QuestionCircle, { width: "12px" }) }) })] }), isZap && fetchingZapQuote ? (jsx(Dots, {})) : isZap && zapError ? ('-') : (jsx(Flex, { className: "row-container get-val ape:flex ape:font-normal ape:items-center", children: jsxs(Flex, { className: "ape:items-center ape:gap-[5px]", children: [highestProfitableTier || optimizationData?.tierBoostPoints ? (jsxs(Fragment, { children: [jsx(TokenImage, { symbol: 'veABOND', size: 15 }), formatNumberSI(highestProfitableTier
|
|
59
|
+
})(), jsx(Flex, { className: "ape:capitalize", children: activePromotion }), jsx(Flex, { className: "ape:text-success ape:mx-[3px] ape:font-bold", children: `+${trueBondPrice?.boost ?? 0}%` }), jsx(TooltipBubble, { className: "tooltip-bubble", body: jsxs("div", { children: [jsx("span", { className: "ape:capitalize", children: activePromotion }), " successfully applied! Bonds on", ' ', NETWORK_LABEL[bondData.chainId], " Chain now have an extra 5% Bonus."] }), width: "230px", placement: "bottomLeft", transformTip: "translate(-7%, 0%)", children: jsx(QuestionCircle, { width: "12px" }) })] })) : (jsxs(Flex, { className: "ape:gap-[3px] ape:items-center", children: [jsx("img", { src: `https://ape.bond/images/launch/${tierName?.toLowerCase()}.png`, alt: "minTier", style: { width: '21px', height: '21px' } }), "Boost", jsx(Flex, { className: "ape:text-success ape:mx-[3px] ape:font-bold", children: `+${trueBondPrice?.boost ?? 0}%` }), jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(Flex, { children: TooltipText.Boost }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, 0%)", children: jsx(QuestionCircle, { width: "12px" }) })] })) }), isZap && fetchingZapQuote ? (jsx(Dots, {})) : isZap && zapError ? ('-') : (jsxs(Flex, { className: "row-container premium-val premium-positive ape:flex ape:font-normal ape:items-center ape:text-success", children: ["$ ", formatNumberSI(boostAmount)] }))] })), jsxs(Flex, { className: "ape:border ape:border-solid ape:border-[#9960C5] ape:rounded-normal ape:mx-[-5px] ape:px-[5px] ape:py-[2px] ape:my-[2px] ape:relative", children: [jsx(Flex, { className: "ape:absolute ape:w-full ape:h-full ape:top-0 ape:left-0 ape:z-0 ape:bg-[#9960C5] ape:opacity-20 ape:rounded-normal" }), jsxs(Flex, { className: "ape:w-full ape:justify-between ape:h-[21px]", children: [jsxs(Flex, { className: "row-container get ape:flex ape:font-normal ape:items-center ape:z-[1]", children: ["You Get (over ", getTimePeriods(bondData?.vestingTerm, true).days, " days):"] }), isZap && fetchingZapQuote ? (jsx(Dots, {})) : isZap && zapError ? ('-') : (jsxs(Flex, { className: "row-container get-val ape:flex ape:font-normal ape:items-center ape:z-[1]", children: [formatNumberSI(estimatedOutputAmount, 4), " ", bondData?.showcaseTokenName, " = $", ' ', formatNumberSI(estimatedOutputUSD, 2)] }))] })] }), (bondData.tierBoostRate || highestProfitableTier) && SDKConfig.useTiers && bondData.billType !== 'lpStaking' && (jsxs(Flex, { className: "ape:w-full ape:justify-between ape:h-[21px]", children: [jsxs(Flex, { className: "row-container get ape:flex ape:font-normal ape:items-center", children: ["Ape Points Earned:", jsx(Flex, { className: "ape:ml-[5px]", children: jsx(TooltipBubble, { body: 'This purchase will earn you Ape Points. Ape Points provide a weekly yield in USDT and count toward your Ape Tier progression. Unlock higher Ape Tiers to get extra discounts on all Bonds.', width: isMobile ? '200px' : '250px', placement: "bottomLeft", transformTip: isMobile ? 'translate(-8%, 0%)' : 'translate(-7%, 0%)', children: jsx(QuestionCircle, { width: "12px" }) }) })] }), isZap && fetchingZapQuote ? (jsx(Dots, {})) : isZap && zapError ? ('-') : (jsx(Flex, { className: "row-container get-val ape:flex ape:font-normal ape:items-center", children: jsxs(Flex, { className: "ape:items-center ape:gap-[5px]", children: [highestProfitableTier || optimizationData?.tierBoostPoints ? (jsxs(Fragment, { children: [jsx(TokenImage, { symbol: 'veABOND', size: 15 }), formatNumberSI(highestProfitableTier
|
|
60
60
|
? highestProfitableTier.necessaryPointsToUpgrade
|
|
61
61
|
: optimizationData?.tierBoostPoints, 2, true), jsx(Flex, { children: "points" })] })) : ('-'), highestProfitableTier && (jsxs(Fragment, { children: ["+", jsxs(Flex, { className: "ape:px-[3px] ape:h-[24px] ape:rounded-[5px] ape:font-bold ape:items-center", style: {
|
|
62
62
|
background: TIERS_BG[highestProfitableTier.tier],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Estimations.js","sources":["../../../../src/views/BuyBond/components/Estimations.tsx"],"sourcesContent":["import React from 'react'\nimport { getBonusColor, getPayoutAmount, getRawBonus } from '../../../utils/displayHelpers'\nimport { findHighestTrueBondPrice } from '../../../utils/bondPriceHelpers'\nimport { BondsData } from '../../../types/bonds'\nimport useTierPoints from '../../../state/tiers/useTierPoints'\nimport {\n getUserTier,\n NewTiers,\n promotionDataMapping,\n TIERS_BG,\n TIERS_COLORS,\n TIERS_NAMES,\n} from '../../../state/tiers/tiers'\nimport { useSDKConfig } from '../../../state/useSDKConfig'\nimport { formatNumberSI } from '../../../utils/formatNumber'\nimport { BillVersion } from '@ape.swap/apeswap-lists'\nimport { getTimePeriods } from '../../../utils/getTimePeriods'\nimport Flex from '../../../components/uikit-sdk/Flex'\nimport TooltipBubble from '../../../components/uikit-sdk/TooltipBubble'\nimport LoadingDots from '../../../components/uikit-sdk/LoadingDots'\nimport { calculateOptimizationData } from '../utils'\nimport { useAbondPrice } from '../../../state/tokenPrices/useAbondPrice'\nimport TokenImage from '../../../components/uikit-sdk/TokenImage'\nimport { TooltipText } from '../../../config/constants/tooltips'\nimport { NETWORK_LABEL } from '../../../config/constants/chains'\nimport QuestionCircle from '../../../components/uikit-sdk/Svg/Icons/QuestionCircle'\nimport { useIsMobile } from '../../../hooks/useIsMobile'\n\nconst Estimations = ({\n depositAmount,\n inputValue,\n inputTokenPrice,\n bondData,\n youSpendString,\n isZap,\n fetchingZapQuote,\n zapError,\n hidePromotionUi = false,\n}: {\n depositAmount: string // actually deposited (after zap fees and estimations)\n inputValue?: string // input amount selected on the UI\n inputTokenPrice?: number\n bondData: BondsData\n youSpendString?: string\n isZap?: boolean\n fetchingZapQuote?: boolean\n zapError?: boolean\n hidePromotionUi?: boolean\n}) => {\n const isMobile = useIsMobile()\n const { data: tierPointsState } = useTierPoints()\n const { promotionalPoints, promotion, eligibleChains, onChainPoints } = tierPointsState || {}\n // if promotion comes with eligibleChains undefined means it should be used for every chain\n const isBondEligibleForPromotion = eligibleChains === undefined || eligibleChains?.includes(bondData.chainId)\n const tierPointsToUse =\n !isBondEligibleForPromotion || hidePromotionUi ? (onChainPoints ?? '0') : (promotionalPoints ?? '0')\n const activePromotion = hidePromotionUi || !isBondEligibleForPromotion ? null : promotion\n\n const abondPrice = useAbondPrice()\n const trueBondPrice = findHighestTrueBondPrice(tierPointsToUse, bondData?.trueBondPrices)\n const SDKConfig = useSDKConfig()\n const userTier = getUserTier(tierPointsToUse)\n const tierName = userTier ? TIERS_NAMES[userTier] : ''\n\n // Estimations\n const bonusString = getRawBonus(bondData, depositAmount, '0')\n // const fee = getFeeAmount(bondData, depositAmount, userPoints ?? '0')\n // const feeUSD = fee * parseFloat(bondData?.payoutTokenPrice ?? '0')\n\n const estimatedOutputAmount = getPayoutAmount(bondData, depositAmount, tierPointsToUse)\n const estimatedOutputUSD = estimatedOutputAmount * parseFloat(bondData?.payoutTokenPrice ?? '0')\n\n const noTierAmount = getRawBonus(bondData, depositAmount, '0')\n const boostAmount =\n parseFloat(getRawBonus(bondData, depositAmount, tierPointsToUse ?? '0')) - parseFloat(noTierAmount)\n\n const optimizationData = calculateOptimizationData(\n inputValue ?? '',\n tierPointsToUse!,\n bondData,\n inputTokenPrice,\n abondPrice,\n )\n const highestProfitableTier = optimizationData?.highestProfitableTier\n\n return (\n <Flex className=\"modaltable-container text-container ape:w-full ape:flex ape:relative ape:flex-col ape:justify-center ape:text-[12px]\">\n {/* ----------- YOU SPEND ROW -----------*/}\n\n <Flex className=\"text-container row ape:pt-[2px] ape:pb-[2px] ape:flex ape:flex-row ape:justify-between\">\n <Flex className=\"row-container spend ape:flex ape:font-normal ape:items-center\">You Spend:</Flex>\n <Flex className=\"row-container spend-val ape:flex ape:font-normal ape:items-center\">{youSpendString}</Flex>\n </Flex>\n\n {/* ----------- BONUS ROW -----------*/}\n\n <Flex className=\"text-container row ape:pt-[2px] ape:pb-[2px] ape:flex ape:flex-row ape:justify-between\">\n <Flex className=\"row-container premium ape:flex ape:font-normal ape:items-center\">\n {!!userTier &&\n !!tierPointsToUse &&\n SDKConfig.useTiers &&\n bondData.billVersion === BillVersion.V4 &&\n !hidePromotionUi\n ? SDKConfig.namingPreference === 'Discount'\n ? 'Base Discount:'\n : 'Base Bonus:'\n : SDKConfig.namingPreference === 'Discount'\n ? 'Discount:'\n : 'Bonus:'}\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Flex>\n {(bondData?.feeInPayout || 0) > 0\n ? `This is the dollar value of the bonus tokens you’ll receive at current market price, already accounting for the protocol fee (${bondData.feeInPayout}%)`\n : 'This is the dollar value of the bonus tokens you’ll receive at current market price.'}\n </Flex>\n }\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, 0%)\"\n >\n <Flex className=\"row-container premium-icon ape:flex ape:font-normal ape:items-start ape:pl-[5px] ape:cursor-pointer\">\n <QuestionCircle width=\"12px\" />\n </Flex>\n </TooltipBubble>\n </Flex>\n {isZap && fetchingZapQuote ? (\n <LoadingDots />\n ) : isZap && zapError ? (\n '-'\n ) : (\n <Flex\n className={`row-container premium-val ape:flex ape:font-normal ape:items-center ${getBonusColor(bonusString)}`}\n >\n $ {formatNumberSI(bonusString)}\n </Flex>\n )}\n </Flex>\n\n {/* ----------- BOOST ROW -----------*/}\n\n {!hidePromotionUi && trueBondPrice?.points !== '0' && userTier && tierPointsToUse && SDKConfig.useTiers && (\n <Flex className=\"ape:rounded-normal ape:mx-[-8px] ape:px-[8px] ape:py-[2px] ape:relative ape:justify-between\">\n <Flex className=\"row-container premium ape:flex ape:font-normal ape:items-center ape:relative ape:z-[2]\">\n {activePromotion ? (\n <Flex className=\"ape:gap-[3px] ape:items-center\">\n {(() => {\n const PromotionIcon = promotionDataMapping[activePromotion].icon\n return <PromotionIcon width={15} />\n })()}\n <Flex className=\"ape:capitalize\">{activePromotion}</Flex>\n <Flex className=\"ape:text-success ape:mx-[3px] ape:font-bold\">{`+${trueBondPrice?.boost ?? 0}%`}</Flex>\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <div>\n <span className=\"ape:capitalize\">{activePromotion}</span> successfully applied! Bonds on{' '}\n {NETWORK_LABEL[bondData.chainId]} Chain now have an extra 5% Bonus.\n </div>\n }\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-7%, 0%)\"\n >\n <QuestionCircle width=\"12px\" />\n </TooltipBubble>\n </Flex>\n ) : (\n <Flex className=\"ape:gap-[3px] ape:items-center\">\n <img\n src={`https://ape.bond/images/launch/${tierName?.toLowerCase()}.png`}\n alt=\"minTier\"\n style={{ width: '21px', height: '21px' }}\n />\n Boost\n <Flex className=\"ape:text-success ape:mx-[3px] ape:font-bold\">{`+${trueBondPrice?.boost ?? 0}%`}</Flex>\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={<Flex>{TooltipText.Boost}</Flex>}\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, 0%)\"\n >\n <QuestionCircle width=\"12px\" />\n </TooltipBubble>\n </Flex>\n )}\n </Flex>\n {isZap && fetchingZapQuote ? (\n <LoadingDots />\n ) : isZap && zapError ? (\n '-'\n ) : (\n <Flex className=\"row-container premium-val premium-positive ape:flex ape:font-normal ape:items-center ape:text-success\">\n $ {formatNumberSI(boostAmount)}\n </Flex>\n )}\n </Flex>\n )}\n\n {/* ----------- YOU GET ROW -----------*/}\n\n <Flex className=\"ape:border ape:border-solid ape:border-[#9960C5] ape:rounded-normal ape:mx-[-5px] ape:px-[5px] ape:py-[2px] ape:my-[2px] ape:relative\">\n <Flex className=\"ape:absolute ape:w-full ape:h-full ape:top-0 ape:left-0 ape:z-0 ape:bg-[#9960C5] ape:opacity-20 ape:rounded-normal\" />\n <Flex className=\"ape:w-full ape:justify-between ape:h-[21px]\">\n <Flex className=\"row-container get ape:flex ape:font-normal ape:items-center ape:z-[1]\">\n You Get (over {getTimePeriods(bondData?.vestingTerm, true).days} days):\n </Flex>\n {isZap && fetchingZapQuote ? (\n <LoadingDots />\n ) : isZap && zapError ? (\n '-'\n ) : (\n <Flex className=\"row-container get-val ape:flex ape:font-normal ape:items-center ape:z-[1]\">\n {formatNumberSI(estimatedOutputAmount, 4)} {bondData?.showcaseTokenName} = ${' '}\n {formatNumberSI(estimatedOutputUSD, 2)}\n </Flex>\n )}\n </Flex>\n </Flex>\n\n {/* ----------- APE POINTS EARNED ROW ----------- */}\n\n {(bondData.tierBoostRate || highestProfitableTier) && SDKConfig.useTiers && (\n <Flex className=\"ape:w-full ape:justify-between ape:h-[21px]\">\n <Flex className=\"row-container get ape:flex ape:font-normal ape:items-center\">\n Ape Points Earned:\n <Flex className=\"ape:ml-[5px]\">\n <TooltipBubble\n body={\n 'This purchase will earn you Ape Points. Ape Points provide a weekly yield in USDT and count toward your Ape Tier progression. Unlock higher Ape Tiers to get extra discounts on all Bonds.'\n }\n width={isMobile ? '200px' : '250px'}\n placement=\"bottomLeft\"\n transformTip={isMobile ? 'translate(-8%, 0%)' : 'translate(-7%, 0%)'}\n >\n <QuestionCircle width=\"12px\" />\n </TooltipBubble>\n </Flex>\n </Flex>\n {isZap && fetchingZapQuote ? (\n <LoadingDots />\n ) : isZap && zapError ? (\n '-'\n ) : (\n <Flex className=\"row-container get-val ape:flex ape:font-normal ape:items-center\">\n <Flex className=\"ape:items-center ape:gap-[5px]\">\n {highestProfitableTier || optimizationData?.tierBoostPoints ? (\n <>\n <TokenImage symbol={'veABOND'} size={15} />\n {formatNumberSI(\n highestProfitableTier\n ? highestProfitableTier.necessaryPointsToUpgrade\n : optimizationData?.tierBoostPoints,\n 2,\n true,\n )}\n <Flex>points</Flex>\n </>\n ) : (\n '-'\n )}\n {highestProfitableTier && (\n <>\n +\n <Flex\n className=\"ape:px-[3px] ape:h-[24px] ape:rounded-[5px] ape:font-bold ape:items-center\"\n style={{\n background: TIERS_BG[highestProfitableTier.tier as NewTiers],\n border: `2px solid ${TIERS_COLORS[highestProfitableTier.tier as NewTiers]}`,\n minWidth: highestProfitableTier.tier > 2 ? '118px' : undefined,\n }}\n >\n <img\n src={`https://ape.bond/images/launch/${highestProfitableTier?.tierName?.toLowerCase()}.png`}\n alt=\"minTier\"\n style={{ width: '21px', height: '21px', marginRight: '3px', zIndex: 1 }}\n />\n {highestProfitableTier.tierName} Tier\n </Flex>\n </>\n )}\n </Flex>\n </Flex>\n )}\n </Flex>\n )}\n </Flex>\n )\n}\n\nexport default Estimations\n"],"names":["_jsxs","_jsx","LoadingDots","_Fragment"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Estimations.js","sources":["../../../../src/views/BuyBond/components/Estimations.tsx"],"sourcesContent":["import React from 'react'\nimport { getBonusColor, getPayoutAmount, getRawBonus } from '../../../utils/displayHelpers'\nimport { findHighestTrueBondPrice } from '../../../utils/bondPriceHelpers'\nimport { BondsData } from '../../../types/bonds'\nimport useTierPoints from '../../../state/tiers/useTierPoints'\nimport {\n getUserTier,\n NewTiers,\n promotionDataMapping,\n TIERS_BG,\n TIERS_COLORS,\n TIERS_NAMES,\n} from '../../../state/tiers/tiers'\nimport { useSDKConfig } from '../../../state/useSDKConfig'\nimport { formatNumberSI } from '../../../utils/formatNumber'\nimport { BillVersion } from '@ape.swap/apeswap-lists'\nimport { getTimePeriods } from '../../../utils/getTimePeriods'\nimport Flex from '../../../components/uikit-sdk/Flex'\nimport TooltipBubble from '../../../components/uikit-sdk/TooltipBubble'\nimport LoadingDots from '../../../components/uikit-sdk/LoadingDots'\nimport { calculateOptimizationData } from '../utils'\nimport { useAbondPrice } from '../../../state/tokenPrices/useAbondPrice'\nimport TokenImage from '../../../components/uikit-sdk/TokenImage'\nimport { TooltipText } from '../../../config/constants/tooltips'\nimport { NETWORK_LABEL } from '../../../config/constants/chains'\nimport QuestionCircle from '../../../components/uikit-sdk/Svg/Icons/QuestionCircle'\nimport { useIsMobile } from '../../../hooks/useIsMobile'\n\nconst Estimations = ({\n depositAmount,\n inputValue,\n inputTokenPrice,\n bondData,\n youSpendString,\n isZap,\n fetchingZapQuote,\n zapError,\n hidePromotionUi = false,\n}: {\n depositAmount: string // actually deposited (after zap fees and estimations)\n inputValue?: string // input amount selected on the UI\n inputTokenPrice?: number\n bondData: BondsData\n youSpendString?: string\n isZap?: boolean\n fetchingZapQuote?: boolean\n zapError?: boolean\n hidePromotionUi?: boolean\n}) => {\n const isMobile = useIsMobile()\n const { data: tierPointsState } = useTierPoints()\n const { promotionalPoints, promotion, eligibleChains, onChainPoints } = tierPointsState || {}\n // if promotion comes with eligibleChains undefined means it should be used for every chain\n const isBondEligibleForPromotion = eligibleChains === undefined || eligibleChains?.includes(bondData.chainId)\n const tierPointsToUse =\n !isBondEligibleForPromotion || hidePromotionUi ? (onChainPoints ?? '0') : (promotionalPoints ?? '0')\n const activePromotion = hidePromotionUi || !isBondEligibleForPromotion ? null : promotion\n\n const abondPrice = useAbondPrice()\n const trueBondPrice = findHighestTrueBondPrice(tierPointsToUse, bondData?.trueBondPrices)\n const SDKConfig = useSDKConfig()\n const userTier = getUserTier(tierPointsToUse)\n const tierName = userTier ? TIERS_NAMES[userTier] : ''\n\n // Estimations\n const bonusString = getRawBonus(bondData, depositAmount, '0')\n // const fee = getFeeAmount(bondData, depositAmount, userPoints ?? '0')\n // const feeUSD = fee * parseFloat(bondData?.payoutTokenPrice ?? '0')\n\n const estimatedOutputAmount = getPayoutAmount(bondData, depositAmount, tierPointsToUse)\n const estimatedOutputUSD = estimatedOutputAmount * parseFloat(bondData?.payoutTokenPrice ?? '0')\n\n const noTierAmount = getRawBonus(bondData, depositAmount, '0')\n const boostAmount =\n parseFloat(getRawBonus(bondData, depositAmount, tierPointsToUse ?? '0')) - parseFloat(noTierAmount)\n\n const optimizationData = calculateOptimizationData(\n inputValue ?? '',\n tierPointsToUse!,\n bondData,\n inputTokenPrice,\n abondPrice,\n )\n const highestProfitableTier = optimizationData?.highestProfitableTier\n\n return (\n <Flex className=\"modaltable-container text-container ape:w-full ape:flex ape:relative ape:flex-col ape:justify-center ape:text-[12px]\">\n {/* ----------- YOU SPEND ROW -----------*/}\n\n <Flex className=\"text-container row ape:pt-[2px] ape:pb-[2px] ape:flex ape:flex-row ape:justify-between\">\n <Flex className=\"row-container spend ape:flex ape:font-normal ape:items-center\">You Spend:</Flex>\n <Flex className=\"row-container spend-val ape:flex ape:font-normal ape:items-center\">{youSpendString}</Flex>\n </Flex>\n\n {/* ----------- BONUS ROW -----------*/}\n\n <Flex className=\"text-container row ape:pt-[2px] ape:pb-[2px] ape:flex ape:flex-row ape:justify-between\">\n <Flex className=\"row-container premium ape:flex ape:font-normal ape:items-center\">\n {!!userTier &&\n !!tierPointsToUse &&\n SDKConfig.useTiers &&\n bondData.billVersion === BillVersion.V4 &&\n !hidePromotionUi\n ? SDKConfig.namingPreference === 'Discount'\n ? 'Base Discount:'\n : 'Base Bonus:'\n : SDKConfig.namingPreference === 'Discount'\n ? 'Discount:'\n : 'Bonus:'}\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Flex>\n {(bondData?.feeInPayout || 0) > 0\n ? `This is the dollar value of the bonus tokens you’ll receive at current market price, already accounting for the protocol fee (${bondData.feeInPayout}%)`\n : 'This is the dollar value of the bonus tokens you’ll receive at current market price.'}\n </Flex>\n }\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, 0%)\"\n >\n <Flex className=\"row-container premium-icon ape:flex ape:font-normal ape:items-start ape:pl-[5px] ape:cursor-pointer\">\n <QuestionCircle width=\"12px\" />\n </Flex>\n </TooltipBubble>\n </Flex>\n {isZap && fetchingZapQuote ? (\n <LoadingDots />\n ) : isZap && zapError ? (\n '-'\n ) : (\n <Flex\n className={`row-container premium-val ape:flex ape:font-normal ape:items-center ${getBonusColor(bonusString)}`}\n >\n $ {formatNumberSI(bonusString)}\n </Flex>\n )}\n </Flex>\n\n {/* ----------- BOOST ROW -----------*/}\n\n {!hidePromotionUi && trueBondPrice?.points !== '0' && userTier && tierPointsToUse && SDKConfig.useTiers && (\n <Flex className=\"ape:rounded-normal ape:mx-[-8px] ape:px-[8px] ape:py-[2px] ape:relative ape:justify-between\">\n <Flex className=\"row-container premium ape:flex ape:font-normal ape:items-center ape:relative ape:z-[2]\">\n {activePromotion ? (\n <Flex className=\"ape:gap-[3px] ape:items-center\">\n {(() => {\n const PromotionIcon = promotionDataMapping[activePromotion].icon\n return <PromotionIcon width={15} />\n })()}\n <Flex className=\"ape:capitalize\">{activePromotion}</Flex>\n <Flex className=\"ape:text-success ape:mx-[3px] ape:font-bold\">{`+${trueBondPrice?.boost ?? 0}%`}</Flex>\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <div>\n <span className=\"ape:capitalize\">{activePromotion}</span> successfully applied! Bonds on{' '}\n {NETWORK_LABEL[bondData.chainId]} Chain now have an extra 5% Bonus.\n </div>\n }\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-7%, 0%)\"\n >\n <QuestionCircle width=\"12px\" />\n </TooltipBubble>\n </Flex>\n ) : (\n <Flex className=\"ape:gap-[3px] ape:items-center\">\n <img\n src={`https://ape.bond/images/launch/${tierName?.toLowerCase()}.png`}\n alt=\"minTier\"\n style={{ width: '21px', height: '21px' }}\n />\n Boost\n <Flex className=\"ape:text-success ape:mx-[3px] ape:font-bold\">{`+${trueBondPrice?.boost ?? 0}%`}</Flex>\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={<Flex>{TooltipText.Boost}</Flex>}\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, 0%)\"\n >\n <QuestionCircle width=\"12px\" />\n </TooltipBubble>\n </Flex>\n )}\n </Flex>\n {isZap && fetchingZapQuote ? (\n <LoadingDots />\n ) : isZap && zapError ? (\n '-'\n ) : (\n <Flex className=\"row-container premium-val premium-positive ape:flex ape:font-normal ape:items-center ape:text-success\">\n $ {formatNumberSI(boostAmount)}\n </Flex>\n )}\n </Flex>\n )}\n\n {/* ----------- YOU GET ROW -----------*/}\n\n <Flex className=\"ape:border ape:border-solid ape:border-[#9960C5] ape:rounded-normal ape:mx-[-5px] ape:px-[5px] ape:py-[2px] ape:my-[2px] ape:relative\">\n <Flex className=\"ape:absolute ape:w-full ape:h-full ape:top-0 ape:left-0 ape:z-0 ape:bg-[#9960C5] ape:opacity-20 ape:rounded-normal\" />\n <Flex className=\"ape:w-full ape:justify-between ape:h-[21px]\">\n <Flex className=\"row-container get ape:flex ape:font-normal ape:items-center ape:z-[1]\">\n You Get (over {getTimePeriods(bondData?.vestingTerm, true).days} days):\n </Flex>\n {isZap && fetchingZapQuote ? (\n <LoadingDots />\n ) : isZap && zapError ? (\n '-'\n ) : (\n <Flex className=\"row-container get-val ape:flex ape:font-normal ape:items-center ape:z-[1]\">\n {formatNumberSI(estimatedOutputAmount, 4)} {bondData?.showcaseTokenName} = ${' '}\n {formatNumberSI(estimatedOutputUSD, 2)}\n </Flex>\n )}\n </Flex>\n </Flex>\n\n {/* ----------- APE POINTS EARNED ROW ----------- */}\n\n {(bondData.tierBoostRate || highestProfitableTier) && SDKConfig.useTiers && bondData.billType !== 'lpStaking' && (\n <Flex className=\"ape:w-full ape:justify-between ape:h-[21px]\">\n <Flex className=\"row-container get ape:flex ape:font-normal ape:items-center\">\n Ape Points Earned:\n <Flex className=\"ape:ml-[5px]\">\n <TooltipBubble\n body={\n 'This purchase will earn you Ape Points. Ape Points provide a weekly yield in USDT and count toward your Ape Tier progression. Unlock higher Ape Tiers to get extra discounts on all Bonds.'\n }\n width={isMobile ? '200px' : '250px'}\n placement=\"bottomLeft\"\n transformTip={isMobile ? 'translate(-8%, 0%)' : 'translate(-7%, 0%)'}\n >\n <QuestionCircle width=\"12px\" />\n </TooltipBubble>\n </Flex>\n </Flex>\n {isZap && fetchingZapQuote ? (\n <LoadingDots />\n ) : isZap && zapError ? (\n '-'\n ) : (\n <Flex className=\"row-container get-val ape:flex ape:font-normal ape:items-center\">\n <Flex className=\"ape:items-center ape:gap-[5px]\">\n {highestProfitableTier || optimizationData?.tierBoostPoints ? (\n <>\n <TokenImage symbol={'veABOND'} size={15} />\n {formatNumberSI(\n highestProfitableTier\n ? highestProfitableTier.necessaryPointsToUpgrade\n : optimizationData?.tierBoostPoints,\n 2,\n true,\n )}\n <Flex>points</Flex>\n </>\n ) : (\n '-'\n )}\n {highestProfitableTier && (\n <>\n +\n <Flex\n className=\"ape:px-[3px] ape:h-[24px] ape:rounded-[5px] ape:font-bold ape:items-center\"\n style={{\n background: TIERS_BG[highestProfitableTier.tier as NewTiers],\n border: `2px solid ${TIERS_COLORS[highestProfitableTier.tier as NewTiers]}`,\n minWidth: highestProfitableTier.tier > 2 ? '118px' : undefined,\n }}\n >\n <img\n src={`https://ape.bond/images/launch/${highestProfitableTier?.tierName?.toLowerCase()}.png`}\n alt=\"minTier\"\n style={{ width: '21px', height: '21px', marginRight: '3px', zIndex: 1 }}\n />\n {highestProfitableTier.tierName} Tier\n </Flex>\n </>\n )}\n </Flex>\n </Flex>\n )}\n </Flex>\n )}\n </Flex>\n )\n}\n\nexport default Estimations\n"],"names":["_jsxs","_jsx","LoadingDots","_Fragment"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
declare const ExpandedViewButton: ({ handleNavigation, rightPos }: {
|
|
2
|
-
handleNavigation: () => void;
|
|
1
|
+
declare const ExpandedViewButton: ({ handleNavigation, rightPos, }: {
|
|
2
|
+
handleNavigation: (e: any) => void;
|
|
3
3
|
rightPos?: string;
|
|
4
4
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
5
5
|
export default ExpandedViewButton;
|
|
@@ -2,8 +2,8 @@ import { jsx, jsxs } from 'react/jsx-runtime';
|
|
|
2
2
|
import Flex from '../../../components/uikit-sdk/Flex/index.js';
|
|
3
3
|
import Expand from '../../../components/uikit-sdk/Svg/Icons/Expand.js';
|
|
4
4
|
|
|
5
|
-
const ExpandedViewButton = ({ handleNavigation, rightPos }) => {
|
|
6
|
-
return (jsx(Flex, { className: "ape:justify-end ape:absolute ape:top-[5px] ape:w-[122px]", style: { right: rightPos ?? '65px' }, children: jsxs(Flex, { className: "ape:text-[12px] ape:font-medium ape:mr-[15px] ape:bg-primary-button ape:pl-[10px] ape:pr-[4px] ape:rounded-normal ape:items-center ape:relative ape:cursor-pointer ape:w-full ape:flex", onClick: handleNavigation, children: ["Project Info", jsx(Flex, { className: "ape:ml-[4px]", children: jsx(Expand, { width: 20, color: "white" }) })] }) }));
|
|
5
|
+
const ExpandedViewButton = ({ handleNavigation, rightPos, }) => {
|
|
6
|
+
return (jsx(Flex, { className: "ape:justify-end ape:absolute ape:top-[5px] ape:w-[122px]", style: { right: rightPos ?? '65px' }, children: jsxs(Flex, { className: "ape:text-[12px] ape:font-medium ape:mr-[15px] ape:bg-primary-button ape:pl-[10px] ape:pr-[4px] ape:rounded-normal ape:items-center ape:relative ape:cursor-pointer ape:w-full ape:flex", onClick: (e) => handleNavigation(e), children: ["Project Info", jsx(Flex, { className: "ape:ml-[4px]", children: jsx(Expand, { width: 20, color: "white" }) })] }) }));
|
|
7
7
|
};
|
|
8
8
|
|
|
9
9
|
export { ExpandedViewButton as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpandedViewButton.js","sources":["../../../../src/views/BuyBond/components/ExpandedViewButton.tsx"],"sourcesContent":["import React from 'react'\nimport Flex from '../../../components/uikit-sdk/Flex'\nimport Expand from '../../../components/uikit-sdk/Svg/Icons/Expand'\n\nconst ExpandedViewButton = ({
|
|
1
|
+
{"version":3,"file":"ExpandedViewButton.js","sources":["../../../../src/views/BuyBond/components/ExpandedViewButton.tsx"],"sourcesContent":["import React from 'react'\nimport Flex from '../../../components/uikit-sdk/Flex'\nimport Expand from '../../../components/uikit-sdk/Svg/Icons/Expand'\n\nconst ExpandedViewButton = ({\n handleNavigation,\n rightPos,\n}: {\n handleNavigation: (e: any) => void\n rightPos?: string\n}) => {\n return (\n <Flex className=\"ape:justify-end ape:absolute ape:top-[5px] ape:w-[122px]\" style={{ right: rightPos ?? '65px' }}>\n <Flex\n className=\"ape:text-[12px] ape:font-medium ape:mr-[15px] ape:bg-primary-button ape:pl-[10px] ape:pr-[4px] ape:rounded-normal ape:items-center ape:relative ape:cursor-pointer ape:w-full ape:flex\"\n onClick={(e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => handleNavigation(e)}\n >\n Project Info\n <Flex className=\"ape:ml-[4px]\">\n <Expand width={20} color=\"white\" />\n </Flex>\n </Flex>\n </Flex>\n )\n}\n\nexport default ExpandedViewButton\n"],"names":["_jsx","_jsxs"],"mappings":";;;;AAIA,MAAM,kBAAkB,GAAG,CAAC,EAC1B,gBAAgB,EAChB,QAAQ,GAIT,KAAI;IACH,QACEA,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,0DAA0D,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,IAAI,MAAM,EAAE,EAAA,QAAA,EAC7GC,IAAA,CAAC,IAAI,EAAA,EACH,SAAS,EAAC,wLAAwL,EAClM,OAAO,EAAE,CAAC,CAAkD,KAAK,gBAAgB,CAAC,CAAC,CAAC,EAAA,QAAA,EAAA,CAAA,cAAA,EAGpFD,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,cAAc,EAAA,QAAA,EAC5BA,GAAA,CAAC,MAAM,EAAA,EAAC,KAAK,EAAE,EAAE,EAAE,KAAK,EAAC,OAAO,EAAA,CAAG,EAAA,CAC9B,CAAA,EAAA,CACF,EAAA,CACF;AAEX;;;;"}
|
|
@@ -4,12 +4,13 @@ import YourBonds from '../YourBonds/YourBonds.js';
|
|
|
4
4
|
import Bonds from '../Bonds/Bonds.js';
|
|
5
5
|
import useActiveView, { BondsViewOptions } from '../../state/activeView/index.js';
|
|
6
6
|
import { useSDKConfig } from '../../state/useSDKConfig.js';
|
|
7
|
+
import YourBondsStatus from './YourBondsStatus.js';
|
|
7
8
|
import Toggle from '../../components/uikit-sdk/Toggle/index.js';
|
|
8
9
|
|
|
9
10
|
const FullBondsView = () => {
|
|
10
11
|
const { activeView, handleToogle } = useActiveView();
|
|
11
12
|
const SDKConfig = useSDKConfig();
|
|
12
|
-
return (jsxs("div", { className: "full-bonds-view-container ape:w-full ape:flex ape:flex-col ape:relative", children: [(SDKConfig.solAddress || SDKConfig.evmAddress) && (jsxs(Flex, { className: "ape:justify-center ape:my-[20px]", children: ["Debugger mode for address: ", SDKConfig.solAddress || SDKConfig.evmAddress] })),
|
|
13
|
+
return (jsxs("div", { className: "full-bonds-view-container ape:w-full ape:flex ape:flex-col ape:relative", children: [(SDKConfig.solAddress || SDKConfig.evmAddress) && (jsxs(Flex, { className: "ape:justify-center ape:my-[20px]", children: ["Debugger mode for address: ", SDKConfig.solAddress || SDKConfig.evmAddress] })), jsxs("div", { className: "ape:w-full ape:flex ape:flex-col ape:min-[1000px]:flex-row ape:min-[1000px]:items-center ape:min-[1000px]:gap-[20px] ape:min-[1000px]:absolute ape:min-[1000px]:left-[10px] ape:min-[1000px]:w-auto", children: [jsx("div", { className: "toggle-container ape:w-full ape:p-[10px] ape:min-[1000px]:p-0 ape:min-[1000px]:w-[300px]", children: jsx(Toggle, { options: [BondsViewOptions.BONDSMARKET, BondsViewOptions.YOURBONDS], activeOption: activeView, handleToggle: handleToogle }) }), activeView === BondsViewOptions.YOURBONDS && (jsx("div", { className: "ape:hidden ape:min-[1000px]:block", children: jsx(YourBondsStatus, {}) }))] }), jsx(Flex, { className: "ape:w-full", children: activeView === BondsViewOptions.BONDSMARKET ? jsx(Bonds, {}) : jsx(YourBonds, {}) })] }));
|
|
13
14
|
};
|
|
14
15
|
|
|
15
16
|
export { FullBondsView as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FullBondsView.js","sources":["../../../src/views/FullBondsView/FullBondsView.tsx"],"sourcesContent":["import React from 'react'\nimport Flex from '../../components/uikit-sdk/Flex'\nimport YourBonds from '../YourBonds/YourBonds'\nimport Bonds from '../Bonds/Bonds'\nimport useActiveView, { BondsViewOptions } from '../../state/activeView'\nimport { useSDKConfig } from '../../state/useSDKConfig'\nimport Toggle from '../../components/uikit-sdk/Toggle'\n\nconst FullBondsView = () => {\n const { activeView, handleToogle } = useActiveView()\n const SDKConfig = useSDKConfig()\n\n return (\n <div className=\"full-bonds-view-container ape:w-full ape:flex ape:flex-col ape:relative\">\n {(SDKConfig.solAddress || SDKConfig.evmAddress) && (\n <Flex className=\"ape:justify-center ape:my-[20px]\">\n Debugger mode for address: {SDKConfig.solAddress || SDKConfig.evmAddress}\n </Flex>\n )}\n <div className=\"
|
|
1
|
+
{"version":3,"file":"FullBondsView.js","sources":["../../../src/views/FullBondsView/FullBondsView.tsx"],"sourcesContent":["import React from 'react'\nimport Flex from '../../components/uikit-sdk/Flex'\nimport YourBonds from '../YourBonds/YourBonds'\nimport Bonds from '../Bonds/Bonds'\nimport useActiveView, { BondsViewOptions } from '../../state/activeView'\nimport { useSDKConfig } from '../../state/useSDKConfig'\nimport YourBondsStatus from './YourBondsStatus'\nimport Toggle from '../../components/uikit-sdk/Toggle'\n\nconst FullBondsView = () => {\n const { activeView, handleToogle } = useActiveView()\n const SDKConfig = useSDKConfig()\n\n return (\n <div className=\"full-bonds-view-container ape:w-full ape:flex ape:flex-col ape:relative\">\n {(SDKConfig.solAddress || SDKConfig.evmAddress) && (\n <Flex className=\"ape:justify-center ape:my-[20px]\">\n Debugger mode for address: {SDKConfig.solAddress || SDKConfig.evmAddress}\n </Flex>\n )}\n <div className=\"ape:w-full ape:flex ape:flex-col ape:min-[1000px]:flex-row ape:min-[1000px]:items-center ape:min-[1000px]:gap-[20px] ape:min-[1000px]:absolute ape:min-[1000px]:left-[10px] ape:min-[1000px]:w-auto\">\n <div className=\"toggle-container ape:w-full ape:p-[10px] ape:min-[1000px]:p-0 ape:min-[1000px]:w-[300px]\">\n <Toggle\n options={[BondsViewOptions.BONDSMARKET, BondsViewOptions.YOURBONDS]}\n activeOption={activeView}\n handleToggle={handleToogle}\n />\n </div>\n {activeView === BondsViewOptions.YOURBONDS && (\n <div className=\"ape:hidden ape:min-[1000px]:block\">\n <YourBondsStatus />\n </div>\n )}\n </div>\n <Flex className=\"ape:w-full\">{activeView === BondsViewOptions.BONDSMARKET ? <Bonds /> : <YourBonds />}</Flex>\n </div>\n )\n}\n\nexport default FullBondsView\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;;;;;AASA,MAAM,aAAa,GAAG,MAAK;IACzB,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,aAAa,EAAE;AACpD,IAAA,MAAM,SAAS,GAAG,YAAY,EAAE;IAEhC,QACEA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,yEAAyE,aACrF,CAAC,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,UAAU,MAC5CA,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,kCAAkC,EAAA,QAAA,EAAA,CAAA,6BAAA,EACpB,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,UAAU,CAAA,EAAA,CACnE,CACR,EACDA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,qMAAqM,EAAA,QAAA,EAAA,CAClNC,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,0FAA0F,EAAA,QAAA,EACvGA,GAAA,CAAC,MAAM,EAAA,EACL,OAAO,EAAE,CAAC,gBAAgB,CAAC,WAAW,EAAE,gBAAgB,CAAC,SAAS,CAAC,EACnE,YAAY,EAAE,UAAU,EACxB,YAAY,EAAE,YAAY,EAAA,CAC1B,EAAA,CACE,EACL,UAAU,KAAK,gBAAgB,CAAC,SAAS,KACxCA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,mCAAmC,EAAA,QAAA,EAChDA,GAAA,CAAC,eAAe,EAAA,EAAA,CAAG,EAAA,CACf,CACP,CAAA,EAAA,CACG,EACNA,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,YAAY,EAAA,QAAA,EAAE,UAAU,KAAK,gBAAgB,CAAC,WAAW,GAAGA,GAAA,CAAC,KAAK,EAAA,EAAA,CAAG,GAAGA,GAAA,CAAC,SAAS,EAAA,EAAA,CAAG,EAAA,CAAQ,CAAA,EAAA,CACzG;AAEV;;;;"}
|