@ape.swap/bonds-sdk 6.1.13 → 6.1.15-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/components/BondFilters/BondFilters.js +2 -1
- package/dist/components/BondFilters/BondFilters.js.map +1 -1
- package/dist/components/ChainOptionList/ChainOptionsButtons.js +3 -2
- package/dist/components/ChainOptionList/ChainOptionsButtons.js.map +1 -1
- package/dist/components/ChainOptionList/ChainOptionsList.js +5 -3
- package/dist/components/ChainOptionList/ChainOptionsList.js.map +1 -1
- package/dist/components/ConnectoToVmBanners/ConnectToAptosBanner.js +2 -2
- package/dist/components/ConnectoToVmBanners/ConnectToAptosBanner.js.map +1 -1
- package/dist/components/ConnectoToVmBanners/ConnectToSuiBanner.js +2 -2
- package/dist/components/ConnectoToVmBanners/ConnectToSuiBanner.js.map +1 -1
- package/dist/components/FavIcons/AddFavToken.js +4 -2
- package/dist/components/FavIcons/AddFavToken.js.map +1 -1
- package/dist/components/FavIcons/FavFilter.js +3 -2
- package/dist/components/FavIcons/FavFilter.js.map +1 -1
- package/dist/components/NetworkFilter/index.js +12 -4
- package/dist/components/NetworkFilter/index.js.map +1 -1
- package/dist/components/PlaceholderMonkey/index.js +2 -2
- package/dist/components/PlaceholderMonkey/index.js.map +1 -1
- package/dist/components/StepBubble/index.js +2 -2
- package/dist/components/StepBubble/index.js.map +1 -1
- package/dist/components/Toast/index.js +7 -3
- package/dist/components/Toast/index.js.map +1 -1
- package/dist/components/TokenInfoAndName/index.js +3 -2
- package/dist/components/TokenInfoAndName/index.js.map +1 -1
- package/dist/components/TokenSelectorPanel/index.js +2 -2
- package/dist/components/TokenSelectorPanel/index.js.map +1 -1
- package/dist/components/Tooltip/ButtonsRow.js +5 -2
- package/dist/components/Tooltip/ButtonsRow.js.map +1 -1
- package/dist/components/Tooltip/Tooltip.js +2 -2
- package/dist/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/uikit-sdk/Button/IconButton.js +3 -4
- package/dist/components/uikit-sdk/Button/IconButton.js.map +1 -1
- package/dist/components/uikit-sdk/Button/types.d.ts +3 -2
- package/dist/components/uikit-sdk/Button/types.js.map +1 -1
- package/dist/components/uikit-sdk/Input/Input.js +2 -2
- package/dist/components/uikit-sdk/Input/Input.js.map +1 -1
- package/dist/components/uikit-sdk/Modal/ModalHeader.js +2 -1
- package/dist/components/uikit-sdk/Modal/ModalHeader.js.map +1 -1
- package/dist/components/uikit-sdk/Select/Select.js +2 -2
- package/dist/components/uikit-sdk/Select/Select.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Arrow.js +3 -2
- package/dist/components/uikit-sdk/Svg/Icons/Arrow.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Caret.js +3 -2
- package/dist/components/uikit-sdk/Svg/Icons/Caret.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Close.js +3 -2
- package/dist/components/uikit-sdk/Svg/Icons/Close.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Cog.d.ts +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Cog.js +3 -2
- package/dist/components/uikit-sdk/Svg/Icons/Cog.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/CoinGecko.js +3 -2
- package/dist/components/uikit-sdk/Svg/Icons/CoinGecko.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/DexScreener.js +3 -2
- package/dist/components/uikit-sdk/Svg/Icons/DexScreener.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Discord.js +3 -2
- package/dist/components/uikit-sdk/Svg/Icons/Discord.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Discount.js +3 -2
- package/dist/components/uikit-sdk/Svg/Icons/Discount.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Error.js +3 -2
- package/dist/components/uikit-sdk/Svg/Icons/Error.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Expand.js +3 -2
- package/dist/components/uikit-sdk/Svg/Icons/Expand.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/External.js +3 -2
- package/dist/components/uikit-sdk/Svg/Icons/External.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Insight.js +3 -2
- package/dist/components/uikit-sdk/Svg/Icons/Insight.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/More.js +3 -2
- package/dist/components/uikit-sdk/Svg/Icons/More.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/PlaceholderMonkey.d.ts +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/PlaceholderMonkey.js +3 -2
- package/dist/components/uikit-sdk/Svg/Icons/PlaceholderMonkey.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/QuestionCircle.js +3 -2
- package/dist/components/uikit-sdk/Svg/Icons/QuestionCircle.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Search.js +3 -2
- package/dist/components/uikit-sdk/Svg/Icons/Search.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Sort.js +3 -2
- package/dist/components/uikit-sdk/Svg/Icons/Sort.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Success.js +3 -2
- package/dist/components/uikit-sdk/Svg/Icons/Success.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Tick.js +3 -2
- package/dist/components/uikit-sdk/Svg/Icons/Tick.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Twitter.js +3 -2
- package/dist/components/uikit-sdk/Svg/Icons/Twitter.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/URL.js +3 -2
- package/dist/components/uikit-sdk/Svg/Icons/URL.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/types.d.ts +1 -4
- package/dist/components/uikit-sdk/Svg/types.d.ts +0 -83
- package/dist/components/uikit-sdk/Tag/ListTag.js +5 -3
- package/dist/components/uikit-sdk/Tag/ListTag.js.map +1 -1
- package/dist/components/uikit-sdk/TokenImage/index.js +4 -3
- package/dist/components/uikit-sdk/TokenImage/index.js.map +1 -1
- package/dist/config/constants/chains.d.ts +3 -2
- package/dist/config/constants/chains.js +52 -29
- package/dist/config/constants/chains.js.map +1 -1
- package/dist/state/tiers/useTierPoints.d.ts +2 -2
- package/dist/state/tiers/useTierPoints.js +3 -2
- package/dist/state/tiers/useTierPoints.js.map +1 -1
- package/dist/views/Bonds/Bonds.js +2 -2
- package/dist/views/Bonds/Bonds.js.map +1 -1
- package/dist/views/Bonds/components/BondRows/BondRow.js +5 -3
- package/dist/views/Bonds/components/BondRows/BondRow.js.map +1 -1
- package/dist/views/Bonds/components/BondRows/ChainTitle.js +3 -2
- package/dist/views/Bonds/components/BondRows/ChainTitle.js.map +1 -1
- package/dist/views/Bonds/components/BondRows/SoldOutRows.js +2 -2
- package/dist/views/Bonds/components/BondRows/SoldOutRows.js.map +1 -1
- package/dist/views/Bonds/components/BondsMenu/BondsMenu.js +2 -2
- package/dist/views/Bonds/components/BondsMenu/BondsMenu.js.map +1 -1
- package/dist/views/Bonds/components/BonusComponents/BonusComponent.js +2 -2
- package/dist/views/Bonds/components/BonusComponents/BonusComponent.js.map +1 -1
- package/dist/views/Bonds/components/HotBondCards/HotBondCard.js +3 -2
- package/dist/views/Bonds/components/HotBondCards/HotBondCard.js.map +1 -1
- package/dist/views/BuyBond/BuyComponent.js +3 -3
- package/dist/views/BuyBond/BuyComponent.js.map +1 -1
- package/dist/views/BuyBond/BuyComponentPreTGE.js +3 -3
- package/dist/views/BuyBond/BuyComponentPreTGE.js.map +1 -1
- package/dist/views/BuyBond/BuyComponentSolana.js +2 -2
- package/dist/views/BuyBond/BuyComponentSolana.js.map +1 -1
- package/dist/views/BuyBond/ParticipationSuccessful.js +3 -3
- package/dist/views/BuyBond/ParticipationSuccessful.js.map +1 -1
- package/dist/views/BuyBond/components/BondCards/BondCards.js +6 -5
- package/dist/views/BuyBond/components/BondCards/BondCards.js.map +1 -1
- package/dist/views/BuyBond/components/BondCards/BondCardsPreTGE.js +6 -6
- package/dist/views/BuyBond/components/BondCards/BondCardsPreTGE.js.map +1 -1
- package/dist/views/BuyBond/components/BondModalHeader.js +5 -3
- package/dist/views/BuyBond/components/BondModalHeader.js.map +1 -1
- package/dist/views/BuyBond/components/Estimations.js +13 -6
- package/dist/views/BuyBond/components/Estimations.js.map +1 -1
- package/dist/views/BuyBond/components/ExpandedViewButton.js +2 -2
- package/dist/views/BuyBond/components/ExpandedViewButton.js.map +1 -1
- package/dist/views/BuyBond/components/GetUpToComponent/GetUpToComponent.js +2 -2
- package/dist/views/BuyBond/components/GetUpToComponent/GetUpToComponent.js.map +1 -1
- package/dist/views/BuyBond/components/NewRateModal/NewRateModal.js +2 -2
- package/dist/views/BuyBond/components/NewRateModal/NewRateModal.js.map +1 -1
- package/dist/views/BuyBond/components/PointsLeftForNextTier/PointsLeftForNextTier.js +4 -3
- package/dist/views/BuyBond/components/PointsLeftForNextTier/PointsLeftForNextTier.js.map +1 -1
- package/dist/views/ProjectView/components/BondLeaderboard/index.js +2 -2
- package/dist/views/ProjectView/components/BondLeaderboard/index.js.map +1 -1
- package/dist/views/ProjectView/components/NavPanel/index.js +2 -2
- package/dist/views/ProjectView/components/NavPanel/index.js.map +1 -1
- package/dist/views/ProjectView/components/PriceChart/index.js +4 -3
- package/dist/views/ProjectView/components/PriceChart/index.js.map +1 -1
- package/dist/views/TransactionModal/TransactionModal.js +3 -3
- package/dist/views/TransactionModal/TransactionModal.js.map +1 -1
- package/dist/views/YourBonds/components/ClaimAll/ClaimAllModal.js +2 -2
- package/dist/views/YourBonds/components/ClaimAll/ClaimAllModal.js.map +1 -1
- package/dist/views/YourBonds/components/UserBondRow/UserBondRow.js +2 -2
- package/dist/views/YourBonds/components/UserBondRow/UserBondRow.js.map +1 -1
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowAptos.js +2 -2
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowAptos.js.map +1 -1
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowPreTGE.js +2 -2
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowPreTGE.js.map +1 -1
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowSolana.js +2 -2
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowSolana.js.map +1 -1
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowSui.js +2 -2
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowSui.js.map +1 -1
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowYield.js +2 -2
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowYield.js.map +1 -1
- package/dist/views/YourBonds/components/YourBondsMenu/YourBondsMenu.js +2 -2
- package/dist/views/YourBonds/components/YourBondsMenu/YourBondsMenu.js.map +1 -1
- package/dist/views/YourBondsModal/YourBondsModal.js +7 -6
- package/dist/views/YourBondsModal/YourBondsModal.js.map +1 -1
- package/dist/views/YourBondsModal/components/LinkShare/LinkShare.js +2 -2
- package/dist/views/YourBondsModal/components/LinkShare/LinkShare.js.map +1 -1
- package/dist/views/YourBondsModal/components/NFTImage/NFTImage.js +5 -3
- package/dist/views/YourBondsModal/components/NFTImage/NFTImage.js.map +1 -1
- package/dist/views/YourBondsModal/components/YourBondModalHeader/YourBondModalHeader.js +2 -2
- package/dist/views/YourBondsModal/components/YourBondModalHeader/YourBondModalHeader.js.map +1 -1
- package/dist/views/YourBondsModalYield/YourBondsModalYield.js +6 -5
- package/dist/views/YourBondsModalYield/YourBondsModalYield.js.map +1 -1
- package/dist/views/YourBondsModalYield/components/YourBondModalHeader/YourBondModalHeader.js +2 -2
- package/dist/views/YourBondsModalYield/components/YourBondModalHeader/YourBondModalHeader.js.map +1 -1
- package/package.json +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Audit.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Audit.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Fire.js +0 -8
- package/dist/components/uikit-sdk/Svg/Icons/Fire.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Hamburger.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Hamburger.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Instagram.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Instagram.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Medium.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Medium.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Reddit.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Reddit.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Telegram.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Telegram.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/Website.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/Website.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/ZapArrow.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/ZapArrow.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/Icons/ZapIcon.js +0 -18
- package/dist/components/uikit-sdk/Svg/Icons/ZapIcon.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/index.d.ts +0 -3
- package/dist/components/uikit-sdk/Svg/index.js +0 -257
- package/dist/components/uikit-sdk/Svg/index.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/tokens/BSC.js +0 -8
- package/dist/components/uikit-sdk/Svg/tokens/BSC.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/tokens/CELO.js +0 -8
- package/dist/components/uikit-sdk/Svg/tokens/CELO.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/tokens/CRONOS.js +0 -8
- package/dist/components/uikit-sdk/Svg/tokens/CRONOS.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/tokens/FANTOM.js +0 -8
- package/dist/components/uikit-sdk/Svg/tokens/FANTOM.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/tokens/GNOSIS.js +0 -8
- package/dist/components/uikit-sdk/Svg/tokens/GNOSIS.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/tokens/OKX.js +0 -8
- package/dist/components/uikit-sdk/Svg/tokens/OKX.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/tokens/OPTIMISM.js +0 -10
- package/dist/components/uikit-sdk/Svg/tokens/OPTIMISM.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/tokens/POLYGONZK.js +0 -8
- package/dist/components/uikit-sdk/Svg/tokens/POLYGONZK.js.map +0 -1
- package/dist/components/uikit-sdk/Svg/types.js +0 -96
- package/dist/components/uikit-sdk/Svg/types.js.map +0 -1
|
@@ -5,7 +5,7 @@ import { useIsMobile } from '../../../../hooks/useIsMobile.js';
|
|
|
5
5
|
import { formatUTCDate } from '../../../../utils/dates/formatDate.js';
|
|
6
6
|
import Flex from '../../../../components/uikit-sdk/Flex/index.js';
|
|
7
7
|
import TooltipBubble from '../../../../components/uikit-sdk/TooltipBubble/index.js';
|
|
8
|
-
import
|
|
8
|
+
import QuestionCircle from '../../../../components/uikit-sdk/Svg/Icons/QuestionCircle.js';
|
|
9
9
|
|
|
10
10
|
const BondCardsPreTGE = ({ bond }) => {
|
|
11
11
|
const isMobile = useIsMobile();
|
|
@@ -26,7 +26,7 @@ const BondCardsPreTGE = ({ bond }) => {
|
|
|
26
26
|
},
|
|
27
27
|
}, children: [jsxs(Flex, { className: "bond-card-title", sx: { alignItems: 'center' }, children: [bond.yieldBond ? 'APR' : 'Bonus', jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(Flex, { children: bond.yieldBond
|
|
28
28
|
? 'This is the bonus yield to be distributed over the pool duration. The APR increases over time until the sale ends, following a Dutch Auction format.'
|
|
29
|
-
: 'This is the percentage of additional tokens you’ll get compared to buying at market price.' }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, -5%)", children: jsx("div", { className: "bond-card-tooltip", children: jsx(
|
|
29
|
+
: 'This is the percentage of additional tokens you’ll get compared to buying at market price.' }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, -5%)", children: jsx("div", { className: "bond-card-tooltip", children: jsx(QuestionCircle, { width: "12px" }) }) })] }), bond.yieldBond ? (jsxs(Flex, { sx: { color: 'success' }, children: [bond.yieldData?.apr.toFixed(), "%"] })) : (jsxs(Flex, { sx: { color: 'success', alignItems: 'center' }, children: [bonusToUse?.toFixed(0), "%", bond.airdropTooltip && (jsx(TooltipBubble, { body: jsx(Fragment, { children: bond.airdropTooltip }), width: "230px", placement: isMobile ? 'bottomRight' : 'bottomLeft', transformTip: isMobile ? 'translate(9%, 6%)' : 'translate(-3%, 6%)', children: jsx(Flex, { sx: { width: '20px', height: '20px', alignItems: 'center', ml: '5px' }, children: jsx("img", { src: "https://res.cloudinary.com/dswmrqgwy/image/upload/v1750345773/airdrop_qvh4ow.png", alt: "airdrop-img", style: { width: '20px', height: '20px' } }) }) }))] }))] }), bond.yieldBond ? (jsxs("div", { className: "bond-card-block", sx: {
|
|
30
30
|
fontSize: '13px !important',
|
|
31
31
|
borderRadius: ['0px', '0px', '0px', 'normal'],
|
|
32
32
|
cursor: 'pointer',
|
|
@@ -38,7 +38,7 @@ const BondCardsPreTGE = ({ bond }) => {
|
|
|
38
38
|
borderBottomRightRadius: 'normal',
|
|
39
39
|
borderBottomLeftRadius: 'normal',
|
|
40
40
|
},
|
|
41
|
-
}, onClick: () => setShowLocalTime((prev) => !prev), children: [jsxs(Flex, { className: "bond-card-title", children: ["Sale Ends", jsx(TooltipBubble, { className: "tooltip-bubble", body: jsxs(Flex, { children: ["This is the date and time when the sale ends. Initial tokens will be distributed", ' ', getTimePeriods((bond?.yieldData?.rewardDistributionEnd ?? 0) - parseInt(bond.startVestingTimestamp ?? '0'), true).days, ' ', "days afterwards, followed by the yield rewards over the pool duration."] }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, -5%)", children: jsx("div", { className: "bond-card-tooltip", children: jsx(
|
|
41
|
+
}, onClick: () => setShowLocalTime((prev) => !prev), children: [jsxs(Flex, { className: "bond-card-title", children: ["Sale Ends", jsx(TooltipBubble, { className: "tooltip-bubble", body: jsxs(Flex, { children: ["This is the date and time when the sale ends. Initial tokens will be distributed", ' ', getTimePeriods((bond?.yieldData?.rewardDistributionEnd ?? 0) - parseInt(bond.startVestingTimestamp ?? '0'), true).days, ' ', "days afterwards, followed by the yield rewards over the pool duration."] }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, -5%)", children: jsx("div", { className: "bond-card-tooltip", children: jsx(QuestionCircle, { width: "12px" }) }) })] }), formatUTCDate(new Date((bond.finishTime ?? 0) * 1000), false, showLocalTime), ' ', showLocalTime ? 'Local' : 'UTC'] })) : (jsxs("div", { className: "bond-card-block", sx: {
|
|
42
42
|
fontSize: '13px !important',
|
|
43
43
|
borderRadius: ['0px', '0px', '0px', 'normal'],
|
|
44
44
|
'&:first-of-type': {
|
|
@@ -49,7 +49,7 @@ const BondCardsPreTGE = ({ bond }) => {
|
|
|
49
49
|
borderBottomRightRadius: 'normal',
|
|
50
50
|
borderBottomLeftRadius: 'normal',
|
|
51
51
|
},
|
|
52
|
-
}, children: [jsxs(Flex, { className: "bond-card-title", children: ["TGE", jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(Flex, { children: "This is the date and time when this token will become officially live on-chain." }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, -5%)", children: jsx("div", { className: "bond-card-tooltip", children: jsx(
|
|
52
|
+
}, children: [jsxs(Flex, { className: "bond-card-title", children: ["TGE", jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(Flex, { children: "This is the date and time when this token will become officially live on-chain." }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, -5%)", children: jsx("div", { className: "bond-card-tooltip", children: jsx(QuestionCircle, { width: "12px" }) }) })] }), bond.tgeString] })), jsx("div", { className: "bond-card-block", sx: {
|
|
53
53
|
borderRadius: ['0px', '0px', '0px', 'normal'],
|
|
54
54
|
'&:first-of-type': {
|
|
55
55
|
borderTopRightRadius: 'normal',
|
|
@@ -59,7 +59,7 @@ const BondCardsPreTGE = ({ bond }) => {
|
|
|
59
59
|
borderBottomRightRadius: 'normal',
|
|
60
60
|
borderBottomLeftRadius: 'normal',
|
|
61
61
|
},
|
|
62
|
-
}, children: bond.yieldBond ? (jsxs(Fragment, { children: [jsxs("div", { className: "bond-card-title", children: ["Pool Duration", jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(Flex, { children: "This is the duration over which the bonus yield will be distributed while your initial tokens remain staked." }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, -5%)", children: jsx("div", { className: "bond-card-tooltip", children: jsx(
|
|
62
|
+
}, children: bond.yieldBond ? (jsxs(Fragment, { children: [jsxs("div", { className: "bond-card-title", children: ["Pool Duration", jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(Flex, { children: "This is the duration over which the bonus yield will be distributed while your initial tokens remain staked." }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, -5%)", children: jsx("div", { className: "bond-card-tooltip", children: jsx(QuestionCircle, { width: "12px" }) }) })] }), jsxs(Flex, { sx: { color: 'text' }, children: [getTimePeriods((bond?.yieldData?.rewardDistributionEnd ?? 0) - parseInt(bond.startVestingTimestamp ?? '0'), true).days, ' ', "Days"] })] })) : (jsxs(Fragment, { children: [jsxs("div", { className: "bond-card-title", children: ["Initial Release", jsx(TooltipBubble, { className: "tooltip-bubble", body: jsxs(Flex, { children: ["This is the percentage of tokens you can claim immediately on ", bond.tgeString, ". The rest follows the vesting schedule."] }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, -5%)", children: jsx("div", { className: "bond-card-tooltip", children: jsx(QuestionCircle, { width: "12px" }) }) })] }), initialRelease, "%"] })) }), !bond.yieldBond && (jsxs("div", { className: "bond-card-block", sx: {
|
|
63
63
|
borderRadius: ['0px', '0px', '0px', 'normal'],
|
|
64
64
|
'&:first-of-type': {
|
|
65
65
|
borderTopRightRadius: 'normal',
|
|
@@ -69,7 +69,7 @@ const BondCardsPreTGE = ({ bond }) => {
|
|
|
69
69
|
borderBottomRightRadius: 'normal',
|
|
70
70
|
borderBottomLeftRadius: 'normal',
|
|
71
71
|
},
|
|
72
|
-
}, children: [jsxs("div", { className: "bond-card-title", children: ["Vesting Terms", initialRelease !== 100 && (jsx(TooltipBubble, { className: "tooltip-bubble", body: jsxs(Flex, { children: ["Remaining tokens will vest linearly over ", getTimePeriods(bond?.vestingTerm).months, " months after", ' ', formatUTCDate(new Date(parseInt(bond.startVestingTimestamp ?? '0') * 1000)), " UTC."] }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, -5%)", children: jsx("div", { className: "bond-card-tooltip", children: jsx(
|
|
72
|
+
}, children: [jsxs("div", { className: "bond-card-title", children: ["Vesting Terms", initialRelease !== 100 && (jsx(TooltipBubble, { className: "tooltip-bubble", body: jsxs(Flex, { children: ["Remaining tokens will vest linearly over ", getTimePeriods(bond?.vestingTerm).months, " months after", ' ', formatUTCDate(new Date(parseInt(bond.startVestingTimestamp ?? '0') * 1000)), " UTC."] }), width: "230px", placement: "bottomLeft", transformTip: "translate(-5%, -5%)", children: jsx("div", { className: "bond-card-tooltip", children: jsx(QuestionCircle, { width: "12px" }) }) }))] }), initialRelease === 100 ? `0 D` : `${getTimePeriods(bond?.vestingTerm)?.months} Mo`] }))] }));
|
|
73
73
|
};
|
|
74
74
|
|
|
75
75
|
export { BondCardsPreTGE as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BondCardsPreTGE.js","sources":["../../../../../src/views/BuyBond/components/BondCards/BondCardsPreTGE.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { getTimePeriods } from '../../../../utils/getTimePeriods'\nimport { BondsData } from '../../../../types/bonds'\nimport { useIsMobile } from '../../../../hooks/useIsMobile'\nimport { formatUTCDate } from '../../../../utils/dates/formatDate'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport TooltipBubble from '../../../../components/uikit-sdk/TooltipBubble'\nimport Svg from '../../../../components/uikit-sdk/Svg'\n\nconst BondCardsPreTGE = ({ bond }: { bond: BondsData }) => {\n const isMobile = useIsMobile()\n const [showLocalTime, setShowLocalTime] = useState(false)\n const bonus = bond?.trueBondPrices?.[0].bonus ?? 0\n const airdropBonus = bond.airdropBonus ?? 0\n const bonusToUse = bonus + airdropBonus\n const initialRelease = (bond?.initialRelease ?? 0) * 100\n return (\n <div className=\"bonds-cards\">\n <div\n className=\"bond-card-block\"\n sx={{\n borderRadius: ['0px', '0px', '0px', 'normal'],\n '&:first-of-type': {\n borderTopRightRadius: 'normal',\n borderTopLeftRadius: 'normal',\n },\n\n '&:last-of-type': {\n borderBottomRightRadius: 'normal',\n borderBottomLeftRadius: 'normal',\n },\n }}\n >\n <Flex className=\"bond-card-title\" sx={{ alignItems: 'center' }}>\n {bond.yieldBond ? 'APR' : 'Bonus'}\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Flex>\n {bond.yieldBond\n ? 'This is the bonus yield to be distributed over the pool duration. The APR increases over time until the sale ends, following a Dutch Auction format.'\n : 'This is the percentage of additional tokens you’ll get compared to buying at market price.'}\n </Flex>\n }\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, -5%)\"\n >\n <div className=\"bond-card-tooltip\">\n <Svg icon=\"questionCircle\" width=\"12px\" />\n </div>\n </TooltipBubble>\n </Flex>\n {bond.yieldBond ? (\n <Flex sx={{ color: 'success' }}>{bond.yieldData?.apr.toFixed()}%</Flex>\n ) : (\n <Flex sx={{ color: 'success', alignItems: 'center' }}>\n {bonusToUse?.toFixed(0)}%\n {bond.airdropTooltip && (\n <TooltipBubble\n body={<>{bond.airdropTooltip}</>}\n width=\"230px\"\n placement={isMobile ? 'bottomRight' : 'bottomLeft'}\n transformTip={isMobile ? 'translate(9%, 6%)' : 'translate(-3%, 6%)'}\n >\n <Flex sx={{ width: '20px', height: '20px', alignItems: 'center', ml: '5px' }}>\n <img\n src=\"https://res.cloudinary.com/dswmrqgwy/image/upload/v1750345773/airdrop_qvh4ow.png\"\n alt=\"airdrop-img\"\n style={{ width: '20px', height: '20px' }}\n />\n </Flex>\n </TooltipBubble>\n )}\n </Flex>\n )}\n </div>\n {bond.yieldBond ? (\n <div\n className=\"bond-card-block\"\n sx={{\n fontSize: '13px !important',\n borderRadius: ['0px', '0px', '0px', 'normal'],\n cursor: 'pointer',\n '&:first-of-type': {\n borderTopRightRadius: 'normal',\n borderTopLeftRadius: 'normal',\n },\n\n '&:last-of-type': {\n borderBottomRightRadius: 'normal',\n borderBottomLeftRadius: 'normal',\n },\n }}\n onClick={() => setShowLocalTime((prev) => !prev)}\n >\n <Flex className=\"bond-card-title\">\n Sale Ends\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Flex>\n This is the date and time when the sale ends. Initial tokens will be distributed{' '}\n {\n getTimePeriods(\n (bond?.yieldData?.rewardDistributionEnd ?? 0) - parseInt(bond.startVestingTimestamp ?? '0'),\n true,\n ).days\n }{' '}\n days afterwards, followed by the yield rewards over the pool duration.\n </Flex>\n }\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, -5%)\"\n >\n <div className=\"bond-card-tooltip\">\n <Svg icon=\"questionCircle\" width=\"12px\" />\n </div>\n </TooltipBubble>\n </Flex>\n {formatUTCDate(new Date((bond.finishTime ?? 0) * 1000), false, showLocalTime)}{' '}\n {showLocalTime ? 'Local' : 'UTC'}\n </div>\n ) : (\n <div\n className=\"bond-card-block\"\n sx={{\n fontSize: '13px !important',\n borderRadius: ['0px', '0px', '0px', 'normal'],\n '&:first-of-type': {\n borderTopRightRadius: 'normal',\n borderTopLeftRadius: 'normal',\n },\n\n '&:last-of-type': {\n borderBottomRightRadius: 'normal',\n borderBottomLeftRadius: 'normal',\n },\n }}\n >\n <Flex className=\"bond-card-title\">\n TGE\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={<Flex>This is the date and time when this token will become officially live on-chain.</Flex>}\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, -5%)\"\n >\n <div className=\"bond-card-tooltip\">\n <Svg icon=\"questionCircle\" width=\"12px\" />\n </div>\n </TooltipBubble>\n </Flex>\n {bond.tgeString}\n </div>\n )}\n <div\n className=\"bond-card-block\"\n sx={{\n borderRadius: ['0px', '0px', '0px', 'normal'],\n '&:first-of-type': {\n borderTopRightRadius: 'normal',\n borderTopLeftRadius: 'normal',\n },\n\n '&:last-of-type': {\n borderBottomRightRadius: 'normal',\n borderBottomLeftRadius: 'normal',\n },\n }}\n >\n {bond.yieldBond ? (\n <>\n <div className=\"bond-card-title\">\n Pool Duration\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Flex>\n This is the duration over which the bonus yield will be distributed while your initial tokens remain\n staked.\n </Flex>\n }\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, -5%)\"\n >\n <div className=\"bond-card-tooltip\">\n <Svg icon=\"questionCircle\" width=\"12px\" />\n </div>\n </TooltipBubble>\n </div>\n <Flex sx={{ color: 'text' }}>\n {\n getTimePeriods(\n (bond?.yieldData?.rewardDistributionEnd ?? 0) - parseInt(bond.startVestingTimestamp ?? '0'),\n true,\n ).days\n }{' '}\n Days\n </Flex>\n </>\n ) : (\n <>\n <div className=\"bond-card-title\">\n Initial Release\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Flex>\n This is the percentage of tokens you can claim immediately on {bond.tgeString}. The rest follows the\n vesting schedule.\n </Flex>\n }\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, -5%)\"\n >\n <div className=\"bond-card-tooltip\">\n <Svg icon=\"questionCircle\" width=\"12px\" />\n </div>\n </TooltipBubble>\n </div>\n {initialRelease}%\n </>\n )}\n </div>\n {!bond.yieldBond && (\n <div\n className=\"bond-card-block\"\n sx={{\n borderRadius: ['0px', '0px', '0px', 'normal'],\n '&:first-of-type': {\n borderTopRightRadius: 'normal',\n borderTopLeftRadius: 'normal',\n },\n\n '&:last-of-type': {\n borderBottomRightRadius: 'normal',\n borderBottomLeftRadius: 'normal',\n },\n }}\n >\n <div className=\"bond-card-title\">\n Vesting Terms\n {initialRelease !== 100 && (\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Flex>\n Remaining tokens will vest linearly over {getTimePeriods(bond?.vestingTerm).months} months after{' '}\n {formatUTCDate(new Date(parseInt(bond.startVestingTimestamp ?? '0') * 1000))} UTC.\n </Flex>\n }\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, -5%)\"\n >\n <div className=\"bond-card-tooltip\">\n <Svg icon=\"questionCircle\" width=\"12px\" />\n </div>\n </TooltipBubble>\n )}\n </div>\n {initialRelease === 100 ? `0 D` : `${getTimePeriods(bond?.vestingTerm)?.months} Mo`}\n </div>\n )}\n </div>\n )\n}\n\nexport default BondCardsPreTGE\n"],"names":["_jsxs","_jsx","_Fragment"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BondCardsPreTGE.js","sources":["../../../../../src/views/BuyBond/components/BondCards/BondCardsPreTGE.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { getTimePeriods } from '../../../../utils/getTimePeriods'\nimport { BondsData } from '../../../../types/bonds'\nimport { useIsMobile } from '../../../../hooks/useIsMobile'\nimport { formatUTCDate } from '../../../../utils/dates/formatDate'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport TooltipBubble from '../../../../components/uikit-sdk/TooltipBubble'\nimport QuestionCircle from '../../../../components/uikit-sdk/Svg/Icons/QuestionCircle'\n\nconst BondCardsPreTGE = ({ bond }: { bond: BondsData }) => {\n const isMobile = useIsMobile()\n const [showLocalTime, setShowLocalTime] = useState(false)\n const bonus = bond?.trueBondPrices?.[0].bonus ?? 0\n const airdropBonus = bond.airdropBonus ?? 0\n const bonusToUse = bonus + airdropBonus\n const initialRelease = (bond?.initialRelease ?? 0) * 100\n return (\n <div className=\"bonds-cards\">\n <div\n className=\"bond-card-block\"\n sx={{\n borderRadius: ['0px', '0px', '0px', 'normal'],\n '&:first-of-type': {\n borderTopRightRadius: 'normal',\n borderTopLeftRadius: 'normal',\n },\n\n '&:last-of-type': {\n borderBottomRightRadius: 'normal',\n borderBottomLeftRadius: 'normal',\n },\n }}\n >\n <Flex className=\"bond-card-title\" sx={{ alignItems: 'center' }}>\n {bond.yieldBond ? 'APR' : 'Bonus'}\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Flex>\n {bond.yieldBond\n ? 'This is the bonus yield to be distributed over the pool duration. The APR increases over time until the sale ends, following a Dutch Auction format.'\n : 'This is the percentage of additional tokens you’ll get compared to buying at market price.'}\n </Flex>\n }\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, -5%)\"\n >\n <div className=\"bond-card-tooltip\">\n <QuestionCircle width=\"12px\" />\n </div>\n </TooltipBubble>\n </Flex>\n {bond.yieldBond ? (\n <Flex sx={{ color: 'success' }}>{bond.yieldData?.apr.toFixed()}%</Flex>\n ) : (\n <Flex sx={{ color: 'success', alignItems: 'center' }}>\n {bonusToUse?.toFixed(0)}%\n {bond.airdropTooltip && (\n <TooltipBubble\n body={<>{bond.airdropTooltip}</>}\n width=\"230px\"\n placement={isMobile ? 'bottomRight' : 'bottomLeft'}\n transformTip={isMobile ? 'translate(9%, 6%)' : 'translate(-3%, 6%)'}\n >\n <Flex sx={{ width: '20px', height: '20px', alignItems: 'center', ml: '5px' }}>\n <img\n src=\"https://res.cloudinary.com/dswmrqgwy/image/upload/v1750345773/airdrop_qvh4ow.png\"\n alt=\"airdrop-img\"\n style={{ width: '20px', height: '20px' }}\n />\n </Flex>\n </TooltipBubble>\n )}\n </Flex>\n )}\n </div>\n {bond.yieldBond ? (\n <div\n className=\"bond-card-block\"\n sx={{\n fontSize: '13px !important',\n borderRadius: ['0px', '0px', '0px', 'normal'],\n cursor: 'pointer',\n '&:first-of-type': {\n borderTopRightRadius: 'normal',\n borderTopLeftRadius: 'normal',\n },\n\n '&:last-of-type': {\n borderBottomRightRadius: 'normal',\n borderBottomLeftRadius: 'normal',\n },\n }}\n onClick={() => setShowLocalTime((prev) => !prev)}\n >\n <Flex className=\"bond-card-title\">\n Sale Ends\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Flex>\n This is the date and time when the sale ends. Initial tokens will be distributed{' '}\n {\n getTimePeriods(\n (bond?.yieldData?.rewardDistributionEnd ?? 0) - parseInt(bond.startVestingTimestamp ?? '0'),\n true,\n ).days\n }{' '}\n days afterwards, followed by the yield rewards over the pool duration.\n </Flex>\n }\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, -5%)\"\n >\n <div className=\"bond-card-tooltip\">\n <QuestionCircle width=\"12px\" />\n </div>\n </TooltipBubble>\n </Flex>\n {formatUTCDate(new Date((bond.finishTime ?? 0) * 1000), false, showLocalTime)}{' '}\n {showLocalTime ? 'Local' : 'UTC'}\n </div>\n ) : (\n <div\n className=\"bond-card-block\"\n sx={{\n fontSize: '13px !important',\n borderRadius: ['0px', '0px', '0px', 'normal'],\n '&:first-of-type': {\n borderTopRightRadius: 'normal',\n borderTopLeftRadius: 'normal',\n },\n\n '&:last-of-type': {\n borderBottomRightRadius: 'normal',\n borderBottomLeftRadius: 'normal',\n },\n }}\n >\n <Flex className=\"bond-card-title\">\n TGE\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={<Flex>This is the date and time when this token will become officially live on-chain.</Flex>}\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, -5%)\"\n >\n <div className=\"bond-card-tooltip\">\n <QuestionCircle width=\"12px\" />\n </div>\n </TooltipBubble>\n </Flex>\n {bond.tgeString}\n </div>\n )}\n <div\n className=\"bond-card-block\"\n sx={{\n borderRadius: ['0px', '0px', '0px', 'normal'],\n '&:first-of-type': {\n borderTopRightRadius: 'normal',\n borderTopLeftRadius: 'normal',\n },\n\n '&:last-of-type': {\n borderBottomRightRadius: 'normal',\n borderBottomLeftRadius: 'normal',\n },\n }}\n >\n {bond.yieldBond ? (\n <>\n <div className=\"bond-card-title\">\n Pool Duration\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Flex>\n This is the duration over which the bonus yield will be distributed while your initial tokens remain\n staked.\n </Flex>\n }\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, -5%)\"\n >\n <div className=\"bond-card-tooltip\">\n <QuestionCircle width=\"12px\" />\n </div>\n </TooltipBubble>\n </div>\n <Flex sx={{ color: 'text' }}>\n {\n getTimePeriods(\n (bond?.yieldData?.rewardDistributionEnd ?? 0) - parseInt(bond.startVestingTimestamp ?? '0'),\n true,\n ).days\n }{' '}\n Days\n </Flex>\n </>\n ) : (\n <>\n <div className=\"bond-card-title\">\n Initial Release\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Flex>\n This is the percentage of tokens you can claim immediately on {bond.tgeString}. The rest follows the\n vesting schedule.\n </Flex>\n }\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, -5%)\"\n >\n <div className=\"bond-card-tooltip\">\n <QuestionCircle width=\"12px\" />\n </div>\n </TooltipBubble>\n </div>\n {initialRelease}%\n </>\n )}\n </div>\n {!bond.yieldBond && (\n <div\n className=\"bond-card-block\"\n sx={{\n borderRadius: ['0px', '0px', '0px', 'normal'],\n '&:first-of-type': {\n borderTopRightRadius: 'normal',\n borderTopLeftRadius: 'normal',\n },\n\n '&:last-of-type': {\n borderBottomRightRadius: 'normal',\n borderBottomLeftRadius: 'normal',\n },\n }}\n >\n <div className=\"bond-card-title\">\n Vesting Terms\n {initialRelease !== 100 && (\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Flex>\n Remaining tokens will vest linearly over {getTimePeriods(bond?.vestingTerm).months} months after{' '}\n {formatUTCDate(new Date(parseInt(bond.startVestingTimestamp ?? '0') * 1000))} UTC.\n </Flex>\n }\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-5%, -5%)\"\n >\n <div className=\"bond-card-tooltip\">\n <QuestionCircle width=\"12px\" />\n </div>\n </TooltipBubble>\n )}\n </div>\n {initialRelease === 100 ? `0 D` : `${getTimePeriods(bond?.vestingTerm)?.months} Mo`}\n </div>\n )}\n </div>\n )\n}\n\nexport default BondCardsPreTGE\n"],"names":["_jsxs","_jsx","_Fragment"],"mappings":"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"}
|
|
@@ -13,10 +13,12 @@ import { findHighestTrueBondPrice } from '../../../utils/bondPriceHelpers.js';
|
|
|
13
13
|
import { MCTokenIconStyles } from '../../../utils/campaignStyles.js';
|
|
14
14
|
import { useIsMobile } from '../../../hooks/useIsMobile.js';
|
|
15
15
|
import Flex from '../../../components/uikit-sdk/Flex/index.js';
|
|
16
|
-
import Svg from '../../../components/uikit-sdk/Svg/index.js';
|
|
17
16
|
import ListTag from '../../../components/uikit-sdk/Tag/ListTag.js';
|
|
18
17
|
import { formatNumberSI } from '../../../utils/formatNumber.js';
|
|
19
18
|
import TooltipBubble from '../../../components/uikit-sdk/TooltipBubble/index.js';
|
|
19
|
+
import Cog from '../../../components/uikit-sdk/Svg/Icons/Cog.js';
|
|
20
|
+
import Close from '../../../components/uikit-sdk/Svg/Icons/Close.js';
|
|
21
|
+
import GiftBox from '../../../components/uikit-sdk/Svg/Icons/GiftBox.js';
|
|
20
22
|
|
|
21
23
|
const BondModalHeader = ({ bondData, onDismiss, showProjectInfoButton, hidePromotionUi = false, }) => {
|
|
22
24
|
const isMobile = useIsMobile();
|
|
@@ -51,7 +53,7 @@ const BondModalHeader = ({ bondData, onDismiss, showProjectInfoButton, hidePromo
|
|
|
51
53
|
height: '30px',
|
|
52
54
|
mb: ['10px', '10px', '10px', '0px'],
|
|
53
55
|
justifyContent: ['space-between', 'space-between', 'space-between', 'flex-end'],
|
|
54
|
-
}, children: [jsx(Flex, { sx: { display: ['flex', 'flex', 'flex', 'none'] }, children: jsx(BondModalMinTierHeader, { minTier: minTier }) }), jsx(Flex, { sx: { cursor: 'pointer' }, children: onDismiss ? (jsxs(Fragment, { children: [showProjectInfoButton && jsx(ExpandedViewButton, { handleNavigation: handleProjectViewNavigation }), jsx(Flex, { sx: { mx: '25px' }, onClick: onOpenSlippageModal, children: jsx(
|
|
56
|
+
}, children: [jsx(Flex, { sx: { display: ['flex', 'flex', 'flex', 'none'] }, children: jsx(BondModalMinTierHeader, { minTier: minTier }) }), jsx(Flex, { sx: { cursor: 'pointer' }, children: onDismiss ? (jsxs(Fragment, { children: [showProjectInfoButton && jsx(ExpandedViewButton, { handleNavigation: handleProjectViewNavigation }), jsx(Flex, { sx: { 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, { sx: { py: '3px', mt: '10px' }, onClick: onOpenSlippageModal, children: jsx(Cog, { width: isMobile ? '16px' : '20px' }) })) })] }), jsxs(Flex, { sx: { width: '100%', position: 'relative' }, children: [jsxs(Flex, { className: "title-container bondicon", children: [jsx(Flex, { sx: MCTokenIconStyles[bondData.marketingCampaign] }), jsx(TokenImage, { symbol: bondData.showcaseTokenName ?? bondData.earnToken.symbol, size: 50, chain: bondData.chainId })] }), jsxs(Flex, { sx: {
|
|
55
57
|
display: 'flex',
|
|
56
58
|
flexDirection: 'column',
|
|
57
59
|
pl: ['10px', '10px', '10px', '20px'],
|
|
@@ -93,7 +95,7 @@ const BondModalHeader = ({ bondData, onDismiss, showProjectInfoButton, hidePromo
|
|
|
93
95
|
color: 'textDisabledButton',
|
|
94
96
|
boxShadow: '0px 0px 30px -10px rgba(222, 98, 243, 0.5)',
|
|
95
97
|
cursor: 'pointer',
|
|
96
|
-
}, children: [jsx(Flex, { sx: { mt: '-15px' }, children: jsx(
|
|
98
|
+
}, children: [jsx(Flex, { sx: { mt: '-15px' }, children: jsx(GiftBox, { width: 30, color: 'textDisabledButton' }) }), jsx(Flex, { sx: { display: ['none', 'none', 'none', 'flex'], textTransform: 'capitalize' }, children: promotion })] }) }) }))] })] }));
|
|
97
99
|
};
|
|
98
100
|
|
|
99
101
|
export { BondModalHeader as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BondModalHeader.js","sources":["../../../../src/views/BuyBond/components/BondModalHeader.tsx"],"sourcesContent":["import React from 'react'\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, { promotionDataMapping, TIERS_WEIGHT } from '../../../state/tiers/useTierPoints'\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 Svg from '../../../components/uikit-sdk/Svg'\nimport ListTag from '../../../components/uikit-sdk/Tag/ListTag'\nimport { formatNumberSI } from '../../../utils/formatNumber'\nimport TooltipBubble from '../../../components/uikit-sdk/TooltipBubble'\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\n className=\"modaltable-container title-container\"\n sx={{ flexDirection: 'column', justifyContent: 'center', alignItems: 'start' }}\n >\n <Flex\n sx={{\n width: '100%',\n height: '30px',\n mb: ['10px', '10px', '10px', '0px'],\n justifyContent: ['space-between', 'space-between', 'space-between', 'flex-end'],\n }}\n >\n <Flex sx={{ display: ['flex', 'flex', 'flex', 'none'] }}>\n <BondModalMinTierHeader minTier={minTier} />\n </Flex>\n <Flex sx={{ cursor: 'pointer' }}>\n {onDismiss ? (\n <>\n {showProjectInfoButton && <ExpandedViewButton handleNavigation={handleProjectViewNavigation} />}\n <Flex sx={{ mx: '25px' }} onClick={onOpenSlippageModal}>\n <Svg icon=\"cog\" width={isMobile ? '16px' : '20px'} />\n </Flex>\n <Flex onClick={handleClose}>\n <Svg icon=\"close\" color=\"text\" width={isMobile ? '12px' : '18px'} />\n </Flex>\n </>\n ) : (\n <Flex sx={{ py: '3px', mt: '10px' }} onClick={onOpenSlippageModal}>\n <Svg icon=\"cog\" width={isMobile ? '16px' : '20px'} />\n </Flex>\n )}\n </Flex>\n </Flex>\n <Flex sx={{ width: '100%', position: 'relative' }}>\n <Flex className=\"title-container bondicon\">\n <Flex sx={MCTokenIconStyles[bondData.marketingCampaign!]} />\n <TokenImage\n symbol={bondData.showcaseTokenName ?? bondData.earnToken.symbol}\n size={50}\n chain={bondData.chainId}\n />\n </Flex>\n <Flex\n sx={{\n display: 'flex',\n flexDirection: 'column',\n pl: ['10px', '10px', '10px', '20px'],\n fontSize: ['20px', '20px', '20px', '24px'],\n fontWeight: 700,\n }}\n >\n {bondData?.showcaseTokenName}\n <ListTag text={bondData?.tags?.[0]} />\n </Flex>\n <Flex\n className=\"title-container price-container\"\n sx={{ flexDirection: 'column', pl: ['10px', '10px', '10px', '20px'] }}\n >\n <Flex className=\"price-container price\" sx={{ fontSize: ['12px', '12px', '12px', '14px'] }}>\n ${formatNumberSI(bondData.payoutTokenPrice, bondData.earnToken.symbol.toLowerCase() === 'ireet' ? 6 : 2)}\n </Flex>\n {SDKConfig.useTiers &&\n bondData.billVersion === BillVersion.V4 &&\n (bondData?.trueBondPrices?.length ?? 0) > 1 ? (\n <Flex\n sx={{\n p: '3px 6px',\n border: '1px solid #9960C5',\n borderRadius: 'normal',\n background: 'transparent',\n position: 'relative',\n overflow: 'hidden',\n }}\n >\n <Flex\n sx={{\n position: 'absolute',\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n zIndex: 1,\n background: '#9960C5',\n opacity: 0.2,\n }}\n />\n <Flex sx={{ width: '100%', zIndex: 2, alignItems: '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 sx={{ fontSize: ['12px', '12px', '12px', '14px'], mr: '3px' }}>Up to</Flex>\n <Flex\n sx={{\n color: bonusWithFee && bonusWithFee > 0 ? 'success' : 'error',\n fontSize: ['12px', '12px', '12px', '14px'],\n }}\n >\n ${discountEarnTokenPrice(bondData, true)}\n </Flex>\n </Flex>\n </Flex>\n ) : (\n <Flex sx={{ fontSize: '24px', fontWeight: 700 }}>${discountEarnTokenPrice(bondData)}</Flex>\n )}\n </Flex>\n <Flex sx={{ display: ['none', 'none', 'none', 'flex'], ml: '10px' }}>\n <BondModalMinTierHeader minTier={minTier} />\n </Flex>\n {!hidePromotionUi && isBondEligibleForPromotion && promotion && (\n <Flex\n sx={{\n position: 'absolute',\n right: '0',\n top: ['unset', 'unset', 'unset', '20px'],\n bottom: ['3px', '3px', '3px', 'unset'],\n }}\n >\n <TooltipBubble\n body={promotionDataMapping[promotion]?.tooltip}\n width=\"205px\"\n placement=\"bottomRight\"\n transformTip={['translate(5%, 0%)', 'translate(5%, 0%)', 'translate(5%, 0%)', 'translate(0%, 0%)']}\n >\n <Flex\n sx={{\n border: '1px solid var(--theme-ui-colors-primaryButton)',\n borderRadius: ['10px', '10px', '10px', '20px'],\n p: ['4px 2px', '4px 2px', '4px 2px', '4px 10px'],\n alignItems: 'center',\n fontSize: '12px',\n fontWeight: 400,\n color: 'textDisabledButton',\n boxShadow: '0px 0px 30px -10px rgba(222, 98, 243, 0.5)',\n cursor: 'pointer',\n }}\n >\n <Flex sx={{ mt: '-15px' }}>\n <Svg icon=\"GiftBox\" width={30} color={'textDisabledButton'} />\n </Flex>\n <Flex sx={{ display: ['none', 'none', 'none', 'flex'], textTransform: '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 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, { promotionDataMapping, TIERS_WEIGHT } from '../../../state/tiers/useTierPoints'\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\n className=\"modaltable-container title-container\"\n sx={{ flexDirection: 'column', justifyContent: 'center', alignItems: 'start' }}\n >\n <Flex\n sx={{\n width: '100%',\n height: '30px',\n mb: ['10px', '10px', '10px', '0px'],\n justifyContent: ['space-between', 'space-between', 'space-between', 'flex-end'],\n }}\n >\n <Flex sx={{ display: ['flex', 'flex', 'flex', 'none'] }}>\n <BondModalMinTierHeader minTier={minTier} />\n </Flex>\n <Flex sx={{ cursor: 'pointer' }}>\n {onDismiss ? (\n <>\n {showProjectInfoButton && <ExpandedViewButton handleNavigation={handleProjectViewNavigation} />}\n <Flex sx={{ 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 sx={{ py: '3px', mt: '10px' }} onClick={onOpenSlippageModal}>\n <Cog width={isMobile ? '16px' : '20px'} />\n </Flex>\n )}\n </Flex>\n </Flex>\n <Flex sx={{ width: '100%', position: 'relative' }}>\n <Flex className=\"title-container bondicon\">\n <Flex sx={MCTokenIconStyles[bondData.marketingCampaign!]} />\n <TokenImage\n symbol={bondData.showcaseTokenName ?? bondData.earnToken.symbol}\n size={50}\n chain={bondData.chainId}\n />\n </Flex>\n <Flex\n sx={{\n display: 'flex',\n flexDirection: 'column',\n pl: ['10px', '10px', '10px', '20px'],\n fontSize: ['20px', '20px', '20px', '24px'],\n fontWeight: 700,\n }}\n >\n {bondData?.showcaseTokenName}\n <ListTag text={bondData?.tags?.[0]} />\n </Flex>\n <Flex\n className=\"title-container price-container\"\n sx={{ flexDirection: 'column', pl: ['10px', '10px', '10px', '20px'] }}\n >\n <Flex className=\"price-container price\" sx={{ fontSize: ['12px', '12px', '12px', '14px'] }}>\n ${formatNumberSI(bondData.payoutTokenPrice, bondData.earnToken.symbol.toLowerCase() === 'ireet' ? 6 : 2)}\n </Flex>\n {SDKConfig.useTiers &&\n bondData.billVersion === BillVersion.V4 &&\n (bondData?.trueBondPrices?.length ?? 0) > 1 ? (\n <Flex\n sx={{\n p: '3px 6px',\n border: '1px solid #9960C5',\n borderRadius: 'normal',\n background: 'transparent',\n position: 'relative',\n overflow: 'hidden',\n }}\n >\n <Flex\n sx={{\n position: 'absolute',\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n zIndex: 1,\n background: '#9960C5',\n opacity: 0.2,\n }}\n />\n <Flex sx={{ width: '100%', zIndex: 2, alignItems: '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 sx={{ fontSize: ['12px', '12px', '12px', '14px'], mr: '3px' }}>Up to</Flex>\n <Flex\n sx={{\n color: bonusWithFee && bonusWithFee > 0 ? 'success' : 'error',\n fontSize: ['12px', '12px', '12px', '14px'],\n }}\n >\n ${discountEarnTokenPrice(bondData, true)}\n </Flex>\n </Flex>\n </Flex>\n ) : (\n <Flex sx={{ fontSize: '24px', fontWeight: 700 }}>${discountEarnTokenPrice(bondData)}</Flex>\n )}\n </Flex>\n <Flex sx={{ display: ['none', 'none', 'none', 'flex'], ml: '10px' }}>\n <BondModalMinTierHeader minTier={minTier} />\n </Flex>\n {!hidePromotionUi && isBondEligibleForPromotion && promotion && (\n <Flex\n sx={{\n position: 'absolute',\n right: '0',\n top: ['unset', 'unset', 'unset', '20px'],\n bottom: ['3px', '3px', '3px', 'unset'],\n }}\n >\n <TooltipBubble\n body={promotionDataMapping[promotion]?.tooltip}\n width=\"205px\"\n placement=\"bottomRight\"\n transformTip={['translate(5%, 0%)', 'translate(5%, 0%)', 'translate(5%, 0%)', 'translate(0%, 0%)']}\n >\n <Flex\n sx={{\n border: '1px solid var(--theme-ui-colors-primaryButton)',\n borderRadius: ['10px', '10px', '10px', '20px'],\n p: ['4px 2px', '4px 2px', '4px 2px', '4px 10px'],\n alignItems: 'center',\n fontSize: '12px',\n fontWeight: 400,\n color: 'textDisabledButton',\n boxShadow: '0px 0px 30px -10px rgba(222, 98, 243, 0.5)',\n cursor: 'pointer',\n }}\n >\n <Flex sx={{ mt: '-15px' }}>\n <GiftBox width={30} color={'textDisabledButton'} />\n </Flex>\n <Flex sx={{ display: ['none', 'none', 'none', 'flex'], textTransform: '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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"}
|
|
@@ -8,7 +8,6 @@ import { BillVersion } from '@ape.swap/apeswap-lists';
|
|
|
8
8
|
import { getTimePeriods } from '../../../utils/getTimePeriods.js';
|
|
9
9
|
import Flex from '../../../components/uikit-sdk/Flex/index.js';
|
|
10
10
|
import TooltipBubble from '../../../components/uikit-sdk/TooltipBubble/index.js';
|
|
11
|
-
import Svg from '../../../components/uikit-sdk/Svg/index.js';
|
|
12
11
|
import Dots from '../../../components/uikit-sdk/LoadingDots/index.js';
|
|
13
12
|
import { calculateOptimizationData } from '../utils.js';
|
|
14
13
|
import { useAbondPrice } from '../../../state/tokenPrices/useAbondPrice.js';
|
|
@@ -17,6 +16,7 @@ import { tierOptimizerUIEnabled } from '../../../config/constants/variables.js';
|
|
|
17
16
|
import { TooltipText } from '../../../config/constants/tooltips.js';
|
|
18
17
|
import { NETWORK_LABEL } from '../../../config/constants/chains.js';
|
|
19
18
|
import { Box } from 'theme-ui';
|
|
19
|
+
import QuestionCircle from '../../../components/uikit-sdk/Svg/Icons/QuestionCircle.js';
|
|
20
20
|
|
|
21
21
|
const Estimations = ({ depositAmount, inputValue, inputTokenPrice, bondData, youSpendString, isZap, fetchingZapQuote, zapError, hidePromotionUi = false, }) => {
|
|
22
22
|
const { data: tierPointsState } = useTierPoints();
|
|
@@ -45,17 +45,24 @@ const Estimations = ({ depositAmount, inputValue, inputTokenPrice, bondData, you
|
|
|
45
45
|
SDKConfig.useTiers &&
|
|
46
46
|
bondData.billVersion === BillVersion.V4 &&
|
|
47
47
|
!hidePromotionUi
|
|
48
|
-
?
|
|
49
|
-
|
|
48
|
+
? SDKConfig.namingPreference === 'Discount'
|
|
49
|
+
? 'Base Discount:'
|
|
50
|
+
: 'Base Bonus:'
|
|
51
|
+
: SDKConfig.namingPreference === 'Discount'
|
|
52
|
+
? 'Discount:'
|
|
53
|
+
: 'Bonus:', jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(Flex, { children: (bondData?.feeInPayout || 0) > 0
|
|
50
54
|
? `This is the dollar value of the bonus tokens you’ll receive at current market price, already accounting for the protocol fee (${bondData.feeInPayout}%)`
|
|
51
|
-
: '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", children: jsx(
|
|
55
|
+
: '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", children: jsx(QuestionCircle, { width: "12px" }) }) })] }), isZap && fetchingZapQuote ? (jsx(Dots, {})) : isZap && zapError ? ('-') : (jsxs(Flex, { className: `row-container premium-val ${getBonusColor(bonusString)}`, children: ["$ ", formatNumberSI(bonusString)] }))] }), !hidePromotionUi && trueBondPrice?.points !== '0' && userTier && tierPointsToUse && SDKConfig.useTiers && (jsxs(Flex, { sx: {
|
|
52
56
|
borderRadius: 'normal',
|
|
53
57
|
mx: '-8px',
|
|
54
58
|
px: '8px',
|
|
55
59
|
py: '2px',
|
|
56
60
|
position: 'relative',
|
|
57
61
|
justifyContent: 'space-between',
|
|
58
|
-
}, children: [jsx(Flex, { className: "row-container premium", sx: { position: 'relative', zIndex: 2 }, children: activePromotion ? (jsxs(Flex, { sx: { gap: '3px', alignItems: 'center' }, children: [
|
|
62
|
+
}, children: [jsx(Flex, { className: "row-container premium", sx: { position: 'relative', zIndex: 2 }, children: activePromotion ? (jsxs(Flex, { sx: { gap: '3px', alignItems: 'center' }, children: [(() => {
|
|
63
|
+
const PromotionIcon = promotionDataMapping[activePromotion].icon;
|
|
64
|
+
return jsx(PromotionIcon, { width: 15 });
|
|
65
|
+
})(), jsx(Flex, { sx: { textTransform: 'capitalize' }, children: activePromotion }), jsx(Flex, { sx: { color: 'success', mx: '3px', fontWeight: 700 }, children: `+${trueBondPrice?.boost ?? 0}%` }), jsx(TooltipBubble, { className: "tooltip-bubble", body: jsxs(Box, { children: [jsx("span", { sx: { textTransform: '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, { sx: { gap: '3px', alignItems: 'center' }, children: [jsx("img", { src: `https://ape.bond/images/launch/${tierName?.toLowerCase()}.png`, alt: "minTier", style: { width: '21px', height: '21px' } }), "Boost", jsx(Flex, { sx: { color: 'success', mx: '3px', fontWeight: 700 }, 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`, children: ["$ ", formatNumberSI(boostAmount)] }))] })), jsxs(Flex, { sx: {
|
|
59
66
|
border: '1px solid #9960C5',
|
|
60
67
|
borderRadius: 'normal',
|
|
61
68
|
mx: '-5px',
|
|
@@ -73,7 +80,7 @@ const Estimations = ({ depositAmount, inputValue, inputTokenPrice, bondData, you
|
|
|
73
80
|
background: '#9960C5',
|
|
74
81
|
opacity: 0.2,
|
|
75
82
|
borderRadius: 'normal',
|
|
76
|
-
} }), jsxs(Flex, { sx: { width: '100%', justifyContent: 'space-between', height: '21px' }, children: [jsxs(Flex, { className: "row-container get", sx: { zIndex: 1 }, children: ["You Get (over ", getTimePeriods(bondData?.vestingTerm, true).days, " days):"] }), isZap && fetchingZapQuote ? (jsx(Dots, {})) : isZap && zapError ? ('-') : (jsxs(Flex, { className: "row-container get-val", sx: { zIndex: 1 }, children: [formatNumberSI(estimatedOutputAmount, 4), " ", bondData?.showcaseTokenName, " = $", ' ', formatNumberSI(estimatedOutputUSD, 2)] }))] })] }), (bondData.tierBoostRate || highestProfitableTier) && SDKConfig.useTiers && (jsxs(Flex, { sx: { width: '100%', justifyContent: 'space-between', height: '21px' }, children: [jsxs(Flex, { className: "row-container get", children: ["Ape Points Earned:", jsx(Flex, { sx: { 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: ['200px', '200px', '200px', '250px'], placement: "bottomLeft", transformTip: ['translate(-8%, 0%)', 'translate(-8%, 0%)', 'translate(-8%, 0%)', 'translate(-7%, 0%)'], children: jsx(
|
|
83
|
+
} }), jsxs(Flex, { sx: { width: '100%', justifyContent: 'space-between', height: '21px' }, children: [jsxs(Flex, { className: "row-container get", sx: { zIndex: 1 }, children: ["You Get (over ", getTimePeriods(bondData?.vestingTerm, true).days, " days):"] }), isZap && fetchingZapQuote ? (jsx(Dots, {})) : isZap && zapError ? ('-') : (jsxs(Flex, { className: "row-container get-val", sx: { zIndex: 1 }, children: [formatNumberSI(estimatedOutputAmount, 4), " ", bondData?.showcaseTokenName, " = $", ' ', formatNumberSI(estimatedOutputUSD, 2)] }))] })] }), (bondData.tierBoostRate || highestProfitableTier) && SDKConfig.useTiers && (jsxs(Flex, { sx: { width: '100%', justifyContent: 'space-between', height: '21px' }, children: [jsxs(Flex, { className: "row-container get", children: ["Ape Points Earned:", jsx(Flex, { sx: { 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: ['200px', '200px', '200px', '250px'], placement: "bottomLeft", transformTip: ['translate(-8%, 0%)', 'translate(-8%, 0%)', 'translate(-8%, 0%)', 'translate(-7%, 0%)'], children: jsx(QuestionCircle, { width: "12px" }) }) })] }), isZap && fetchingZapQuote ? (jsx(Dots, {})) : isZap && zapError ? ('-') : (jsx(Flex, { className: "row-container get-val", children: jsxs(Flex, { sx: { alignItems: 'center', gap: '5px' }, children: [highestProfitableTier || optimizationData?.tierBoostPoints ? (jsxs(Fragment, { children: [jsx(TokenImage, { symbol: 'veABOND', size: 15 }), formatNumberSI(highestProfitableTier && tierOptimizerUIEnabled
|
|
77
84
|
? highestProfitableTier.necessaryPointsToUpgrade
|
|
78
85
|
: optimizationData?.tierBoostPoints, 2, true), jsx(Flex, { children: "points" })] })) : ('-'), highestProfitableTier && tierOptimizerUIEnabled && (jsxs(Fragment, { children: ["+", jsxs(Flex, { sx: {
|
|
79
86
|
px: '3px',
|
|
@@ -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, {\n getUserTier,\n NewTiers,\n promotionDataMapping,\n TIERS_BG,\n TIERS_COLORS,\n TIERS_NAMES,\n} from '../../../state/tiers/useTierPoints'\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 Svg from '../../../components/uikit-sdk/Svg'\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 { tierOptimizerUIEnabled } from '../../../config/constants/variables'\nimport { TooltipText } from '../../../config/constants/tooltips'\nimport { NETWORK_LABEL } from '../../../config/constants/chains'\nimport { Box } from 'theme-ui'\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 { 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\">\n <Flex className=\"text-container row\">\n <Flex className=\"row-container spend\">You Spend:</Flex>\n <Flex className=\"row-container spend-val\">{youSpendString}</Flex>\n </Flex>\n <Flex className=\"text-container row\">\n <Flex className=\"row-container premium\">\n {!!userTier &&\n !!tierPointsToUse &&\n SDKConfig.useTiers &&\n bondData.billVersion === BillVersion.V4 &&\n !hidePromotionUi\n ? 'Base Bonus:'\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\">\n <Svg icon=\"questionCircle\" width=\"12px\" />\n </Flex>\n </TooltipBubble>\n </Flex>\n {isZap && fetchingZapQuote ? (\n <LoadingDots />\n ) : isZap && zapError ? (\n '-'\n ) : (\n <Flex className={`row-container premium-val ${getBonusColor(bonusString)}`}>\n $ {formatNumberSI(bonusString)}\n </Flex>\n )}\n </Flex>\n\n {/* ----------- BOOST ROW -----------*/}\n\n {!hidePromotionUi && trueBondPrice?.points !== '0' && userTier && tierPointsToUse && SDKConfig.useTiers && (\n <Flex\n sx={{\n borderRadius: 'normal',\n mx: '-8px',\n px: '8px',\n py: '2px',\n position: 'relative',\n justifyContent: 'space-between',\n }}\n >\n <Flex className=\"row-container premium\" sx={{ position: 'relative', zIndex: 2 }}>\n {activePromotion ? (\n <Flex sx={{ gap: '3px', alignItems: 'center' }}>\n <Svg icon={promotionDataMapping[activePromotion].icon as any} width={15} />\n <Flex sx={{ textTransform: 'capitalize' }}>{activePromotion}</Flex>\n <Flex sx={{ color: 'success', mx: '3px', fontWeight: 700 }}>{`+${trueBondPrice?.boost ?? 0}%`}</Flex>\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Box>\n <span sx={{ textTransform: 'capitalize' }}>{activePromotion}</span> successfully applied! Bonds on{' '}\n {NETWORK_LABEL[bondData.chainId]} Chain now have an extra 5% Bonus.\n </Box>\n }\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-7%, 0%)\"\n >\n <Svg icon=\"questionCircle\" width=\"12px\" />\n </TooltipBubble>\n </Flex>\n ) : (\n <Flex sx={{ gap: '3px', alignItems: '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 sx={{ color: 'success', mx: '3px', fontWeight: 700 }}>{`+${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 <Svg icon=\"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`}>$ {formatNumberSI(boostAmount)}</Flex>\n )}\n </Flex>\n )}\n\n {/* ----------- YOU GET ROW -----------*/}\n\n <Flex\n sx={{\n border: '1px solid #9960C5',\n borderRadius: 'normal',\n mx: '-5px',\n px: '5px',\n py: '2px',\n my: '2px',\n position: 'relative',\n }}\n >\n <Flex\n sx={{\n position: 'absolute',\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n zIndex: 0,\n background: '#9960C5',\n opacity: 0.2,\n borderRadius: 'normal',\n }}\n />\n <Flex sx={{ width: '100%', justifyContent: 'space-between', height: '21px' }}>\n <Flex className=\"row-container get\" sx={{ zIndex: 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\" sx={{ zIndex: 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 sx={{ width: '100%', justifyContent: 'space-between', height: '21px' }}>\n <Flex className=\"row-container get\">\n Ape Points Earned:\n <Flex sx={{ 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={['200px', '200px', '200px', '250px']}\n placement=\"bottomLeft\"\n transformTip={['translate(-8%, 0%)', 'translate(-8%, 0%)', 'translate(-8%, 0%)', 'translate(-7%, 0%)']}\n >\n <Svg icon=\"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\">\n <Flex sx={{ alignItems: 'center', gap: '5px' }}>\n {highestProfitableTier || optimizationData?.tierBoostPoints ? (\n <>\n <TokenImage symbol={'veABOND'} size={15} />\n {formatNumberSI(\n highestProfitableTier && tierOptimizerUIEnabled\n ? highestProfitableTier.necessaryPointsToUpgrade\n : optimizationData?.tierBoostPoints,\n 2,\n true,\n )}\n <Flex>points</Flex>\n </>\n ) : (\n '-'\n )}\n {highestProfitableTier && tierOptimizerUIEnabled && (\n <>\n +\n <Flex\n sx={{\n px: '3px',\n height: '24px',\n background: TIERS_BG[highestProfitableTier.tier as NewTiers],\n border: `2px solid ${TIERS_COLORS[highestProfitableTier.tier as NewTiers]}`,\n borderRadius: '5px',\n fontWeight: 700,\n alignItems: 'center',\n minWidth: highestProfitableTier.tier > 2 && '118px',\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, {\n getUserTier,\n NewTiers,\n promotionDataMapping,\n TIERS_BG,\n TIERS_COLORS,\n TIERS_NAMES,\n} from '../../../state/tiers/useTierPoints'\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 { tierOptimizerUIEnabled } from '../../../config/constants/variables'\nimport { TooltipText } from '../../../config/constants/tooltips'\nimport { NETWORK_LABEL } from '../../../config/constants/chains'\nimport { Box } from 'theme-ui'\nimport QuestionCircle from '../../../components/uikit-sdk/Svg/Icons/QuestionCircle'\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 { 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\">\n {/* ----------- YOU SPEND ROW -----------*/}\n\n <Flex className=\"text-container row\">\n <Flex className=\"row-container spend\">You Spend:</Flex>\n <Flex className=\"row-container spend-val\">{youSpendString}</Flex>\n </Flex>\n\n {/* ----------- BONUS ROW -----------*/}\n\n <Flex className=\"text-container row\">\n <Flex className=\"row-container premium\">\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\">\n <QuestionCircle width=\"12px\" />\n </Flex>\n </TooltipBubble>\n </Flex>\n {isZap && fetchingZapQuote ? (\n <LoadingDots />\n ) : isZap && zapError ? (\n '-'\n ) : (\n <Flex className={`row-container premium-val ${getBonusColor(bonusString)}`}>\n $ {formatNumberSI(bonusString)}\n </Flex>\n )}\n </Flex>\n\n {/* ----------- BOOST ROW -----------*/}\n\n {!hidePromotionUi && trueBondPrice?.points !== '0' && userTier && tierPointsToUse && SDKConfig.useTiers && (\n <Flex\n sx={{\n borderRadius: 'normal',\n mx: '-8px',\n px: '8px',\n py: '2px',\n position: 'relative',\n justifyContent: 'space-between',\n }}\n >\n <Flex className=\"row-container premium\" sx={{ position: 'relative', zIndex: 2 }}>\n {activePromotion ? (\n <Flex sx={{ gap: '3px', alignItems: 'center' }}>\n {(() => {\n const PromotionIcon = promotionDataMapping[activePromotion].icon\n return <PromotionIcon width={15} />\n })()}\n <Flex sx={{ textTransform: 'capitalize' }}>{activePromotion}</Flex>\n <Flex sx={{ color: 'success', mx: '3px', fontWeight: 700 }}>{`+${trueBondPrice?.boost ?? 0}%`}</Flex>\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Box>\n <span sx={{ textTransform: 'capitalize' }}>{activePromotion}</span> successfully applied! Bonds on{' '}\n {NETWORK_LABEL[bondData.chainId]} Chain now have an extra 5% Bonus.\n </Box>\n }\n width=\"230px\"\n placement=\"bottomLeft\"\n transformTip=\"translate(-7%, 0%)\"\n >\n <QuestionCircle width=\"12px\" />\n </TooltipBubble>\n </Flex>\n ) : (\n <Flex sx={{ gap: '3px', alignItems: '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 sx={{ color: 'success', mx: '3px', fontWeight: 700 }}>{`+${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`}>$ {formatNumberSI(boostAmount)}</Flex>\n )}\n </Flex>\n )}\n\n {/* ----------- YOU GET ROW -----------*/}\n\n <Flex\n sx={{\n border: '1px solid #9960C5',\n borderRadius: 'normal',\n mx: '-5px',\n px: '5px',\n py: '2px',\n my: '2px',\n position: 'relative',\n }}\n >\n <Flex\n sx={{\n position: 'absolute',\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n zIndex: 0,\n background: '#9960C5',\n opacity: 0.2,\n borderRadius: 'normal',\n }}\n />\n <Flex sx={{ width: '100%', justifyContent: 'space-between', height: '21px' }}>\n <Flex className=\"row-container get\" sx={{ zIndex: 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\" sx={{ zIndex: 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 sx={{ width: '100%', justifyContent: 'space-between', height: '21px' }}>\n <Flex className=\"row-container get\">\n Ape Points Earned:\n <Flex sx={{ 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={['200px', '200px', '200px', '250px']}\n placement=\"bottomLeft\"\n transformTip={['translate(-8%, 0%)', 'translate(-8%, 0%)', '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\">\n <Flex sx={{ alignItems: 'center', gap: '5px' }}>\n {highestProfitableTier || optimizationData?.tierBoostPoints ? (\n <>\n <TokenImage symbol={'veABOND'} size={15} />\n {formatNumberSI(\n highestProfitableTier && tierOptimizerUIEnabled\n ? highestProfitableTier.necessaryPointsToUpgrade\n : optimizationData?.tierBoostPoints,\n 2,\n true,\n )}\n <Flex>points</Flex>\n </>\n ) : (\n '-'\n )}\n {highestProfitableTier && tierOptimizerUIEnabled && (\n <>\n +\n <Flex\n sx={{\n px: '3px',\n height: '24px',\n background: TIERS_BG[highestProfitableTier.tier as NewTiers],\n border: `2px solid ${TIERS_COLORS[highestProfitableTier.tier as NewTiers]}`,\n borderRadius: '5px',\n fontWeight: 700,\n alignItems: 'center',\n minWidth: highestProfitableTier.tier > 2 && '118px',\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,6 +1,6 @@
|
|
|
1
1
|
import { jsx, jsxs } from 'theme-ui/jsx-runtime';
|
|
2
2
|
import Flex from '../../../components/uikit-sdk/Flex/index.js';
|
|
3
|
-
import
|
|
3
|
+
import Expand from '../../../components/uikit-sdk/Svg/Icons/Expand.js';
|
|
4
4
|
|
|
5
5
|
const ExpandedViewButton = ({ handleNavigation, rightPos }) => {
|
|
6
6
|
return (jsx(Flex, { sx: { justifyContent: 'flex-end', position: 'absolute', top: '5px', right: rightPos ?? '65px', width: '122px' }, children: jsxs(Flex, { sx: {
|
|
@@ -16,7 +16,7 @@ const ExpandedViewButton = ({ handleNavigation, rightPos }) => {
|
|
|
16
16
|
cursor: 'pointer',
|
|
17
17
|
width: '100%',
|
|
18
18
|
display: 'flex',
|
|
19
|
-
}, onClick: handleNavigation, children: ["Project Info", jsx(Flex, { sx: { ml: '4px' }, children: jsx(
|
|
19
|
+
}, onClick: handleNavigation, children: ["Project Info", jsx(Flex, { sx: { ml: '4px' }, children: jsx(Expand, { width: 20, color: "white" }) })] }) }));
|
|
20
20
|
};
|
|
21
21
|
|
|
22
22
|
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
|
|
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 = ({ handleNavigation, rightPos }: { handleNavigation: () => void; rightPos?: string }) => {\n return (\n <Flex\n sx={{ justifyContent: 'flex-end', position: 'absolute', top: '5px', right: rightPos ?? '65px', width: '122px' }}\n >\n <Flex\n sx={{\n fontSize: '12px',\n fontWeight: 500,\n mr: '15px',\n background: 'primaryButton',\n pl: '10px',\n pr: '4px',\n borderRadius: 'normal',\n alignItems: 'center',\n position: 'relative',\n cursor: 'pointer',\n width: '100%',\n display: 'flex',\n }}\n onClick={handleNavigation}\n >\n Project Info\n <Flex sx={{ 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,EAAE,gBAAgB,EAAE,QAAQ,EAAuD,KAAI;AACjH,IAAA,QACEA,GAAA,CAAC,IAAI,EAAA,EACH,EAAE,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,IAAI,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAA,QAAA,EAE/GC,IAAA,CAAC,IAAI,EAAA,EACH,EAAE,EAAE;AACF,gBAAA,QAAQ,EAAE,MAAM;AAChB,gBAAA,UAAU,EAAE,GAAG;AACf,gBAAA,EAAE,EAAE,MAAM;AACV,gBAAA,UAAU,EAAE,eAAe;AAC3B,gBAAA,EAAE,EAAE,MAAM;AACV,gBAAA,EAAE,EAAE,KAAK;AACT,gBAAA,YAAY,EAAE,QAAQ;AACtB,gBAAA,UAAU,EAAE,QAAQ;AACpB,gBAAA,QAAQ,EAAE,UAAU;AACpB,gBAAA,MAAM,EAAE,SAAS;AACjB,gBAAA,KAAK,EAAE,MAAM;AACb,gBAAA,OAAO,EAAE,MAAM;AAChB,aAAA,EACD,OAAO,EAAE,gBAAgB,EAAA,QAAA,EAAA,CAAA,cAAA,EAGzBD,GAAA,CAAC,IAAI,EAAA,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAA,QAAA,EACrBA,GAAA,CAAC,MAAM,EAAA,EAAC,KAAK,EAAE,EAAE,EAAE,KAAK,EAAC,OAAO,EAAA,CAAG,EAAA,CAC9B,CAAA,EAAA,CACF,EAAA,CACF;AAEX;;;;"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { jsxs, jsx } from 'theme-ui/jsx-runtime';
|
|
2
2
|
import { useState } from 'react';
|
|
3
3
|
import Flex from '../../../../components/uikit-sdk/Flex/index.js';
|
|
4
|
-
import Svg from '../../../../components/uikit-sdk/Svg/index.js';
|
|
5
4
|
import useTierPoints, { getUserTier, TIERS_WEIGHT } from '../../../../state/tiers/useTierPoints.js';
|
|
6
5
|
import { LaunchBondTiers, BillVersion } from '@ape.swap/apeswap-lists';
|
|
7
6
|
import { AnimatePresence, motion } from 'framer-motion';
|
|
@@ -9,6 +8,7 @@ import BonusTable from '../../../Bonds/components/BonusComponents/BonusTable.js'
|
|
|
9
8
|
import { getRawBonus, formatUSDNumber } from '../../../../utils/displayHelpers.js';
|
|
10
9
|
import { findHighestTrueBondPriceUserAgnostic } from '../../../../utils/bondPriceHelpers.js';
|
|
11
10
|
import { Box } from 'theme-ui';
|
|
11
|
+
import Caret from '../../../../components/uikit-sdk/Svg/Icons/Caret.js';
|
|
12
12
|
|
|
13
13
|
const GetUpToComponent = ({ bond, depositAmount }) => {
|
|
14
14
|
// Hooks & Data
|
|
@@ -51,7 +51,7 @@ const GetUpToComponent = ({ bond, depositAmount }) => {
|
|
|
51
51
|
}, onClick: (e) => {
|
|
52
52
|
e.stopPropagation();
|
|
53
53
|
window.open('https://www.ape.bond/true-yield?createPosition', '_blank');
|
|
54
|
-
}, children: 'By locking ABOND >' })] })] }), !!depositAmount && parseFloat(depositAmount) !== 0 && (jsxs(Flex, { sx: { color: 'success', fontWeight: 700, minWidth: '65px', justifyContent: 'flex-end' }, children: ["$ ", formatUSDNumber(boostAmount.toString())] })), jsx(Flex, { sx: { position: 'absolute', right: '6px' }, children: jsx(
|
|
54
|
+
}, children: 'By locking ABOND >' })] })] }), !!depositAmount && parseFloat(depositAmount) !== 0 && (jsxs(Flex, { sx: { color: 'success', fontWeight: 700, minWidth: '65px', justifyContent: 'flex-end' }, children: ["$ ", formatUSDNumber(boostAmount.toString())] })), jsx(Flex, { sx: { position: 'absolute', right: '6px' }, children: jsx(Caret, { direction: isOpen ? 'up' : 'down' }) })] }), jsx(AnimatePresence, { children: isOpen && (jsx(motion.div, { initial: { height: 0 }, animate: { height: 'fit-content' }, transition: { opacity: { duration: 0.2 } }, exit: { height: 0 }, sx: { overflow: 'hidden', width: '100%', marginTop: '5px', cursor: 'pointer' }, onClick: (e) => {
|
|
55
55
|
e.stopPropagation();
|
|
56
56
|
window.open('https://www.ape.bond/true-yield?createPosition', '_blank');
|
|
57
57
|
}, children: jsx(BonusTable, { trueBondPrices: bond?.trueBondPrices, minTier: bond.minTier, hideTitle: true }) })) })] })));
|