@ape.swap/bonds-sdk 6.2.13-test.1 → 6.2.13-test.2

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.
Files changed (116) hide show
  1. package/dist/components/ConnectButton/index.js +1 -1
  2. package/dist/components/ConnectButton/index.js.map +1 -1
  3. package/dist/components/ConnectoToVmBanners/ConnectToAptosBanner.js +1 -1
  4. package/dist/components/ConnectoToVmBanners/ConnectToAptosBanner.js.map +1 -1
  5. package/dist/components/ConnectoToVmBanners/ConnectToSolanaBanner.js +1 -8
  6. package/dist/components/ConnectoToVmBanners/ConnectToSolanaBanner.js.map +1 -1
  7. package/dist/components/ConnectoToVmBanners/ConnectToSuiBanner.js +1 -1
  8. package/dist/components/ConnectoToVmBanners/ConnectToSuiBanner.js.map +1 -1
  9. package/dist/components/FavIcons/FavFilter.js +1 -1
  10. package/dist/components/FavIcons/FavFilter.js.map +1 -1
  11. package/dist/components/MenuSelect/MenuSelect.js +1 -5
  12. package/dist/components/MenuSelect/MenuSelect.js.map +1 -1
  13. package/dist/components/NetworkFilter/index.js +10 -9
  14. package/dist/components/NetworkFilter/index.js.map +1 -1
  15. package/dist/components/ProgressBar/ProgressBar.js +1 -1
  16. package/dist/components/ProgressBar/ProgressBar.js.map +1 -1
  17. package/dist/components/Toast/index.js +2 -2
  18. package/dist/components/Toast/index.js.map +1 -1
  19. package/dist/components/TokenInfoAndName/index.js +2 -4
  20. package/dist/components/TokenInfoAndName/index.js.map +1 -1
  21. package/dist/components/TokenSelectorModal/index.js +1 -1
  22. package/dist/components/TokenSelectorModal/index.js.map +1 -1
  23. package/dist/components/TokenSelectorPanel/index.js +3 -3
  24. package/dist/components/TokenSelectorPanel/index.js.map +1 -1
  25. package/dist/components/uikit-sdk/Button/Button.js +1 -1
  26. package/dist/components/uikit-sdk/Button/Button.js.map +1 -1
  27. package/dist/components/uikit-sdk/Button/IconButton.js +1 -2
  28. package/dist/components/uikit-sdk/Button/IconButton.js.map +1 -1
  29. package/dist/components/uikit-sdk/Input/Input.d.ts +2 -6
  30. package/dist/components/uikit-sdk/Input/Input.js +4 -20
  31. package/dist/components/uikit-sdk/Input/Input.js.map +1 -1
  32. package/dist/components/uikit-sdk/Modal/ModalHeader.js +1 -1
  33. package/dist/components/uikit-sdk/Modal/ModalHeader.js.map +1 -1
  34. package/dist/components/uikit-sdk/Modal/index.js +1 -1
  35. package/dist/components/uikit-sdk/Modal/index.js.map +1 -1
  36. package/dist/components/uikit-sdk/Select/Select.js +7 -2
  37. package/dist/components/uikit-sdk/Select/Select.js.map +1 -1
  38. package/dist/components/uikit-sdk/Svg/styles.js +2 -3
  39. package/dist/components/uikit-sdk/Svg/styles.js.map +1 -1
  40. package/dist/components/uikit-sdk/Text/index.d.ts +1 -1
  41. package/dist/components/uikit-sdk/Text/index.js +3 -4
  42. package/dist/components/uikit-sdk/Text/index.js.map +1 -1
  43. package/dist/components/uikit-sdk/Text/types.d.ts +1 -0
  44. package/dist/components/uikit-sdk/Text/types.js.map +1 -1
  45. package/dist/components/uikit-sdk/TooltipBubble/index.js +11 -15
  46. package/dist/components/uikit-sdk/TooltipBubble/index.js.map +1 -1
  47. package/dist/config/constants/variables.d.ts +0 -1
  48. package/dist/config/constants/variables.js +1 -2
  49. package/dist/config/constants/variables.js.map +1 -1
  50. package/dist/providers/index.d.ts +12 -2
  51. package/dist/providers/index.js +2 -8
  52. package/dist/providers/index.js.map +1 -1
  53. package/dist/styles.css +1 -1
  54. package/dist/utils/resolveColor.d.ts +13 -0
  55. package/dist/utils/resolveColor.js +21 -0
  56. package/dist/utils/resolveColor.js.map +1 -0
  57. package/dist/views/Bonds/components/BondRows/BondRow.js +4 -4
  58. package/dist/views/Bonds/components/BondRows/BondRow.js.map +1 -1
  59. package/dist/views/Bonds/components/BondsMenu/BondsMenu.js +1 -1
  60. package/dist/views/Bonds/components/BondsMenu/BondsMenu.js.map +1 -1
  61. package/dist/views/Bonds/components/BonusComponents/BonusComponent.js +1 -1
  62. package/dist/views/Bonds/components/BonusComponents/BonusComponent.js.map +1 -1
  63. package/dist/views/Bonds/index.js +1 -1
  64. package/dist/views/Bonds/index.js.map +1 -1
  65. package/dist/views/BuyBond/BuyBondModal.js +1 -1
  66. package/dist/views/BuyBond/BuyBondModal.js.map +1 -1
  67. package/dist/views/BuyBond/BuyComponent.js +3 -7
  68. package/dist/views/BuyBond/BuyComponent.js.map +1 -1
  69. package/dist/views/BuyBond/BuyComponentAptos.js +1 -1
  70. package/dist/views/BuyBond/BuyComponentAptos.js.map +1 -1
  71. package/dist/views/BuyBond/BuyComponentSolana.js +1 -1
  72. package/dist/views/BuyBond/BuyComponentSolana.js.map +1 -1
  73. package/dist/views/BuyBond/BuyComponentSui.js +1 -1
  74. package/dist/views/BuyBond/BuyComponentSui.js.map +1 -1
  75. package/dist/views/BuyBond/components/BondCards/BondCards.js +3 -3
  76. package/dist/views/BuyBond/components/BondCards/BondCards.js.map +1 -1
  77. package/dist/views/BuyBond/components/BondModalHeader.js +2 -2
  78. package/dist/views/BuyBond/components/BondModalHeader.js.map +1 -1
  79. package/dist/views/BuyBond/components/Estimations.js +3 -4
  80. package/dist/views/BuyBond/components/Estimations.js.map +1 -1
  81. package/dist/views/BuyBond/components/PointsLeftForNextTier/PointsLeftForNextTier.js +9 -15
  82. package/dist/views/BuyBond/components/PointsLeftForNextTier/PointsLeftForNextTier.js.map +1 -1
  83. package/dist/views/BuyBond/components/ProjectDescription.js +1 -1
  84. package/dist/views/BuyBond/components/ProjectDescription.js.map +1 -1
  85. package/dist/views/BuyBond/index.js +1 -1
  86. package/dist/views/BuyBond/index.js.map +1 -1
  87. package/dist/views/BuyBond/utils.js +1 -0
  88. package/dist/views/BuyBond/utils.js.map +1 -1
  89. package/dist/views/FullBondsView/index.js +1 -1
  90. package/dist/views/FullBondsView/index.js.map +1 -1
  91. package/dist/views/ProjectView/index.js +1 -1
  92. package/dist/views/ProjectView/index.js.map +1 -1
  93. package/dist/views/SingleBond/index.js +1 -1
  94. package/dist/views/SingleBond/index.js.map +1 -1
  95. package/dist/views/TransactionModal/TransactionModal.js +1 -3
  96. package/dist/views/TransactionModal/TransactionModal.js.map +1 -1
  97. package/dist/views/YourBonds/YourBonds.js +1 -1
  98. package/dist/views/YourBonds/YourBonds.js.map +1 -1
  99. package/dist/views/YourBonds/components/ClaimAll/ClaimAllModal.js +1 -1
  100. package/dist/views/YourBonds/components/ClaimAll/ClaimAllModal.js.map +1 -1
  101. package/dist/views/YourBonds/components/ClaimAll/index.js +1 -1
  102. package/dist/views/YourBonds/components/ClaimAll/index.js.map +1 -1
  103. package/dist/views/YourBonds/components/YourBondsMenu/YourBondsMenu.js +1 -1
  104. package/dist/views/YourBonds/components/YourBondsMenu/YourBondsMenu.js.map +1 -1
  105. package/dist/views/YourBonds/index.js +1 -1
  106. package/dist/views/YourBonds/index.js.map +1 -1
  107. package/dist/views/YourBondsModal/YourBondsModal.js +5 -4
  108. package/dist/views/YourBondsModal/YourBondsModal.js.map +1 -1
  109. package/dist/views/YourBondsModal/components/NFTImage/NFTImage.js +1 -1
  110. package/dist/views/YourBondsModal/components/NFTImage/NFTImage.js.map +1 -1
  111. package/dist/views/YourBondsModalYield/YourBondsModalYield.js +1 -1
  112. package/dist/views/YourBondsModalYield/YourBondsModalYield.js.map +1 -1
  113. package/package.json +2 -2
  114. package/dist/theme/colors.d.ts +0 -20
  115. package/dist/theme/colors.js +0 -25
  116. package/dist/theme/colors.js.map +0 -1
@@ -15,14 +15,14 @@ import TooltipBubble from '../../../../components/uikit-sdk/TooltipBubble/index.
15
15
  import QuestionCircle from '../../../../components/uikit-sdk/Svg/Icons/QuestionCircle.js';
16
16
  import Success from '../../../../components/uikit-sdk/Svg/Icons/Success.js';
17
17
 
18
- const blockClasses = 'bond-card-block ape:flex ape:p-[6px_12px] ape:w-full ape:items-center ape:justify-between ape:border-b ape:border-white2 ape:max-h-[32px] ape:min-[800px]:w-[350px] ape:min-[800px]:flex-col ape:min-[800px]:p-[12px] ape:min-[800px]:max-h-none ape:rounded-none ape:lg:rounded-normal ape:first:rounded-t-normal ape:last:rounded-b-normal';
18
+ const blockClasses = 'bond-card-block ape:flex ape:p-[6px_12px] ape:w-full ape:items-center ape:justify-between ape:border-b ape:border-white2 ape:bg-white3 ape:h-full ape:md:w-87.5 ape:md:flex-col ape:md:p-3 ape:rounded-none ape:md:rounded-normal ape:first:rounded-t-normal ape:last:rounded-b-normal';
19
19
  const BondCards = ({ bondData, isDoingMaxBuy }) => {
20
20
  const isMobile = useIsMobile();
21
21
  const SDKConfig = useSDKConfig();
22
22
  const blockBg = { background: MCColorMapping.white3[bondData.marketingCampaign] };
23
- return (jsxs("div", { className: "bonds-cards ape:flex ape:w-full ape:flex-col ape:min-[800px]:flex-row ape:min-[800px]: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-[800px]:pb-[5px]", 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'
23
+ 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]", 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'
24
24
  ? `${bondData?.trueBondPrices?.[0]?.discountWithFee?.toFixed(2)}%`
25
- : undefined })] }), jsxs("div", { className: blockClasses, style: blockBg, children: [jsxs("div", { className: "bond-card-title ape:flex ape:font-normal ape:text-[12px] ape:min-[800px]:pb-[5px]", 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-[800px]:text-[16px]", 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:lg:-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:min-[800px]:pb-[5px]", 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-[5px] 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-[800px]: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-[800px]:pb-[5px]", children: ["Tokens Remaining", jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(Flex, { children: TooltipText.TokensRemaining }), 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(ProgressBarWrapper, { title: '', value: jsx(ProgressBar, { value: remainingPercentage(bondData) }), style: {
25
+ : 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", 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]", 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", 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]", 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: {
26
26
  width: '127px',
27
27
  height: '25px',
28
28
  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 ape:flex ape:p-[6px_12px] ape:w-full ape:items-center ape:justify-between ape:border-b ape:border-white2 ape:max-h-[32px] ape:min-[800px]:w-[350px] ape:min-[800px]:flex-col ape:min-[800px]:p-[12px] ape:min-[800px]:max-h-none ape:rounded-none ape:lg:rounded-normal ape:first:rounded-t-normal 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-[800px]:flex-row ape:min-[800px]:gap-[5px]\">\n <div className={blockClasses} style={blockBg}>\n <Flex className=\"bond-card-title ape:flex ape:font-normal ape:text-[12px] ape:min-[800px]:pb-[5px]\">\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:min-[800px]:pb-[5px]\">\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-[800px]:text-[16px]\">\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:lg:-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:min-[800px]:pb-[5px]\">\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-[5px] 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-[800px]: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-[800px]:pb-[5px]\">\n Tokens Remaining\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={<Flex>{TooltipText.TokensRemaining}</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 <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
+ {"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 ape:flex ape:p-[6px_12px] ape:w-full ape:items-center ape:justify-between ape:border-b ape:border-white2 ape:bg-white3 ape:h-full ape:md:w-87.5 ape:md:flex-col ape:md:p-3 ape:rounded-none ape:md:rounded-normal ape:first:rounded-t-normal 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]\">\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\">\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]\">\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\">\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]\">\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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"}
@@ -49,9 +49,9 @@ const BondModalHeader = ({ bondData, onDismiss, showProjectInfoButton, hidePromo
49
49
  },
50
50
  });
51
51
  };
52
- 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:mb-[10px] ape:lg:mb-0 ape:justify-between ape:lg:justify-end", children: [jsx(Flex, { className: "ape:flex ape:lg: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: bondData.showcaseTokenName ?? bondData.earnToken.symbol, size: 50, chain: bondData.chainId })] }), jsxs(Flex, { className: "ape:flex ape:flex-col ape:pl-[10px] ape:lg:pl-[20px] ape:text-[20px] ape:lg:text-[24px] ape:font-bold", children: [bondData?.showcaseTokenName, jsx(ListTag, { text: bondData?.tags?.[0] })] }), jsxs(Flex, { className: "title-container price-container ape:flex-col ape:pl-[10px] ape:lg:pl-[20px]", children: [jsxs(Flex, { className: "price-container price ape:line-through ape:opacity-50 ape:font-normal ape:text-[12px] ape:lg:text-[14px]", children: ["$", formatNumberSI(bondData.payoutTokenPrice, bondData.earnToken.symbol.toLowerCase() === 'ireet' ? 6 : 2)] }), SDKConfig.useTiers &&
52
+ 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: bondData.showcaseTokenName ?? bondData.earnToken.symbol, 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: [bondData?.showcaseTokenName, 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 &&
53
53
  bondData.billVersion === BillVersion.V4 &&
54
- (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:lg:text-[14px] ape:mr-[3px]", children: "Up to" }), jsxs(Flex, { className: clsx('ape:text-[12px] ape:lg: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:lg:flex ape:ml-[10px]", children: jsx(BondModalMinTierHeader, { minTier: minTier }) }), !hidePromotionUi && isBondEligibleForPromotion && promotion && (jsx(Flex, { className: "ape:absolute ape:right-0 ape:lg:top-[20px] ape:bottom-[3px] ape:lg: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:lg:rounded-[20px] ape:p-[4px_2px] ape:lg: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:lg:flex ape:capitalize", children: promotion })] }) }) }))] })] }));
54
+ (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 })] }) }) }))] })] }));
55
55
  };
56
56
 
57
57
  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 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, { 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 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:mb-[10px] ape:lg:mb-0 ape:justify-between ape:lg:justify-end\">\n <Flex className=\"ape:flex ape:lg: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:lg:pl-[20px] ape:text-[20px] ape:lg: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:lg:pl-[20px]\">\n <Flex className=\"price-container price ape:line-through ape:opacity-50 ape:font-normal ape:text-[12px] ape:lg:text-[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 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:lg:text-[14px] ape:mr-[3px]\">Up to</Flex>\n <Flex\n className={clsx(\n 'ape:text-[12px] ape:lg: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:lg:flex ape:ml-[10px]\">\n <BondModalMinTierHeader minTier={minTier} />\n </Flex>\n {!hidePromotionUi && isBondEligibleForPromotion && promotion && (\n <Flex className=\"ape:absolute ape:right-0 ape:lg:top-[20px] ape:bottom-[3px] ape:lg: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:lg:rounded-[20px] ape:p-[4px_2px] ape:lg: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:lg: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":";;;;;;;;;;;;;;;;;;;;;;;AAwBA,MAAM,eAAe,GAAG,CAAC,EACvB,QAAQ,EACR,SAAS,EACT,qBAAqB,EACrB,eAAe,GAAG,KAAK,GAMxB,KAAI;AACH,IAAA,MAAM,QAAQ,GAAG,WAAW,EAAE;AAC9B,IAAA,MAAM,SAAS,GAAG,YAAY,EAAE;IAChC,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,aAAa,EAAE;IACjD,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,eAAe,IAAI,EAAE;;AAE3D,IAAA,MAAM,0BAA0B,GAAG,cAAc,KAAK,SAAS,IAAI,cAAc,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;AAC7G,IAAA,MAAM,CAAC,mBAAmB,CAAC,GAAG,QAAQ,CAACA,GAAA,CAAC,aAAa,EAAA,EAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAA,CAAI,CAAC;AACpF,IAAA,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,KAAK,SAAS,GAAG,QAAQ,CAAC,OAAO,GAAG,IAAI;AACxE,IAAA,MAAM,YAAY,GAAG,wBAAwB,CAC3C,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC,EACpC,QAAQ,EAAE,cAAc,CACzB,EAAE,YAAY;IAEf,MAAM,WAAW,GAAG,MAAK;AACvB,QAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YACjC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,CAAA,MAAA,CAAQ,CAAC;QAC5C;QACA,SAAS,IAAI;AACf,IAAA,CAAC;IAED,MAAM,2BAA2B,GAAG,MAAK;QACvC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAA,OAAA,EAAU,QAAQ,EAAE,eAAe,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAA,CAAA,EAAI,QAAQ,EAAE,OAAO,EAAE;AACtG,QAAA,KAAK,CAAC;AACJ,YAAA,KAAK,EAAE,kBAAkB;YACzB,KAAK,EAAE,QAAQ,CAAC,OAAO;AACvB,YAAA,IAAI,EAAE;AACJ,gBAAA,GAAG,EAAE,OAAO;AACZ,gBAAA,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM;gBAC/B,SAAS,EAAE,QAAQ,CAAC,OAAO;AAC5B,aAAA;AACF,SAAA,CAAC;AACJ,IAAA,CAAC;AAED,IAAA,QACEC,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,uHAAuH,EAAA,QAAA,EAAA,CACrIA,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,0FAA0F,EAAA,QAAA,EAAA,CACxGD,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,wBAAwB,EAAA,QAAA,EACtCA,GAAA,CAAC,sBAAsB,EAAA,EAAC,OAAO,EAAE,OAAO,EAAA,CAAI,GACvC,EACPA,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,oBAAoB,EAAA,QAAA,EACjC,SAAS,IACRC,IAAA,CAAAC,QAAA,EAAA,EAAA,QAAA,EAAA,CACG,qBAAqB,IAAIF,IAAC,kBAAkB,EAAA,EAAC,gBAAgB,EAAE,2BAA2B,EAAA,CAAI,EAC/FA,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,eAAe,EAAC,OAAO,EAAE,mBAAmB,EAAA,QAAA,EAC1DA,GAAA,CAAC,GAAG,EAAA,EAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,EAAA,CAAI,GACrC,EACPA,GAAA,CAAC,IAAI,EAAA,EAAC,OAAO,EAAE,WAAW,EAAA,QAAA,EACxBA,GAAA,CAAC,KAAK,EAAA,EAAC,KAAK,EAAC,MAAM,EAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,EAAA,CAAI,EAAA,CACpD,CAAA,EAAA,CACN,KAEHA,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,4BAA4B,EAAC,OAAO,EAAE,mBAAmB,EAAA,QAAA,EACvEA,GAAA,CAAC,GAAG,EAAA,EAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,EAAA,CAAI,EAAA,CACrC,CACR,EAAA,CACI,CAAA,EAAA,CACF,EACPC,IAAA,CAAC,IAAI,IAAC,SAAS,EAAC,yBAAyB,EAAA,QAAA,EAAA,CACvCA,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,8EAA8E,EAAA,QAAA,EAAA,CAC5FD,GAAA,CAAC,IAAI,EAAA,EAAC,KAAK,EAAE,iBAAiB,CAAC,QAAQ,CAAC,iBAAkB,CAAC,EAAA,CAAI,EAC/DA,GAAA,CAAC,UAAU,EAAA,EACT,MAAM,EAAE,QAAQ,CAAC,iBAAiB,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,EAC/D,IAAI,EAAE,EAAE,EACR,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAA,CACvB,CAAA,EAAA,CACG,EACPC,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,uGAAuG,EAAA,QAAA,EAAA,CACpH,QAAQ,EAAE,iBAAiB,EAC5BD,GAAA,CAAC,OAAO,EAAA,EAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,GAAG,CAAC,CAAC,EAAA,CAAI,CAAA,EAAA,CACjC,EACPC,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,6EAA6E,EAAA,QAAA,EAAA,CAC3FA,KAAC,IAAI,EAAA,EAAC,SAAS,EAAC,0GAA0G,EAAA,QAAA,EAAA,CAAA,GAAA,EACtH,cAAc,CAAC,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA,EAAA,CACnG,EACN,SAAS,CAAC,QAAQ;AACnB,gCAAA,QAAQ,CAAC,WAAW,KAAK,WAAW,CAAC,EAAE;gCACvC,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,IACzCA,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,yIAAyI,EAAA,QAAA,EAAA,CACvJD,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,mGAAmG,EAAA,CAAG,EACtHC,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,uCAAuC,EAAA,QAAA,EAAA,CACrDD,GAAA,CAAA,KAAA,EAAA,EACE,GAAG,EAAE,CAAA,2CAAA,CAA6C,EAClD,GAAG,EAAC,SAAS,EACb,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,EAAA,CACvE,EACFA,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,iDAAiD,EAAA,QAAA,EAAA,OAAA,EAAA,CAAa,EAC9EC,KAAC,IAAI,EAAA,EACH,SAAS,EAAE,IAAI,CACb,oCAAoC,EACpC,YAAY,IAAI,YAAY,GAAG,CAAC,GAAG,kBAAkB,GAAG,gBAAgB,CACzE,EAAA,QAAA,EAAA,CAAA,GAAA,EAEC,sBAAsB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA,EAAA,CACnC,CAAA,EAAA,CACF,CAAA,EAAA,CACF,KAEPA,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,+BAA+B,EAAA,QAAA,EAAA,CAAA,GAAA,EAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAA,EAAA,CAAQ,CAC3F,CAAA,EAAA,CACI,EACPD,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,sCAAsC,EAAA,QAAA,EACpDA,GAAA,CAAC,sBAAsB,EAAA,EAAC,OAAO,EAAE,OAAO,EAAA,CAAI,EAAA,CACvC,EACN,CAAC,eAAe,IAAI,0BAA0B,IAAI,SAAS,KAC1DA,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,mFAAmF,EAAA,QAAA,EACjGA,GAAA,CAAC,aAAa,EAAA,EACZ,IAAI,EAAE,oBAAoB,CAAC,SAAS,CAAC,EAAE,OAAO,EAC9C,KAAK,EAAC,OAAO,EACb,SAAS,EAAC,aAAa,EACvB,YAAY,EAAE,QAAQ,GAAG,mBAAmB,GAAG,mBAAmB,EAAA,QAAA,EAElEC,IAAA,CAAC,IAAI,EAAA,EACH,SAAS,EAAC,sOAAsO,EAChP,KAAK,EAAE,EAAE,SAAS,EAAE,4CAA4C,EAAE,EAAA,QAAA,EAAA,CAElED,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,gBAAgB,EAAA,QAAA,EAC9BA,IAAC,OAAO,EAAA,EAAC,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAA,CAAI,EAAA,CAC9C,EACPA,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,uCAAuC,EAAA,QAAA,EAAE,SAAS,EAAA,CAAQ,CAAA,EAAA,CACrE,EAAA,CACO,EAAA,CACX,CACR,CAAA,EAAA,CACI,CAAA,EAAA,CACF;AAEX;;;;"}
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, { 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 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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"}
@@ -12,7 +12,6 @@ import Dots from '../../../components/uikit-sdk/LoadingDots/index.js';
12
12
  import { calculateOptimizationData } from '../utils.js';
13
13
  import { useAbondPrice } from '../../../state/tokenPrices/useAbondPrice.js';
14
14
  import TokenImage from '../../../components/uikit-sdk/TokenImage/index.js';
15
- import { tierOptimizerUIEnabled } from '../../../config/constants/variables.js';
16
15
  import { TooltipText } from '../../../config/constants/tooltips.js';
17
16
  import { NETWORK_LABEL } from '../../../config/constants/chains.js';
18
17
  import QuestionCircle from '../../../components/uikit-sdk/Svg/Icons/QuestionCircle.js';
@@ -41,7 +40,7 @@ const Estimations = ({ depositAmount, inputValue, inputTokenPrice, bondData, you
41
40
  const boostAmount = parseFloat(getRawBonus(bondData, depositAmount, tierPointsToUse ?? '0')) - parseFloat(noTierAmount);
42
41
  const optimizationData = calculateOptimizationData(inputValue ?? '', tierPointsToUse, bondData, inputTokenPrice, abondPrice);
43
42
  const highestProfitableTier = optimizationData?.highestProfitableTier;
44
- return (jsxs(Flex, { className: "modaltable-container text-container ape:w-full ape:flex ape:relative ape:flex-col ape:justify-center ape:text-[12px] ape:py-[10px]", children: [jsxs(Flex, { className: "text-container row ape:pt-[2px] ape:pb-[2px] ape:flex ape:flex-row ape:justify-between", children: [jsx(Flex, { className: "row-container spend ape:flex ape:font-normal ape:items-center", children: "You Spend:" }), jsx(Flex, { className: "row-container spend-val ape:flex ape:font-normal ape:items-center", children: youSpendString })] }), jsxs(Flex, { className: "text-container row ape:pt-[2px] ape:pb-[2px] ape:flex ape:flex-row ape:justify-between", children: [jsxs(Flex, { className: "row-container premium ape:flex ape:font-normal ape:items-center", children: [!!userTier &&
43
+ return (jsxs(Flex, { className: "modaltable-container text-container ape:w-full ape:flex ape:relative ape:flex-col ape:justify-center ape:text-[12px]", children: [jsxs(Flex, { className: "text-container row ape:pt-[2px] ape:pb-[2px] ape:flex ape:flex-row ape:justify-between", children: [jsx(Flex, { className: "row-container spend ape:flex ape:font-normal ape:items-center", children: "You Spend:" }), jsx(Flex, { className: "row-container spend-val ape:flex ape:font-normal ape:items-center", children: youSpendString })] }), jsxs(Flex, { className: "text-container row ape:pt-[2px] ape:pb-[2px] ape:flex ape:flex-row ape:justify-between", children: [jsxs(Flex, { className: "row-container premium ape:flex ape:font-normal ape:items-center", children: [!!userTier &&
45
44
  !!tierPointsToUse &&
46
45
  SDKConfig.useTiers &&
47
46
  bondData.billVersion === BillVersion.V4 &&
@@ -56,9 +55,9 @@ const Estimations = ({ depositAmount, inputValue, inputTokenPrice, bondData, you
56
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 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
56
  const PromotionIcon = promotionDataMapping[activePromotion].icon;
58
57
  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 && tierOptimizerUIEnabled
58
+ })(), 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
60
59
  ? highestProfitableTier.necessaryPointsToUpgrade
61
- : optimizationData?.tierBoostPoints, 2, true), jsx(Flex, { children: "points" })] })) : ('-'), highestProfitableTier && tierOptimizerUIEnabled && (jsxs(Fragment, { children: ["+", jsxs(Flex, { className: "ape:px-[3px] ape:h-[24px] ape:rounded-[5px] ape:font-bold ape:items-center", style: {
60
+ : 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
61
  background: TIERS_BG[highestProfitableTier.tier],
63
62
  border: `2px solid ${TIERS_COLORS[highestProfitableTier.tier]}`,
64
63
  minWidth: highestProfitableTier.tier > 2 ? '118px' : undefined,
@@ -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 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 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] ape:py-[10px]\">\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 className={`row-container premium-val ape:flex ape:font-normal ape:items-center ${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 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\n 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 />\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 && 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 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":";;;;;;;;;;;;;;;;;;;;AA4BA,MAAM,WAAW,GAAG,CAAC,EACnB,aAAa,EACb,UAAU,EACV,eAAe,EACf,QAAQ,EACR,cAAc,EACd,KAAK,EACL,gBAAgB,EAChB,QAAQ,EACR,eAAe,GAAG,KAAK,GAWxB,KAAI;AACH,IAAA,MAAM,QAAQ,GAAG,WAAW,EAAE;IAC9B,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,aAAa,EAAE;AACjD,IAAA,MAAM,EAAE,iBAAiB,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,eAAe,IAAI,EAAE;;AAE7F,IAAA,MAAM,0BAA0B,GAAG,cAAc,KAAK,SAAS,IAAI,cAAc,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;IAC7G,MAAM,eAAe,GACnB,CAAC,0BAA0B,IAAI,eAAe,IAAI,aAAa,IAAI,GAAG,KAAK,iBAAiB,IAAI,GAAG,CAAC;AACtG,IAAA,MAAM,eAAe,GAAG,eAAe,IAAI,CAAC,0BAA0B,GAAG,IAAI,GAAG,SAAS;AAEzF,IAAA,MAAM,UAAU,GAAG,aAAa,EAAE;IAClC,MAAM,aAAa,GAAG,wBAAwB,CAAC,eAAe,EAAE,QAAQ,EAAE,cAAc,CAAC;AACzF,IAAA,MAAM,SAAS,GAAG,YAAY,EAAE;AAChC,IAAA,MAAM,QAAQ,GAAG,WAAW,CAAC,eAAe,CAAC;AAC7C,IAAA,MAAM,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,EAAE;;IAGtD,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,CAAC;;;IAI7D,MAAM,qBAAqB,GAAG,eAAe,CAAC,QAAQ,EAAE,aAAa,EAAE,eAAe,CAAC;AACvF,IAAA,MAAM,kBAAkB,GAAG,qBAAqB,GAAG,UAAU,CAAC,QAAQ,EAAE,gBAAgB,IAAI,GAAG,CAAC;IAEhG,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,CAAC;IAC9D,MAAM,WAAW,GACf,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,aAAa,EAAE,eAAe,IAAI,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC;AAErG,IAAA,MAAM,gBAAgB,GAAG,yBAAyB,CAChD,UAAU,IAAI,EAAE,EAChB,eAAgB,EAChB,QAAQ,EACR,eAAe,EACf,UAAU,CACX;AACD,IAAA,MAAM,qBAAqB,GAAG,gBAAgB,EAAE,qBAAqB;IAErE,QACEA,KAAC,IAAI,EAAA,EAAC,SAAS,EAAC,oIAAoI,EAAA,QAAA,EAAA,CAGlJA,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,wFAAwF,EAAA,QAAA,EAAA,CACtGC,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,+DAA+D,EAAA,QAAA,EAAA,YAAA,EAAA,CAAkB,EACjGA,GAAA,CAAC,IAAI,IAAC,SAAS,EAAC,mEAAmE,EAAA,QAAA,EAAE,cAAc,GAAQ,CAAA,EAAA,CACtG,EAIPD,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,wFAAwF,EAAA,QAAA,EAAA,CACtGA,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,iEAAiE,EAAA,QAAA,EAAA,CAC9E,CAAC,CAAC,QAAQ;AACX,gCAAA,CAAC,CAAC,eAAe;AACjB,gCAAA,SAAS,CAAC,QAAQ;AAClB,gCAAA,QAAQ,CAAC,WAAW,KAAK,WAAW,CAAC,EAAE;AACvC,gCAAA,CAAC;AACC,kCAAE,SAAS,CAAC,gBAAgB,KAAK;AAC/B,sCAAE;AACF,sCAAE;AACJ,kCAAE,SAAS,CAAC,gBAAgB,KAAK;AAC/B,sCAAE;sCACA,QAAQ,EACdC,GAAA,CAAC,aAAa,EAAA,EACZ,SAAS,EAAC,gBAAgB,EAC1B,IAAI,EACFA,GAAA,CAAC,IAAI,EAAA,EAAA,QAAA,EACF,CAAC,QAAQ,EAAE,WAAW,IAAI,CAAC,IAAI;AAC9B,0CAAE,CAAA,8HAAA,EAAiI,QAAQ,CAAC,WAAW,CAAA,EAAA;AACvJ,0CAAE,sFAAsF,EAAA,CACrF,EAET,KAAK,EAAC,OAAO,EACb,SAAS,EAAC,YAAY,EACtB,YAAY,EAAC,oBAAoB,EAAA,QAAA,EAEjCA,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,qGAAqG,EAAA,QAAA,EACnHA,GAAA,CAAC,cAAc,EAAA,EAAC,KAAK,EAAC,MAAM,EAAA,CAAG,EAAA,CAC1B,EAAA,CACO,CAAA,EAAA,CACX,EACN,KAAK,IAAI,gBAAgB,IACxBA,GAAA,CAACC,IAAW,EAAA,EAAA,CAAG,IACb,KAAK,IAAI,QAAQ,IACnB,GAAG,KAEHF,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAE,CAAA,oEAAA,EAAuE,aAAa,CAAC,WAAW,CAAC,CAAA,CAAE,EAAA,QAAA,EAAA,CAAA,IAAA,EAC/G,cAAc,CAAC,WAAW,CAAC,CAAA,EAAA,CACzB,CACR,CAAA,EAAA,CACI,EAIN,CAAC,eAAe,IAAI,aAAa,EAAE,MAAM,KAAK,GAAG,IAAI,QAAQ,IAAI,eAAe,IAAI,SAAS,CAAC,QAAQ,KACrGA,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,6FAA6F,EAAA,QAAA,EAAA,CAC3GC,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,wFAAwF,EAAA,QAAA,EACrG,eAAe,IACdD,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,gCAAgC,EAAA,QAAA,EAAA,CAC7C,CAAC,MAAK;oCACL,MAAM,aAAa,GAAG,oBAAoB,CAAC,eAAe,CAAC,CAAC,IAAI;AAChE,oCAAA,OAAOC,IAAC,aAAa,EAAA,EAAC,KAAK,EAAE,EAAE,GAAI;gCACrC,CAAC,GAAG,EACJA,GAAA,CAAC,IAAI,IAAC,SAAS,EAAC,gBAAgB,EAAA,QAAA,EAAE,eAAe,EAAA,CAAQ,EACzDA,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,6CAA6C,EAAA,QAAA,EAAE,CAAA,CAAA,EAAI,aAAa,EAAE,KAAK,IAAI,CAAC,CAAA,CAAA,CAAG,GAAQ,EACvGA,GAAA,CAAC,aAAa,EAAA,EACZ,SAAS,EAAC,gBAAgB,EAC1B,IAAI,EACFD,IAAA,CAAA,KAAA,EAAA,EAAA,QAAA,EAAA,CACEC,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,gBAAgB,EAAA,QAAA,EAAE,eAAe,EAAA,CAAQ,EAAA,iCAAA,EAAgC,GAAG,EAC3F,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAA,oCAAA,CAAA,EAAA,CAC5B,EAER,KAAK,EAAC,OAAO,EACb,SAAS,EAAC,YAAY,EACtB,YAAY,EAAC,oBAAoB,EAAA,QAAA,EAEjCA,GAAA,CAAC,cAAc,EAAA,EAAC,KAAK,EAAC,MAAM,EAAA,CAAG,EAAA,CACjB,CAAA,EAAA,CACX,KAEPD,IAAA,CAAC,IAAI,IAAC,SAAS,EAAC,gCAAgC,EAAA,QAAA,EAAA,CAC9CC,GAAA,CAAA,KAAA,EAAA,EACE,GAAG,EAAE,CAAA,+BAAA,EAAkC,QAAQ,EAAE,WAAW,EAAE,CAAA,IAAA,CAAM,EACpE,GAAG,EAAC,SAAS,EACb,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAA,CACxC,EAAA,OAAA,EAEFA,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,6CAA6C,EAAA,QAAA,EAAE,CAAA,CAAA,EAAI,aAAa,EAAE,KAAK,IAAI,CAAC,CAAA,CAAA,CAAG,EAAA,CAAQ,EACvGA,GAAA,CAAC,aAAa,EAAA,EACZ,SAAS,EAAC,gBAAgB,EAC1B,IAAI,EAAEA,GAAA,CAAC,IAAI,EAAA,EAAA,QAAA,EAAE,WAAW,CAAC,KAAK,EAAA,CAAQ,EACtC,KAAK,EAAC,OAAO,EACb,SAAS,EAAC,YAAY,EACtB,YAAY,EAAC,oBAAoB,EAAA,QAAA,EAEjCA,GAAA,CAAC,cAAc,EAAA,EAAC,KAAK,EAAC,MAAM,EAAA,CAAG,EAAA,CACjB,CAAA,EAAA,CACX,CACR,GACI,EACN,KAAK,IAAI,gBAAgB,IACxBA,GAAA,CAACC,IAAW,EAAA,EAAA,CAAG,IACb,KAAK,IAAI,QAAQ,IACnB,GAAG,KAEHF,KAAC,IAAI,EAAA,EAAC,SAAS,EAAC,uGAAuG,EAAA,QAAA,EAAA,CAAA,IAAA,EAClH,cAAc,CAAC,WAAW,CAAC,CAAA,EAAA,CACzB,CACR,CAAA,EAAA,CACI,CACR,EAIDA,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,uIAAuI,EAAA,QAAA,EAAA,CACrJC,GAAA,CAAC,IAAI,EAAA,EACH,SAAS,EAAC,oHAAoH,EAAA,CAC9H,EACFD,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,6CAA6C,aAC3DA,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,uEAAuE,+BACtE,cAAc,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,IAAI,EAAA,SAAA,CAAA,EAAA,CAC1D,EACN,KAAK,IAAI,gBAAgB,IACxBC,GAAA,CAACC,IAAW,KAAG,IACb,KAAK,IAAI,QAAQ,IACnB,GAAG,KAEHF,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,2EAA2E,EAAA,QAAA,EAAA,CACxF,cAAc,CAAC,qBAAqB,EAAE,CAAC,CAAC,EAAA,GAAA,EAAG,QAAQ,EAAE,iBAAiB,EAAA,MAAA,EAAM,GAAG,EAC/E,cAAc,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAA,EAAA,CACjC,CACR,CAAA,EAAA,CACI,CAAA,EAAA,CACF,EAIN,CAAC,QAAQ,CAAC,aAAa,IAAI,qBAAqB,KAAK,SAAS,CAAC,QAAQ,KACtEA,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,6CAA6C,EAAA,QAAA,EAAA,CAC3DA,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,6DAA6D,EAAA,QAAA,EAAA,CAAA,oBAAA,EAE3EC,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,cAAc,EAAA,QAAA,EAC5BA,GAAA,CAAC,aAAa,EAAA,EACZ,IAAI,EACF,4LAA4L,EAE9L,KAAK,EAAE,QAAQ,GAAG,OAAO,GAAG,OAAO,EACnC,SAAS,EAAC,YAAY,EACtB,YAAY,EAAE,QAAQ,GAAG,oBAAoB,GAAG,oBAAoB,YAEpEA,GAAA,CAAC,cAAc,EAAA,EAAC,KAAK,EAAC,MAAM,GAAG,EAAA,CACjB,EAAA,CACX,CAAA,EAAA,CACF,EACN,KAAK,IAAI,gBAAgB,IACxBA,GAAA,CAACC,IAAW,EAAA,EAAA,CAAG,IACb,KAAK,IAAI,QAAQ,IACnB,GAAG,KAEHD,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,iEAAiE,EAAA,QAAA,EAC/ED,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,gCAAgC,EAAA,QAAA,EAAA,CAC7C,qBAAqB,IAAI,gBAAgB,EAAE,eAAe,IACzDA,IAAA,CAAAG,QAAA,EAAA,EAAA,QAAA,EAAA,CACEF,GAAA,CAAC,UAAU,EAAA,EAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAA,CAAI,EAC1C,cAAc,CACb,qBAAqB,IAAI;8CACrB,qBAAqB,CAAC;AACxB,8CAAE,gBAAgB,EAAE,eAAe,EACrC,CAAC,EACD,IAAI,CACL,EACDA,IAAC,IAAI,EAAA,EAAA,QAAA,EAAA,QAAA,EAAA,CAAc,CAAA,EAAA,CAClB,KAEH,GAAG,CACJ,EACA,qBAAqB,IAAI,sBAAsB,KAC9CD,IAAA,CAAAG,QAAA,EAAA,EAAA,QAAA,EAAA,CAAA,GAAA,EAEEH,IAAA,CAAC,IAAI,IACH,SAAS,EAAC,4EAA4E,EACtF,KAAK,EAAE;AACL,gDAAA,UAAU,EAAE,QAAQ,CAAC,qBAAqB,CAAC,IAAgB,CAAC;gDAC5D,MAAM,EAAE,aAAa,YAAY,CAAC,qBAAqB,CAAC,IAAgB,CAAC,CAAA,CAAE;AAC3E,gDAAA,QAAQ,EAAE,qBAAqB,CAAC,IAAI,GAAG,CAAC,GAAG,OAAO,GAAG,SAAS;6CAC/D,EAAA,QAAA,EAAA,CAEDC,GAAA,CAAA,KAAA,EAAA,EACE,GAAG,EAAE,CAAA,+BAAA,EAAkC,qBAAqB,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAA,IAAA,CAAM,EAC3F,GAAG,EAAC,SAAS,EACb,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,EAAA,CACvE,EACD,qBAAqB,CAAC,QAAQ,EAAA,OAAA,CAAA,EAAA,CAC1B,CAAA,EAAA,CACN,CACJ,CAAA,EAAA,CACI,EAAA,CACF,CACR,CAAA,EAAA,CACI,CACR,CAAA,EAAA,CACI;AAEX;;;;"}
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 { 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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"}
@@ -2,7 +2,7 @@ import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { useState } from 'react';
3
3
  import Flex from '../../../../components/uikit-sdk/Flex/index.js';
4
4
  import useTierPoints, { getUserTier, TIERS_COLORS } from '../../../../state/tiers/useTierPoints.js';
5
- import { LaunchBondTiers, BillVersion } from '@ape.swap/apeswap-lists';
5
+ import { LaunchBondTiers } from '@ape.swap/apeswap-lists';
6
6
  import { formatNumberSI } from '../../../../utils/formatNumber.js';
7
7
  import { useAbondPrice } from '../../../../state/tokenPrices/useAbondPrice.js';
8
8
  import { AnimatePresence, motion } from 'framer-motion';
@@ -16,10 +16,9 @@ const getUpgradeNowAmountUsd = (amountUsd) => {
16
16
  const roundedUp = Number(toFixedString(amountUsd, 2, 'halfUp'));
17
17
  return Number(toFixedString(roundedUp + UPGRADE_NOW_USD_BUFFER, 2, 'ceil'));
18
18
  };
19
- // mobile-only "Upgrade now" link (visible < lg, replaced by the desktop version below)
20
- const upgradeNowInlineClasses = 'ape:ml-[5px] ape:mr-[5px] ape:text-primary-button ape:font-medium ape:cursor-pointer ape:hover:underline ape:inline ape:lg:hidden';
21
- // desktop-only "Upgrade now" link (visible >= lg)
22
- const upgradeNowFlexClasses = 'ape:ml-[5px] ape:mr-[5px] ape:text-primary-button ape:font-medium ape:cursor-pointer ape:hover:underline ape:hidden ape:lg:flex';
19
+ // always a separate flex item (not inline text) so it stays pinned to the row's right edge
20
+ // via the row's `justify-between`, instead of trailing wherever the sentence happens to end
21
+ const upgradeNowClasses = 'ape:ml-[5px] ape:mr-[5px] ape:text-primary-button ape:font-medium ape:cursor-pointer ape:hover:underline ape:flex ape:shrink-0 ape:whitespace-nowrap';
23
22
  const PointsLeftForNextTier = ({ bond, inputAmount, setInputValue, inputTokenDecimals, inputTokenPrice, }) => {
24
23
  const [isOpen, setIsOpen] = useState(false);
25
24
  // Hooks & Data
@@ -34,7 +33,7 @@ const PointsLeftForNextTier = ({ bond, inputAmount, setInputValue, inputTokenDec
34
33
  // const feeToBeCollected = inputAmountUSD * fee
35
34
  // const feeInAbond = feeToBeCollected / abondPrice!
36
35
  // const pointsToBeEarned = feeInAbond * 4
37
- const optimizationData = calculateOptimizationData(inputAmount, promotionalPoints, bond, inputTokenPrice, abondPrice);
36
+ const optimizationData = calculateOptimizationData(inputAmount, promotionalPoints, bond, inputTokenPrice, Number(abondPrice));
38
37
  const nextTierData = optimizationData?.data?.[0];
39
38
  const highestProfitableTier = optimizationData?.highestProfitableTier;
40
39
  const shouldRenderNextTierRow = Boolean((userTier ?? 0) < LaunchBondTiers.Mythical && nextTierData && (!highestProfitableTier || isOpen));
@@ -58,22 +57,17 @@ const PointsLeftForNextTier = ({ bond, inputAmount, setInputValue, inputTokenDec
58
57
  return;
59
58
  handleTierSelection(nextTierData.minBreakevenWithFeeUSD);
60
59
  };
61
- return (userTier !== LaunchBondTiers.Legend &&
62
- bond.billVersion === BillVersion.V4 && (jsxs(Flex, { className: "ape:w-full ape:mt-[10px] ape:text-[12px] ape:font-normal ape:flex-col ape:relative", style: { cursor: !highestProfitableTier ? 'pointer' : undefined }, onClick: () => setIsOpen(!isOpen), children: [highestProfitableTier && (jsxs(Flex, { className: "ape:border ape:border-solid ape:rounded-normal ape:relative ape:overflow-hidden ape:pl-[10px] ape:pr-[10px] ape:lg:pr-[20px] ape:py-[6px] ape:min-h-[27px] ape:items-center ape:gap-[5px] ape:flex-wrap", style: {
60
+ return (jsxs(Flex, { className: "ape:w-full ape:text-[12px] ape:font-normal ape:flex-col ape:relative", style: { cursor: !highestProfitableTier ? 'pointer' : undefined }, onClick: () => setIsOpen(!isOpen), children: [highestProfitableTier ? (jsxs(Flex, { className: "ape:border ape:border-solid ape:rounded-normal ape:relative ape:overflow-hidden ape:px-2.5 ape:lg:pr-[20px] ape:py-[6px] ape:min-h-[27px] ape:items-center ape:gap-[5px] ape:flex-wrap", style: {
63
61
  borderColor: 'rgba(22, 101, 52, 0.53)',
64
62
  background: 'linear-gradient(90deg, #0A2A1A 0%, #1A2A28 100%)',
65
63
  color: 'rgba(134, 237, 171, 0.70)',
66
- }, children: [jsxs("span", { className: "ape:flex-1", children: [jsx("span", { className: "ape:inline-flex ape:align-sub ape:mr-[4px]", children: jsx(Discount, { width: 14, color: '#4AD980' }) }), jsx("span", { className: "ape:font-bold", children: "Congratulations!" }), " With your purchase you will accumulate points to upgrade to ", jsx("span", { className: "ape:font-bold", style: { color: TIERS_COLORS[highestProfitableTier?.tier] }, children: highestProfitableTier.tierName }), ' ', jsx("span", { className: "ape:font-bold", children: "Tier!" })] }), !highestProfitableTier && jsx(Caret, { direction: isOpen ? 'up' : 'down', width: 10 })] })), shouldRenderNextTierRow && !highestProfitableTier && (jsxs(Flex, { onClick: handleToggleOpen, className: "ape:border ape:border-solid ape:border-[#9960C5] ape:rounded-normal ape:relative ape:overflow-hidden ape:pl-[10px] ape:pr-[15px] ape:py-[2px] ape:items-center ape:justify-between ape:min-w-[120px]", style: { background: '#312341', marginTop: highestProfitableTier ? '3px' : '0px' }, children: [jsxs("span", { className: "ape:flex-1", children: [jsx("span", { className: "ape:inline-flex ape:align-bottom", children: jsx("img", { src: `https://ape.bond/images/launch/${nextTierData?.tierName?.toLowerCase()}.png`, alt: "minTier", style: { width: '21px', height: '21px', marginRight: '3px', zIndex: 1 } }) }), "Doing a $", formatNumberSI(nextTierData?.minBreakevenWithFeeUSD), " purchase will grant you a", jsx("span", { className: "ape:px-[3px] ape:font-semibold", style: { color: TIERS_COLORS[nextTierData?.tier] }, children: nextTierData?.tierName }), "Tier.", jsx("span", { className: upgradeNowInlineClasses, onClick: (e) => handleUpgradeNowClick(e), children: `Upgrade now >` })] }), jsx("span", { className: upgradeNowFlexClasses, onClick: (e) => handleUpgradeNowClick(e), children: `Upgrade now >` }), shouldShowNextTierRowCaret && (jsx("span", { className: "ape:inline-flex ape:items-center", onClick: handleToggleOpen, role: "button", "aria-label": isOpen ? 'Collapse tier list' : 'Expand tier list', children: jsx(Caret, { direction: isOpen ? 'up' : 'down', width: 8 }) }))] })), jsx(AnimatePresence, { children: isOpen && optimizationData && !highestProfitableTier && (jsx(motion.div, { initial: { height: 0 }, animate: { height: 'fit-content' }, transition: { opacity: { duration: 0.2 } }, exit: { height: 0 }, className: "ape:overflow-hidden ape:w-full ape:mt-[3px] ape:cursor-pointer", children: optimizationData?.data?.slice(1, optimizationData?.data.length)?.map((data, index) => {
67
- return (jsxs(Flex, { className: "ape:border ape:border-solid ape:border-[#9960C5] ape:rounded-normal ape:relative ape:overflow-hidden ape:pl-[10px] ape:pr-[20px] ape:py-[2px] ape:items-center ape:justify-between", style: { background: '#312341', marginTop: index === 0 ? '0px' : '3px' }, onClick: handleToggleOpen, children: [jsxs("span", { className: "ape:flex-1", children: [jsx("span", { className: "ape:inline-flex ape:align-bottom", children: jsx("img", { src: `https://ape.bond/images/launch/${data?.tierName?.toLowerCase()}.png`, alt: "minTier", style: { width: '21px', height: '21px', marginRight: '3px', zIndex: 1 } }) }), "Doing a $", formatNumberSI(data?.minBreakevenWithFeeUSD), " purchase will grant you a", jsx("span", { className: "ape:px-[3px] ape:font-semibold", style: { color: TIERS_COLORS[data?.tier] }, children: data?.tierName }), "Tier.", jsx("span", { className: `${upgradeNowInlineClasses} ape:mr-[15px]!`, onClick: (e) => {
68
- e.stopPropagation();
69
- handleSetNextTierAmount(getUpgradeNowAmountUsd(data.minBreakevenWithFeeUSD));
70
- setIsOpen(false);
71
- }, children: `Upgrade now >` })] }), jsx("span", { className: `${upgradeNowFlexClasses} ape:min-w-[100px]`, onClick: (e) => {
64
+ }, children: [jsxs("span", { className: "ape:flex-1", children: [jsx("span", { className: "ape:inline-flex ape:align-sub ape:mr-[4px]", children: jsx(Discount, { width: 14, color: '#4AD980' }) }), jsx("span", { className: "ape:font-bold", children: "Congratulations!" }), " With your purchase you will accumulate points to upgrade to ", jsx("span", { className: "ape:font-bold", style: { color: TIERS_COLORS[highestProfitableTier?.tier] }, children: highestProfitableTier.tierName }), ' ', jsx("span", { className: "ape:font-bold", children: "Tier!" })] }), !highestProfitableTier && jsx(Caret, { direction: isOpen ? 'up' : 'down', width: 10 })] })) : shouldRenderNextTierRow ? (jsxs(Flex, { onClick: handleToggleOpen, className: "ape:border ape:border-solid ape:border-[#9960C5] ape:rounded-normal ape:relative ape:overflow-hidden ape:pl-[10px] ape:pr-[15px] ape:py-[2px] ape:items-center ape:justify-between ape:min-w-[120px]", style: { background: '#312341', marginTop: highestProfitableTier ? '3px' : '0px' }, children: [jsxs("span", { className: "ape:flex-1", children: [jsx("span", { className: "ape:inline-flex ape:align-middle", children: jsx("img", { src: `https://ape.bond/images/launch/${nextTierData?.tierName?.toLowerCase()}.png`, alt: "minTier", style: { width: '21px', height: '21px', marginRight: '3px', zIndex: 1 } }) }), "Doing a $", formatNumberSI(nextTierData?.minBreakevenWithFeeUSD), " purchase will grant you a", jsx("span", { className: "ape:px-[3px] ape:font-semibold", style: { color: TIERS_COLORS[nextTierData?.tier] }, children: nextTierData?.tierName }), "Tier."] }), jsx("span", { className: upgradeNowClasses, onClick: (e) => handleUpgradeNowClick(e), children: `Upgrade now >` }), shouldShowNextTierRowCaret && (jsx("span", { className: "ape:inline-flex ape:items-center", onClick: handleToggleOpen, role: "button", "aria-label": isOpen ? 'Collapse tier list' : 'Expand tier list', children: jsx(Caret, { direction: isOpen ? 'up' : 'down', width: 8 }) }))] })) : null, jsx(AnimatePresence, { children: isOpen && optimizationData && !highestProfitableTier && (jsx(motion.div, { initial: { height: 0 }, animate: { height: 'fit-content' }, transition: { opacity: { duration: 0.2 } }, exit: { height: 0 }, className: "ape:overflow-hidden ape:w-full ape:mt-[3px] ape:cursor-pointer", children: optimizationData?.data?.slice(1, optimizationData?.data.length)?.map((data, index) => {
65
+ return (jsxs(Flex, { className: "ape:border ape:border-solid ape:border-[#9960C5] ape:rounded-normal ape:relative ape:overflow-hidden ape:pl-[10px] ape:pr-[23px] ape:py-[2px] ape:items-center ape:justify-between", style: { background: '#312341', marginTop: index === 0 ? '0px' : '3px' }, onClick: handleToggleOpen, children: [jsxs("span", { className: "ape:flex-1", children: [jsx("span", { className: "ape:inline-flex ape:align-middle", children: jsx("img", { src: `https://ape.bond/images/launch/${data?.tierName?.toLowerCase()}.png`, alt: "minTier", style: { width: '21px', height: '21px', marginRight: '3px', zIndex: 1 } }) }), "Doing a $", formatNumberSI(data?.minBreakevenWithFeeUSD), " purchase will grant you a", jsx("span", { className: "ape:px-[3px] ape:font-semibold", style: { color: TIERS_COLORS[data?.tier] }, children: data?.tierName }), "Tier."] }), jsx("span", { className: upgradeNowClasses, onClick: (e) => {
72
66
  e.stopPropagation();
73
67
  handleSetNextTierAmount(getUpgradeNowAmountUsd(data.minBreakevenWithFeeUSD));
74
68
  setIsOpen(false);
75
69
  }, children: `Upgrade now >` })] }, data.tierName));
76
- }) })) })] })));
70
+ }) })) })] }));
77
71
  };
78
72
 
79
73
  export { PointsLeftForNextTier as default };
@@ -1 +1 @@
1
- {"version":3,"file":"PointsLeftForNextTier.js","sources":["../../../../../src/views/BuyBond/components/PointsLeftForNextTier/PointsLeftForNextTier.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport { BondsData } from '../../../../types/bonds'\nimport useTierPoints, {\n getUserTier,\n TIERS_COLORS,\n // TIERS_WEIGHT,\n} from '../../../../state/tiers/useTierPoints'\nimport { BillVersion, LaunchBondTiers } from '@ape.swap/apeswap-lists'\n// import { getBalanceNumber } from '../../../../utils/getBalanceNumber'\nimport { formatNumberSI } from '../../../../utils/formatNumber'\nimport { useAbondPrice } from '../../../../state/tokenPrices/useAbondPrice'\nimport { AnimatePresence, motion } from 'framer-motion'\nimport { calculateOptimizationData } from '../../utils'\nimport Discount from '../../../../components/uikit-sdk/Svg/Icons/Discount'\nimport Caret from '../../../../components/uikit-sdk/Svg/Icons/Caret'\nimport { toFixedString } from '../../../../utils/fixedPoint'\n\nconst UPGRADE_NOW_USD_BUFFER = 0.1\n\nconst getUpgradeNowAmountUsd = (amountUsd: number) => {\n const roundedUp = Number(toFixedString(amountUsd, 2, 'halfUp'))\n return Number(toFixedString(roundedUp + UPGRADE_NOW_USD_BUFFER, 2, 'ceil'))\n}\n\n// const getNextTierInfo = (userPoints: string) => {\n// const tiers = [\n// { tier: LaunchBondTiers.Silver, threshold: TIERS_WEIGHT[LaunchBondTiers.Silver] },\n// { tier: LaunchBondTiers.Gold, threshold: TIERS_WEIGHT[LaunchBondTiers.Gold] },\n// { tier: LaunchBondTiers.Diamond, threshold: TIERS_WEIGHT[LaunchBondTiers.Diamond] },\n// { tier: LaunchBondTiers.Legend, threshold: TIERS_WEIGHT[LaunchBondTiers.Legend] },\n// { tier: LaunchBondTiers.Mythical, threshold: TIERS_WEIGHT[LaunchBondTiers.Mythical] },\n// ]\n//\n// const userPointsBN = getBalanceNumber(userPoints)\n//\n// for (const { tier, threshold } of tiers) {\n// const thresholdNumber = getBalanceNumber(threshold)\n// if (userPointsBN < thresholdNumber) {\n// const pointsNeeded = thresholdNumber - userPointsBN\n// return { nextTier: tier, pointsNeeded }\n// }\n// }\n//\n// return null // User is at max tier (Mythical)\n// }\n\ninterface GetUpToComponentProps {\n bond: BondsData\n inputAmount: string\n setInputValue: (value: string) => void\n inputTokenDecimals: number\n inputTokenPrice?: number\n}\n\n// mobile-only \"Upgrade now\" link (visible < lg, replaced by the desktop version below)\nconst upgradeNowInlineClasses =\n 'ape:ml-[5px] ape:mr-[5px] ape:text-primary-button ape:font-medium ape:cursor-pointer ape:hover:underline ape:inline ape:lg:hidden'\n// desktop-only \"Upgrade now\" link (visible >= lg)\nconst upgradeNowFlexClasses =\n 'ape:ml-[5px] ape:mr-[5px] ape:text-primary-button ape:font-medium ape:cursor-pointer ape:hover:underline ape:hidden ape:lg:flex'\n\nconst PointsLeftForNextTier: React.FC<GetUpToComponentProps> = ({\n bond,\n inputAmount,\n setInputValue,\n inputTokenDecimals,\n inputTokenPrice,\n}) => {\n const [isOpen, setIsOpen] = useState(false)\n // Hooks & Data\n const { data: tierState } = useTierPoints()\n const { promotionalPoints } = tierState || {}\n const abondPrice = useAbondPrice()\n const userTier = getUserTier(promotionalPoints)\n // const nextTierInfo = getNextTierInfo(promotionalPoints || '0')\n // const inputAmountUSD = parseFloat(inputAmount) * (inputTokenPrice ?? 0)\n // const necessaryUSDAmount = (nextTierInfo?.pointsNeeded! / 4) * abondPrice!\n // const fee = ((bond.tierBoostRate ?? 0) + 100) / 100 - 1\n // const feeToBeCollected = inputAmountUSD * fee\n // const feeInAbond = feeToBeCollected / abondPrice!\n // const pointsToBeEarned = feeInAbond * 4\n\n const optimizationData = calculateOptimizationData(inputAmount, promotionalPoints!, bond, inputTokenPrice, abondPrice)\n const nextTierData = optimizationData?.data?.[0]\n const highestProfitableTier = optimizationData?.highestProfitableTier\n const shouldRenderNextTierRow = Boolean(\n (userTier ?? 0) < LaunchBondTiers.Mythical && nextTierData && (!highestProfitableTier || isOpen),\n )\n const shouldShowNextTierRowCaret = !highestProfitableTier\n\n const handleSetNextTierAmount = (amount: number) => {\n const inputValueInSelectedToken = amount / (inputTokenPrice ?? 0)\n const roundedInputValue = toFixedString(inputValueInSelectedToken, inputTokenDecimals, 'ceil')\n setInputValue(roundedInputValue)\n }\n\n const handleTierSelection = (amount: number) => {\n handleSetNextTierAmount(getUpgradeNowAmountUsd(amount))\n setIsOpen(false)\n }\n\n const handleToggleOpen = (e: React.MouseEvent) => {\n e.stopPropagation()\n setIsOpen((prev) => !prev)\n }\n\n const handleUpgradeNowClick = (e: React.MouseEvent) => {\n e.stopPropagation()\n if (!nextTierData) return\n handleTierSelection(nextTierData.minBreakevenWithFeeUSD)\n }\n\n return (\n userTier !== LaunchBondTiers.Legend &&\n bond.billVersion === BillVersion.V4 && (\n <Flex\n className=\"ape:w-full ape:mt-[10px] ape:text-[12px] ape:font-normal ape:flex-col ape:relative\"\n style={{ cursor: !highestProfitableTier ? 'pointer' : undefined }}\n onClick={() => setIsOpen(!isOpen)}\n >\n {highestProfitableTier && (\n <Flex\n className=\"ape:border ape:border-solid ape:rounded-normal ape:relative ape:overflow-hidden ape:pl-[10px] ape:pr-[10px] ape:lg:pr-[20px] ape:py-[6px] ape:min-h-[27px] ape:items-center ape:gap-[5px] ape:flex-wrap\"\n style={{\n borderColor: 'rgba(22, 101, 52, 0.53)',\n background: 'linear-gradient(90deg, #0A2A1A 0%, #1A2A28 100%)',\n color: 'rgba(134, 237, 171, 0.70)',\n }}\n >\n <span className=\"ape:flex-1\">\n <span className=\"ape:inline-flex ape:align-sub ape:mr-[4px]\">\n <Discount width={14} color={'#4AD980'} />\n </span>\n <span className=\"ape:font-bold\">Congratulations!</span> With your purchase you will accumulate points to\n upgrade to {/*@ts-ignore*/}\n <span className=\"ape:font-bold\" style={{ color: TIERS_COLORS[highestProfitableTier?.tier] }}>\n {highestProfitableTier.tierName}\n </span>{' '}\n <span className=\"ape:font-bold\">Tier!</span>\n </span>\n {!highestProfitableTier && <Caret direction={isOpen ? 'up' : 'down'} width={10} />}\n </Flex>\n )}\n {shouldRenderNextTierRow && !highestProfitableTier && (\n <Flex\n onClick={handleToggleOpen}\n className=\"ape:border ape:border-solid ape:border-[#9960C5] ape:rounded-normal ape:relative ape:overflow-hidden ape:pl-[10px] ape:pr-[15px] ape:py-[2px] ape:items-center ape:justify-between ape:min-w-[120px]\"\n style={{ background: '#312341', marginTop: highestProfitableTier ? '3px' : '0px' }}\n >\n <span className=\"ape:flex-1\">\n <span className=\"ape:inline-flex ape:align-bottom\">\n <img\n src={`https://ape.bond/images/launch/${nextTierData?.tierName?.toLowerCase()}.png`}\n alt=\"minTier\"\n style={{ width: '21px', height: '21px', marginRight: '3px', zIndex: 1 }}\n />\n </span>\n Doing a ${formatNumberSI(nextTierData?.minBreakevenWithFeeUSD!)} purchase will grant you a{/*@ts-ignore*/}\n <span className=\"ape:px-[3px] ape:font-semibold\" style={{ color: TIERS_COLORS[nextTierData?.tier] }}>\n {nextTierData?.tierName}\n </span>\n Tier.\n <span className={upgradeNowInlineClasses} onClick={(e) => handleUpgradeNowClick(e)}>\n {`Upgrade now >`}\n </span>\n </span>\n <span className={upgradeNowFlexClasses} onClick={(e) => handleUpgradeNowClick(e)}>\n {`Upgrade now >`}\n </span>\n {shouldShowNextTierRowCaret && (\n <span\n className=\"ape:inline-flex ape:items-center\"\n onClick={handleToggleOpen}\n role=\"button\"\n aria-label={isOpen ? 'Collapse tier list' : 'Expand tier list'}\n >\n <Caret direction={isOpen ? 'up' : 'down'} width={8} />\n </span>\n )}\n </Flex>\n )}\n <AnimatePresence>\n {isOpen && optimizationData && !highestProfitableTier && (\n <motion.div\n initial={{ height: 0 }}\n animate={{ height: 'fit-content' }}\n transition={{ opacity: { duration: 0.2 } }}\n exit={{ height: 0 }}\n className=\"ape:overflow-hidden ape:w-full ape:mt-[3px] ape:cursor-pointer\"\n >\n {optimizationData?.data?.slice(1, optimizationData?.data.length)?.map((data, index) => {\n return (\n <Flex\n className=\"ape:border ape:border-solid ape:border-[#9960C5] ape:rounded-normal ape:relative ape:overflow-hidden ape:pl-[10px] ape:pr-[20px] ape:py-[2px] ape:items-center ape:justify-between\"\n style={{ background: '#312341', marginTop: index === 0 ? '0px' : '3px' }}\n onClick={handleToggleOpen}\n key={data.tierName}\n >\n <span className=\"ape:flex-1\">\n <span className=\"ape:inline-flex ape:align-bottom\">\n <img\n src={`https://ape.bond/images/launch/${data?.tierName?.toLowerCase()}.png`}\n alt=\"minTier\"\n style={{ width: '21px', height: '21px', marginRight: '3px', zIndex: 1 }}\n />\n </span>\n Doing a ${formatNumberSI(data?.minBreakevenWithFeeUSD!)} purchase will grant you a{/*@ts-ignore*/}\n <span className=\"ape:px-[3px] ape:font-semibold\" style={{ color: TIERS_COLORS[data?.tier] }}>\n {data?.tierName}\n </span>\n Tier.\n <span\n className={`${upgradeNowInlineClasses} ape:mr-[15px]!`}\n onClick={(e) => {\n e.stopPropagation()\n handleSetNextTierAmount(getUpgradeNowAmountUsd(data.minBreakevenWithFeeUSD))\n setIsOpen(false)\n }}\n >\n {`Upgrade now >`}\n </span>\n </span>\n <span\n className={`${upgradeNowFlexClasses} ape:min-w-[100px]`}\n onClick={(e) => {\n e.stopPropagation()\n handleSetNextTierAmount(getUpgradeNowAmountUsd(data.minBreakevenWithFeeUSD))\n setIsOpen(false)\n }}\n >\n {`Upgrade now >`}\n </span>\n </Flex>\n )\n })}\n </motion.div>\n )}\n </AnimatePresence>\n </Flex>\n )\n )\n}\n\nexport default PointsLeftForNextTier\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"PointsLeftForNextTier.js","sources":["../../../../../src/views/BuyBond/components/PointsLeftForNextTier/PointsLeftForNextTier.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport { BondsData } from '../../../../types/bonds'\nimport useTierPoints, {\n getUserTier,\n TIERS_COLORS,\n // TIERS_WEIGHT,\n} from '../../../../state/tiers/useTierPoints'\nimport { LaunchBondTiers } from '@ape.swap/apeswap-lists'\n// import { getBalanceNumber } from '../../../../utils/getBalanceNumber'\nimport { formatNumberSI } from '../../../../utils/formatNumber'\nimport { useAbondPrice } from '../../../../state/tokenPrices/useAbondPrice'\nimport { AnimatePresence, motion } from 'framer-motion'\nimport { calculateOptimizationData } from '../../utils'\nimport Discount from '../../../../components/uikit-sdk/Svg/Icons/Discount'\nimport Caret from '../../../../components/uikit-sdk/Svg/Icons/Caret'\nimport { toFixedString } from '../../../../utils/fixedPoint'\n\nconst UPGRADE_NOW_USD_BUFFER = 0.1\n\nconst getUpgradeNowAmountUsd = (amountUsd: number) => {\n const roundedUp = Number(toFixedString(amountUsd, 2, 'halfUp'))\n return Number(toFixedString(roundedUp + UPGRADE_NOW_USD_BUFFER, 2, 'ceil'))\n}\n\n// const getNextTierInfo = (userPoints: string) => {\n// const tiers = [\n// { tier: LaunchBondTiers.Silver, threshold: TIERS_WEIGHT[LaunchBondTiers.Silver] },\n// { tier: LaunchBondTiers.Gold, threshold: TIERS_WEIGHT[LaunchBondTiers.Gold] },\n// { tier: LaunchBondTiers.Diamond, threshold: TIERS_WEIGHT[LaunchBondTiers.Diamond] },\n// { tier: LaunchBondTiers.Legend, threshold: TIERS_WEIGHT[LaunchBondTiers.Legend] },\n// { tier: LaunchBondTiers.Mythical, threshold: TIERS_WEIGHT[LaunchBondTiers.Mythical] },\n// ]\n//\n// const userPointsBN = getBalanceNumber(userPoints)\n//\n// for (const { tier, threshold } of tiers) {\n// const thresholdNumber = getBalanceNumber(threshold)\n// if (userPointsBN < thresholdNumber) {\n// const pointsNeeded = thresholdNumber - userPointsBN\n// return { nextTier: tier, pointsNeeded }\n// }\n// }\n//\n// return null // User is at max tier (Mythical)\n// }\n\ninterface GetUpToComponentProps {\n bond: BondsData\n inputAmount: string\n setInputValue: (value: string) => void\n inputTokenDecimals: number\n inputTokenPrice?: number\n}\n\n// always a separate flex item (not inline text) so it stays pinned to the row's right edge\n// via the row's `justify-between`, instead of trailing wherever the sentence happens to end\nconst upgradeNowClasses =\n 'ape:ml-[5px] ape:mr-[5px] ape:text-primary-button ape:font-medium ape:cursor-pointer ape:hover:underline ape:flex ape:shrink-0 ape:whitespace-nowrap'\n\nconst PointsLeftForNextTier: React.FC<GetUpToComponentProps> = ({\n bond,\n inputAmount,\n setInputValue,\n inputTokenDecimals,\n inputTokenPrice,\n}) => {\n const [isOpen, setIsOpen] = useState(false)\n // Hooks & Data\n const { data: tierState } = useTierPoints()\n const { promotionalPoints } = tierState || {}\n const abondPrice = useAbondPrice()\n const userTier = getUserTier(promotionalPoints)\n // const nextTierInfo = getNextTierInfo(promotionalPoints || '0')\n // const inputAmountUSD = parseFloat(inputAmount) * (inputTokenPrice ?? 0)\n // const necessaryUSDAmount = (nextTierInfo?.pointsNeeded! / 4) * abondPrice!\n // const fee = ((bond.tierBoostRate ?? 0) + 100) / 100 - 1\n // const feeToBeCollected = inputAmountUSD * fee\n // const feeInAbond = feeToBeCollected / abondPrice!\n // const pointsToBeEarned = feeInAbond * 4\n\n const optimizationData = calculateOptimizationData(\n inputAmount,\n promotionalPoints!,\n bond,\n inputTokenPrice,\n Number(abondPrice),\n )\n const nextTierData = optimizationData?.data?.[0]\n const highestProfitableTier = optimizationData?.highestProfitableTier\n const shouldRenderNextTierRow = Boolean(\n (userTier ?? 0) < LaunchBondTiers.Mythical && nextTierData && (!highestProfitableTier || isOpen),\n )\n const shouldShowNextTierRowCaret = !highestProfitableTier\n\n const handleSetNextTierAmount = (amount: number) => {\n const inputValueInSelectedToken = amount / (inputTokenPrice ?? 0)\n const roundedInputValue = toFixedString(inputValueInSelectedToken, inputTokenDecimals, 'ceil')\n setInputValue(roundedInputValue)\n }\n\n const handleTierSelection = (amount: number) => {\n handleSetNextTierAmount(getUpgradeNowAmountUsd(amount))\n setIsOpen(false)\n }\n\n const handleToggleOpen = (e: React.MouseEvent) => {\n e.stopPropagation()\n setIsOpen((prev) => !prev)\n }\n\n const handleUpgradeNowClick = (e: React.MouseEvent) => {\n e.stopPropagation()\n if (!nextTierData) return\n handleTierSelection(nextTierData.minBreakevenWithFeeUSD)\n }\n\n return (\n <Flex\n className=\"ape:w-full ape:text-[12px] ape:font-normal ape:flex-col ape:relative\"\n style={{ cursor: !highestProfitableTier ? 'pointer' : undefined }}\n onClick={() => setIsOpen(!isOpen)}\n >\n {highestProfitableTier ? (\n <Flex\n className=\"ape:border ape:border-solid ape:rounded-normal ape:relative ape:overflow-hidden ape:px-2.5 ape:lg:pr-[20px] ape:py-[6px] ape:min-h-[27px] ape:items-center ape:gap-[5px] ape:flex-wrap\"\n style={{\n borderColor: 'rgba(22, 101, 52, 0.53)',\n background: 'linear-gradient(90deg, #0A2A1A 0%, #1A2A28 100%)',\n color: 'rgba(134, 237, 171, 0.70)',\n }}\n >\n <span className=\"ape:flex-1\">\n <span className=\"ape:inline-flex ape:align-sub ape:mr-[4px]\">\n <Discount width={14} color={'#4AD980'} />\n </span>\n <span className=\"ape:font-bold\">Congratulations!</span> With your purchase you will accumulate points to\n upgrade to {/*@ts-ignore*/}\n <span className=\"ape:font-bold\" style={{ color: TIERS_COLORS[highestProfitableTier?.tier] }}>\n {highestProfitableTier.tierName}\n </span>{' '}\n <span className=\"ape:font-bold\">Tier!</span>\n </span>\n {!highestProfitableTier && <Caret direction={isOpen ? 'up' : 'down'} width={10} />}\n </Flex>\n ) : shouldRenderNextTierRow ? (\n <Flex\n onClick={handleToggleOpen}\n className=\"ape:border ape:border-solid ape:border-[#9960C5] ape:rounded-normal ape:relative ape:overflow-hidden ape:pl-[10px] ape:pr-[15px] ape:py-[2px] ape:items-center ape:justify-between ape:min-w-[120px]\"\n style={{ background: '#312341', marginTop: highestProfitableTier ? '3px' : '0px' }}\n >\n <span className=\"ape:flex-1\">\n <span className=\"ape:inline-flex ape:align-middle\">\n <img\n src={`https://ape.bond/images/launch/${nextTierData?.tierName?.toLowerCase()}.png`}\n alt=\"minTier\"\n style={{ width: '21px', height: '21px', marginRight: '3px', zIndex: 1 }}\n />\n </span>\n Doing a ${formatNumberSI(nextTierData?.minBreakevenWithFeeUSD!)} purchase will grant you a{/*@ts-ignore*/}\n <span className=\"ape:px-[3px] ape:font-semibold\" style={{ color: TIERS_COLORS[nextTierData?.tier] }}>\n {nextTierData?.tierName}\n </span>\n Tier.\n </span>\n <span className={upgradeNowClasses} onClick={(e) => handleUpgradeNowClick(e)}>\n {`Upgrade now >`}\n </span>\n {shouldShowNextTierRowCaret && (\n <span\n className=\"ape:inline-flex ape:items-center\"\n onClick={handleToggleOpen}\n role=\"button\"\n aria-label={isOpen ? 'Collapse tier list' : 'Expand tier list'}\n >\n <Caret direction={isOpen ? 'up' : 'down'} width={8} />\n </span>\n )}\n </Flex>\n ) : null}\n <AnimatePresence>\n {isOpen && optimizationData && !highestProfitableTier && (\n <motion.div\n initial={{ height: 0 }}\n animate={{ height: 'fit-content' }}\n transition={{ opacity: { duration: 0.2 } }}\n exit={{ height: 0 }}\n className=\"ape:overflow-hidden ape:w-full ape:mt-[3px] ape:cursor-pointer\"\n >\n {optimizationData?.data?.slice(1, optimizationData?.data.length)?.map((data, index) => {\n return (\n <Flex\n className=\"ape:border ape:border-solid ape:border-[#9960C5] ape:rounded-normal ape:relative ape:overflow-hidden ape:pl-[10px] ape:pr-[23px] ape:py-[2px] ape:items-center ape:justify-between\"\n style={{ background: '#312341', marginTop: index === 0 ? '0px' : '3px' }}\n onClick={handleToggleOpen}\n key={data.tierName}\n >\n <span className=\"ape:flex-1\">\n <span className=\"ape:inline-flex ape:align-middle\">\n <img\n src={`https://ape.bond/images/launch/${data?.tierName?.toLowerCase()}.png`}\n alt=\"minTier\"\n style={{ width: '21px', height: '21px', marginRight: '3px', zIndex: 1 }}\n />\n </span>\n Doing a ${formatNumberSI(data?.minBreakevenWithFeeUSD!)} purchase will grant you a{/*@ts-ignore*/}\n <span className=\"ape:px-[3px] ape:font-semibold\" style={{ color: TIERS_COLORS[data?.tier] }}>\n {data?.tierName}\n </span>\n Tier.\n </span>\n <span\n className={upgradeNowClasses}\n onClick={(e) => {\n e.stopPropagation()\n handleSetNextTierAmount(getUpgradeNowAmountUsd(data.minBreakevenWithFeeUSD))\n setIsOpen(false)\n }}\n >\n {`Upgrade now >`}\n </span>\n </Flex>\n )\n })}\n </motion.div>\n )}\n </AnimatePresence>\n </Flex>\n )\n}\n\nexport default PointsLeftForNextTier\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -6,7 +6,7 @@ import Text from '../../../components/uikit-sdk/Text/index.js';
6
6
 
7
7
  const ProjectDescription = ({ description, isProjectView }) => {
8
8
  const [isOpen, setIsOpen] = useState(false);
9
- return (jsx(Flex, { className: "description-container ape:flex ape:items-start ape:font-normal ape:text-[14px] ape:leading-[21px] ape:py-[10px]", children: isProjectView && (jsxs(Fragment, { children: [jsxs(Flex, { className: "ape:flex ape:lg:hidden ape:flex-col", children: [jsx(Text, { size: "12px", className: "ape:lg:text-[14px]! ape:mt-[10px] ape:font-normal ape:overflow-hidden ape:leading-[18px]! ape:lg:leading-[21px]!", style: { maxHeight: isOpen ? 'unset' : '54px' }, children: description && jsx(SafeHTMLComponent, { html: description }) }), !isOpen && (jsxs(Text, { size: "12px", className: "ape:font-normal ape:cursor-pointer", style: { color: 'var(--ape-color-primary-button)', lineHeight: '18px' }, onClick: () => setIsOpen(true), children: ["View More ", '>'] }))] }), jsx(Flex, { className: "ape:hidden ape:lg:flex", children: jsx(SafeHTMLComponent, { html: description ?? '' }) })] })) }));
9
+ return (jsx(Flex, { className: "description-container ape:flex ape:items-start ape:font-normal ape:text-[14px] ape:leading-[21px]", children: isProjectView && (jsxs(Fragment, { children: [jsxs(Flex, { className: "ape:flex ape:md:hidden ape:flex-col", children: [jsx(Text, { as: "div", size: "12px", className: "ape:md:text-[14px]! ape:font-normal ape:overflow-hidden ape:leading-[18px]! ape:md:leading-[21px]!", style: { maxHeight: isOpen ? 'unset' : '54px' }, children: description && jsx(SafeHTMLComponent, { html: description }) }), !isOpen && (jsxs(Text, { size: "12px", className: "ape:font-normal ape:cursor-pointer", style: { color: 'var(--ape-color-primary-button)', lineHeight: '18px' }, onClick: () => setIsOpen(true), children: ["View More ", '>'] }))] }), jsx(Flex, { className: "ape:hidden ape:md:flex", children: jsx(SafeHTMLComponent, { html: description ?? '' }) })] })) }));
10
10
  };
11
11
 
12
12
  export { ProjectDescription as default };
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectDescription.js","sources":["../../../../src/views/BuyBond/components/ProjectDescription.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport SafeHTMLComponent from '../../../components/SafeHTMLComponent'\nimport Flex from '../../../components/uikit-sdk/Flex'\nimport Text from '../../../components/uikit-sdk/Text'\n\nconst ProjectDescription = ({ description, isProjectView }: { description?: string; isProjectView?: boolean }) => {\n const [isOpen, setIsOpen] = useState<boolean>(false)\n\n return (\n <Flex className=\"description-container ape:flex ape:items-start ape:font-normal ape:text-[14px] ape:leading-[21px] ape:py-[10px]\">\n {isProjectView && (\n <>\n <Flex className=\"ape:flex ape:lg:hidden ape:flex-col\">\n <Text\n size=\"12px\"\n className=\"ape:lg:text-[14px]! ape:mt-[10px] ape:font-normal ape:overflow-hidden ape:leading-[18px]! ape:lg:leading-[21px]!\"\n style={{ maxHeight: isOpen ? 'unset' : '54px' }}\n >\n {description && <SafeHTMLComponent html={description} />}\n </Text>\n {!isOpen && (\n <Text\n size=\"12px\"\n className=\"ape:font-normal ape:cursor-pointer\"\n style={{ color: 'var(--ape-color-primary-button)', lineHeight: '18px' }}\n onClick={() => setIsOpen(true)}\n >\n View More {'>'}\n </Text>\n )}\n </Flex>\n <Flex className=\"ape:hidden ape:lg:flex\">\n <SafeHTMLComponent html={description ?? ''} />\n </Flex>\n </>\n )}\n </Flex>\n )\n}\n\nexport default ProjectDescription\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":";;;;;;AAKA,MAAM,kBAAkB,GAAG,CAAC,EAAE,WAAW,EAAE,aAAa,EAAqD,KAAI;IAC/G,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC;IAEpD,QACEA,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,iHAAiH,EAAA,QAAA,EAC9H,aAAa,KACZC,IAAA,CAAAC,QAAA,EAAA,EAAA,QAAA,EAAA,CACED,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,qCAAqC,EAAA,QAAA,EAAA,CACnDD,GAAA,CAAC,IAAI,EAAA,EACH,IAAI,EAAC,MAAM,EACX,SAAS,EAAC,kHAAkH,EAC5H,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,EAAA,QAAA,EAE9C,WAAW,IAAIA,GAAA,CAAC,iBAAiB,EAAA,EAAC,IAAI,EAAE,WAAW,EAAA,CAAI,EAAA,CACnD,EACN,CAAC,MAAM,KACNC,IAAA,CAAC,IAAI,EAAA,EACH,IAAI,EAAC,MAAM,EACX,SAAS,EAAC,oCAAoC,EAC9C,KAAK,EAAE,EAAE,KAAK,EAAE,iCAAiC,EAAE,UAAU,EAAE,MAAM,EAAE,EACvE,OAAO,EAAE,MAAM,SAAS,CAAC,IAAI,CAAC,EAAA,QAAA,EAAA,CAAA,YAAA,EAEnB,GAAG,CAAA,EAAA,CACT,CACR,CAAA,EAAA,CACI,EACPD,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,wBAAwB,EAAA,QAAA,EACtCA,GAAA,CAAC,iBAAiB,EAAA,EAAC,IAAI,EAAE,WAAW,IAAI,EAAE,EAAA,CAAI,EAAA,CACzC,CAAA,EAAA,CACN,CACJ,EAAA,CACI;AAEX;;;;"}
1
+ {"version":3,"file":"ProjectDescription.js","sources":["../../../../src/views/BuyBond/components/ProjectDescription.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport SafeHTMLComponent from '../../../components/SafeHTMLComponent'\nimport Flex from '../../../components/uikit-sdk/Flex'\nimport Text from '../../../components/uikit-sdk/Text'\n\nconst ProjectDescription = ({ description, isProjectView }: { description?: string; isProjectView?: boolean }) => {\n const [isOpen, setIsOpen] = useState<boolean>(false)\n\n return (\n <Flex className=\"description-container ape:flex ape:items-start ape:font-normal ape:text-[14px] ape:leading-[21px]\">\n {isProjectView && (\n <>\n <Flex className=\"ape:flex ape:md:hidden ape:flex-col\">\n <Text\n as=\"div\"\n size=\"12px\"\n className=\"ape:md:text-[14px]! ape:font-normal ape:overflow-hidden ape:leading-[18px]! ape:md:leading-[21px]!\"\n style={{ maxHeight: isOpen ? 'unset' : '54px' }}\n >\n {description && <SafeHTMLComponent html={description} />}\n </Text>\n {!isOpen && (\n <Text\n size=\"12px\"\n className=\"ape:font-normal ape:cursor-pointer\"\n style={{ color: 'var(--ape-color-primary-button)', lineHeight: '18px' }}\n onClick={() => setIsOpen(true)}\n >\n View More {'>'}\n </Text>\n )}\n </Flex>\n <Flex className=\"ape:hidden ape:md:flex\">\n <SafeHTMLComponent html={description ?? ''} />\n </Flex>\n </>\n )}\n </Flex>\n )\n}\n\nexport default ProjectDescription\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":";;;;;;AAKA,MAAM,kBAAkB,GAAG,CAAC,EAAE,WAAW,EAAE,aAAa,EAAqD,KAAI;IAC/G,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC;AAEpD,IAAA,QACEA,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,mGAAmG,EAAA,QAAA,EAChH,aAAa,KACZC,IAAA,CAAAC,QAAA,EAAA,EAAA,QAAA,EAAA,CACED,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,qCAAqC,EAAA,QAAA,EAAA,CACnDD,GAAA,CAAC,IAAI,EAAA,EACH,EAAE,EAAC,KAAK,EACR,IAAI,EAAC,MAAM,EACX,SAAS,EAAC,oGAAoG,EAC9G,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,EAAA,QAAA,EAE9C,WAAW,IAAIA,GAAA,CAAC,iBAAiB,EAAA,EAAC,IAAI,EAAE,WAAW,EAAA,CAAI,EAAA,CACnD,EACN,CAAC,MAAM,KACNC,IAAA,CAAC,IAAI,EAAA,EACH,IAAI,EAAC,MAAM,EACX,SAAS,EAAC,oCAAoC,EAC9C,KAAK,EAAE,EAAE,KAAK,EAAE,iCAAiC,EAAE,UAAU,EAAE,MAAM,EAAE,EACvE,OAAO,EAAE,MAAM,SAAS,CAAC,IAAI,CAAC,EAAA,QAAA,EAAA,CAAA,YAAA,EAEnB,GAAG,CAAA,EAAA,CACT,CACR,CAAA,EAAA,CACI,EACPD,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,wBAAwB,EAAA,QAAA,EACtCA,GAAA,CAAC,iBAAiB,EAAA,EAAC,IAAI,EAAE,WAAW,IAAI,EAAE,EAAA,CAAI,EAAA,CACzC,CAAA,EAAA,CACN,CACJ,EAAA,CACI;AAEX;;;;"}
@@ -5,7 +5,7 @@ import BuyBondModal from './BuyBondModal.js';
5
5
 
6
6
  const BuyBondModalWithProviders = (props) => {
7
7
  useSDKConfig(props);
8
- return (jsx(Providers, { theme: props.theme, children: jsx(BuyBondModal, { ...props }) }));
8
+ return (jsx(Providers, { children: jsx(BuyBondModal, { ...props }) }));
9
9
  };
10
10
 
11
11
  export { BuyBondModalWithProviders as default };