@ape.swap/bonds-sdk 5.1.6 → 5.1.7-test.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (221) hide show
  1. package/dist/components/BondFilters/BondFilters.js +2 -15
  2. package/dist/components/BondFilters/BondFilters.js.map +1 -1
  3. package/dist/components/ChainOptionList/ChainOptionsButtons.js +3 -16
  4. package/dist/components/ChainOptionList/ChainOptionsButtons.js.map +1 -1
  5. package/dist/components/ChainOptionList/ChainOptionsList.js +4 -16
  6. package/dist/components/ChainOptionList/ChainOptionsList.js.map +1 -1
  7. package/dist/components/CircularProgress/index.js +0 -14
  8. package/dist/components/CircularProgress/index.js.map +1 -1
  9. package/dist/components/ConnectButton/AppKitButton.js +0 -14
  10. package/dist/components/ConnectButton/AppKitButton.js.map +1 -1
  11. package/dist/components/ConnectButton/RainbowKitButton.js +0 -14
  12. package/dist/components/ConnectButton/RainbowKitButton.js.map +1 -1
  13. package/dist/components/ConnectButton/index.js +0 -14
  14. package/dist/components/ConnectButton/index.js.map +1 -1
  15. package/dist/components/ConnectSolanaWalletButton/ConnectSolanaWalletButton.js +3 -16
  16. package/dist/components/ConnectSolanaWalletButton/ConnectSolanaWalletButton.js.map +1 -1
  17. package/dist/components/ConnectoToVmBanners/ConnectToEvmBanner.js +1 -14
  18. package/dist/components/ConnectoToVmBanners/ConnectToEvmBanner.js.map +1 -1
  19. package/dist/components/ConnectoToVmBanners/ConnectToSolanaBanner.js +2 -15
  20. package/dist/components/ConnectoToVmBanners/ConnectToSolanaBanner.js.map +1 -1
  21. package/dist/components/CustomClaimModals/AbondModal.js +1 -13
  22. package/dist/components/CustomClaimModals/AbondModal.js.map +1 -1
  23. package/dist/components/CustomClaimModals/OabondModal.js +1 -13
  24. package/dist/components/CustomClaimModals/OabondModal.js.map +1 -1
  25. package/dist/components/CustomClaimModals/PmusdModal.js +1 -14
  26. package/dist/components/CustomClaimModals/PmusdModal.js.map +1 -1
  27. package/dist/components/FavIcons/AddFavToken.js +0 -12
  28. package/dist/components/FavIcons/AddFavToken.js.map +1 -1
  29. package/dist/components/FavIcons/FavFilter.js +1 -15
  30. package/dist/components/FavIcons/FavFilter.js.map +1 -1
  31. package/dist/components/LoadingSpinner/index.js +0 -14
  32. package/dist/components/LoadingSpinner/index.js.map +1 -1
  33. package/dist/components/MenuSelect/MenuSelect.js +1 -13
  34. package/dist/components/MenuSelect/MenuSelect.js.map +1 -1
  35. package/dist/components/MenuSelect/RecommendationSelector.js +0 -14
  36. package/dist/components/MenuSelect/RecommendationSelector.js.map +1 -1
  37. package/dist/components/NetworkFilter/index.js +4 -15
  38. package/dist/components/NetworkFilter/index.js.map +1 -1
  39. package/dist/components/PlaceholderMonkey/index.js +1 -14
  40. package/dist/components/PlaceholderMonkey/index.js.map +1 -1
  41. package/dist/components/ProgressBar/ProgressBarWrapper.js +2 -11
  42. package/dist/components/ProgressBar/ProgressBarWrapper.js.map +1 -1
  43. package/dist/components/ProgressiveImage/index.js +0 -12
  44. package/dist/components/ProgressiveImage/index.js.map +1 -1
  45. package/dist/components/SlippageModal/index.js +3 -15
  46. package/dist/components/SlippageModal/index.js.map +1 -1
  47. package/dist/components/StepBubble/index.js +2 -14
  48. package/dist/components/StepBubble/index.js.map +1 -1
  49. package/dist/components/Toast/index.js +4 -13
  50. package/dist/components/Toast/index.js.map +1 -1
  51. package/dist/components/TokenInfoAndName/index.js +4 -16
  52. package/dist/components/TokenInfoAndName/index.js.map +1 -1
  53. package/dist/components/TokenSelectorModal/TokenRow.js +1 -14
  54. package/dist/components/TokenSelectorModal/TokenRow.js.map +1 -1
  55. package/dist/components/TokenSelectorModal/index.d.ts +1 -2
  56. package/dist/components/TokenSelectorModal/index.js +3 -15
  57. package/dist/components/TokenSelectorModal/index.js.map +1 -1
  58. package/dist/components/TokenSelectorPanel/index.js +5 -17
  59. package/dist/components/TokenSelectorPanel/index.js.map +1 -1
  60. package/dist/components/Tooltip/ButtonsRow.js +2 -15
  61. package/dist/components/Tooltip/ButtonsRow.js.map +1 -1
  62. package/dist/components/Tooltip/Tooltip.js +0 -13
  63. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  64. package/dist/components/YouTooltip/YouTooltip.js +0 -14
  65. package/dist/components/YouTooltip/YouTooltip.js.map +1 -1
  66. package/dist/components/uikit-sdk/LoadingDots/index.js +0 -14
  67. package/dist/components/uikit-sdk/LoadingDots/index.js.map +1 -1
  68. package/dist/components/uikit-sdk/Modal/ModalHeader.js +0 -2
  69. package/dist/components/uikit-sdk/Modal/ModalHeader.js.map +1 -1
  70. package/dist/components/uikit-sdk/Toggle/index.js +1 -1
  71. package/dist/components/uikit-sdk/Toggle/index.js.map +1 -1
  72. package/dist/components/uikit-sdk/TokenImage/index.js +2 -13
  73. package/dist/components/uikit-sdk/TokenImage/index.js.map +1 -1
  74. package/dist/config/abi/launchBond_v2_4_1.json.js +2 -2
  75. package/dist/contexts/ModalContext.js +0 -12
  76. package/dist/contexts/ModalContext.js.map +1 -1
  77. package/dist/contexts/Popups.js +0 -14
  78. package/dist/contexts/Popups.js.map +1 -1
  79. package/dist/state/bonds/useUserBondsPreTGE.js +3 -3
  80. package/dist/state/bonds/utils.js +2 -2
  81. package/dist/utils/bondPriceHelpers.d.ts +14 -0
  82. package/dist/utils/bondPriceHelpers.js +36 -0
  83. package/dist/utils/bondPriceHelpers.js.map +1 -0
  84. package/dist/utils/displayHelpers.js +1 -1
  85. package/dist/utils/displayHelpers.js.map +1 -1
  86. package/dist/views/Bonds/Bonds.js +2 -15
  87. package/dist/views/Bonds/Bonds.js.map +1 -1
  88. package/dist/views/Bonds/components/BondRows/BondRow.js +4 -16
  89. package/dist/views/Bonds/components/BondRows/BondRow.js.map +1 -1
  90. package/dist/views/Bonds/components/BondRows/ChainTitle.js +3 -15
  91. package/dist/views/Bonds/components/BondRows/ChainTitle.js.map +1 -1
  92. package/dist/views/Bonds/components/BondRows/SoldOutRows.js +1 -13
  93. package/dist/views/Bonds/components/BondRows/SoldOutRows.js.map +1 -1
  94. package/dist/views/Bonds/components/BondsMenu/BondsMenu.js +1 -14
  95. package/dist/views/Bonds/components/BondsMenu/BondsMenu.js.map +1 -1
  96. package/dist/views/Bonds/components/BonusComponents/BonusComponent.js +5 -17
  97. package/dist/views/Bonds/components/BonusComponents/BonusComponent.js.map +1 -1
  98. package/dist/views/Bonds/components/BonusComponents/BonusTable.js +1 -15
  99. package/dist/views/Bonds/components/BonusComponents/BonusTable.js.map +1 -1
  100. package/dist/views/Bonds/components/BuyAgainRow/index.js +0 -12
  101. package/dist/views/Bonds/components/BuyAgainRow/index.js.map +1 -1
  102. package/dist/views/Bonds/components/ChainBanner/ChainBanner.js +1 -14
  103. package/dist/views/Bonds/components/ChainBanner/ChainBanner.js.map +1 -1
  104. package/dist/views/Bonds/components/HotBondCards/HotBondCard.js +5 -17
  105. package/dist/views/Bonds/components/HotBondCards/HotBondCard.js.map +1 -1
  106. package/dist/views/Bonds/components/HotBondCards/index.js +3 -16
  107. package/dist/views/Bonds/components/HotBondCards/index.js.map +1 -1
  108. package/dist/views/Bonds/components/LoadingSkeleton/LoadingSkeleton.js +1 -12
  109. package/dist/views/Bonds/components/LoadingSkeleton/LoadingSkeleton.js.map +1 -1
  110. package/dist/views/Bonds/components/RecommendationCards/SmallRecommendationCard.js +0 -14
  111. package/dist/views/Bonds/components/RecommendationCards/SmallRecommendationCard.js.map +1 -1
  112. package/dist/views/Bonds/components/RecommendationCards/index.js +1 -14
  113. package/dist/views/Bonds/components/RecommendationCards/index.js.map +1 -1
  114. package/dist/views/Bonds/utils.d.ts +1 -14
  115. package/dist/views/Bonds/utils.js +2 -32
  116. package/dist/views/Bonds/utils.js.map +1 -1
  117. package/dist/views/BuyBond/BuyBondModal.js +0 -13
  118. package/dist/views/BuyBond/BuyBondModal.js.map +1 -1
  119. package/dist/views/BuyBond/BuyComponent.js +5 -16
  120. package/dist/views/BuyBond/BuyComponent.js.map +1 -1
  121. package/dist/views/BuyBond/BuyComponentPreTGE.js +9 -18
  122. package/dist/views/BuyBond/BuyComponentPreTGE.js.map +1 -1
  123. package/dist/views/BuyBond/BuyComponentSolana.js +8 -21
  124. package/dist/views/BuyBond/BuyComponentSolana.js.map +1 -1
  125. package/dist/views/BuyBond/ParticipationSuccessful.js +4 -15
  126. package/dist/views/BuyBond/ParticipationSuccessful.js.map +1 -1
  127. package/dist/views/BuyBond/components/BondCards/BondCards.js +4 -16
  128. package/dist/views/BuyBond/components/BondCards/BondCards.js.map +1 -1
  129. package/dist/views/BuyBond/components/BondCards/BondCardsPreTGE.js +3 -16
  130. package/dist/views/BuyBond/components/BondCards/BondCardsPreTGE.js.map +1 -1
  131. package/dist/views/BuyBond/components/BondModalHeader.js +4 -17
  132. package/dist/views/BuyBond/components/BondModalHeader.js.map +1 -1
  133. package/dist/views/BuyBond/components/BondModalMinTierHeader.js +2 -15
  134. package/dist/views/BuyBond/components/BondModalMinTierHeader.js.map +1 -1
  135. package/dist/views/BuyBond/components/Estimations.js +5 -18
  136. package/dist/views/BuyBond/components/Estimations.js.map +1 -1
  137. package/dist/views/BuyBond/components/ExpandedViewButton.js +1 -15
  138. package/dist/views/BuyBond/components/ExpandedViewButton.js.map +1 -1
  139. package/dist/views/BuyBond/components/GetUpToComponent/GetUpToComponent.js +4 -15
  140. package/dist/views/BuyBond/components/GetUpToComponent/GetUpToComponent.js.map +1 -1
  141. package/dist/views/BuyBond/components/NewRateModal/NewRateModal.js +2 -14
  142. package/dist/views/BuyBond/components/NewRateModal/NewRateModal.js.map +1 -1
  143. package/dist/views/BuyBond/components/NoBonusModal/NoBonusModal.js +1 -12
  144. package/dist/views/BuyBond/components/NoBonusModal/NoBonusModal.js.map +1 -1
  145. package/dist/views/BuyBond/components/ProjectDescription.js +0 -12
  146. package/dist/views/BuyBond/components/ProjectDescription.js.map +1 -1
  147. package/dist/views/FullBondsView/FullBondsView.d.ts +0 -4
  148. package/dist/views/FullBondsView/FullBondsView.js +3 -21
  149. package/dist/views/FullBondsView/FullBondsView.js.map +1 -1
  150. package/dist/views/LifiModal/LifiModal.js +1 -13
  151. package/dist/views/LifiModal/LifiModal.js.map +1 -1
  152. package/dist/views/ProjectView/ProjectView.js +0 -13
  153. package/dist/views/ProjectView/ProjectView.js.map +1 -1
  154. package/dist/views/ProjectView/components/BondLeaderboard/components/SalesTable.js +0 -14
  155. package/dist/views/ProjectView/components/BondLeaderboard/components/SalesTable.js.map +1 -1
  156. package/dist/views/ProjectView/components/BondLeaderboard/components/TopSaleCard.js +0 -14
  157. package/dist/views/ProjectView/components/BondLeaderboard/components/TopSaleCard.js.map +1 -1
  158. package/dist/views/ProjectView/components/BondLeaderboard/components/TopThreeSalesCards.js +0 -14
  159. package/dist/views/ProjectView/components/BondLeaderboard/components/TopThreeSalesCards.js.map +1 -1
  160. package/dist/views/ProjectView/components/BondLeaderboard/index.js +1 -15
  161. package/dist/views/ProjectView/components/BondLeaderboard/index.js.map +1 -1
  162. package/dist/views/ProjectView/components/BondStats/index.js +0 -12
  163. package/dist/views/ProjectView/components/BondStats/index.js.map +1 -1
  164. package/dist/views/ProjectView/components/NavPanel/index.js +1 -15
  165. package/dist/views/ProjectView/components/NavPanel/index.js.map +1 -1
  166. package/dist/views/ProjectView/components/PriceChart/index.js +2 -15
  167. package/dist/views/ProjectView/components/PriceChart/index.js.map +1 -1
  168. package/dist/views/ProjectView/components/ProjectInfo/index.js +0 -14
  169. package/dist/views/ProjectView/components/ProjectInfo/index.js.map +1 -1
  170. package/dist/views/ProjectView/components/RecommendationCards/index.js +1 -14
  171. package/dist/views/ProjectView/components/RecommendationCards/index.js.map +1 -1
  172. package/dist/views/SingleBond/SingleBond.js +1 -13
  173. package/dist/views/SingleBond/SingleBond.js.map +1 -1
  174. package/dist/views/SingleBond/SoldOutBuyBondPlaceholder.js +1 -14
  175. package/dist/views/SingleBond/SoldOutBuyBondPlaceholder.js.map +1 -1
  176. package/dist/views/TransactionModal/TransactionModal.js +3 -15
  177. package/dist/views/TransactionModal/TransactionModal.js.map +1 -1
  178. package/dist/views/YourBonds/components/ClaimAll/ClaimAllModal.js +2 -13
  179. package/dist/views/YourBonds/components/ClaimAll/ClaimAllModal.js.map +1 -1
  180. package/dist/views/YourBonds/components/ClaimAll/index.js +0 -14
  181. package/dist/views/YourBonds/components/ClaimAll/index.js.map +1 -1
  182. package/dist/views/YourBonds/components/UserBondRow/PreTGEActions.js +3 -16
  183. package/dist/views/YourBonds/components/UserBondRow/PreTGEActions.js.map +1 -1
  184. package/dist/views/YourBonds/components/UserBondRow/UserBondRow.js +1 -12
  185. package/dist/views/YourBonds/components/UserBondRow/UserBondRow.js.map +1 -1
  186. package/dist/views/YourBonds/components/UserBondRow/UserBondRowPreTGE.js +1 -13
  187. package/dist/views/YourBonds/components/UserBondRow/UserBondRowPreTGE.js.map +1 -1
  188. package/dist/views/YourBonds/components/UserBondRow/UserBondRowSolana.js +3 -15
  189. package/dist/views/YourBonds/components/UserBondRow/UserBondRowSolana.js.map +1 -1
  190. package/dist/views/YourBonds/components/YourBondsMenu/YourBondsMenu.js +0 -13
  191. package/dist/views/YourBonds/components/YourBondsMenu/YourBondsMenu.js.map +1 -1
  192. package/dist/views/YourBondsModal/YourBondsModal.js +6 -16
  193. package/dist/views/YourBondsModal/YourBondsModal.js.map +1 -1
  194. package/dist/views/YourBondsModal/components/Actions/Actions.js +0 -13
  195. package/dist/views/YourBondsModal/components/Actions/Actions.js.map +1 -1
  196. package/dist/views/YourBondsModal/components/Actions/ActionsSolana.js +1 -14
  197. package/dist/views/YourBondsModal/components/Actions/ActionsSolana.js.map +1 -1
  198. package/dist/views/YourBondsModal/components/LinkShare/LinkShare.js +1 -13
  199. package/dist/views/YourBondsModal/components/LinkShare/LinkShare.js.map +1 -1
  200. package/dist/views/YourBondsModal/components/NFTImage/NFTImage.js +4 -13
  201. package/dist/views/YourBondsModal/components/NFTImage/NFTImage.js.map +1 -1
  202. package/dist/views/YourBondsModal/components/Recommendations/CardRecommendation.js +3 -16
  203. package/dist/views/YourBondsModal/components/Recommendations/CardRecommendation.js.map +1 -1
  204. package/dist/views/YourBondsModal/components/Recommendations/RecSkeleton.js +0 -12
  205. package/dist/views/YourBondsModal/components/Recommendations/RecSkeleton.js.map +1 -1
  206. package/dist/views/YourBondsModal/components/Recommendations/Recommendations.js +2 -15
  207. package/dist/views/YourBondsModal/components/Recommendations/Recommendations.js.map +1 -1
  208. package/dist/views/YourBondsModal/components/TransferBondModal/TransferAction.js +0 -13
  209. package/dist/views/YourBondsModal/components/TransferBondModal/TransferAction.js.map +1 -1
  210. package/dist/views/YourBondsModal/components/TransferBondModal/TransferActionSolana.js +1 -14
  211. package/dist/views/YourBondsModal/components/TransferBondModal/TransferActionSolana.js.map +1 -1
  212. package/dist/views/YourBondsModal/components/TransferBondModal/index.js +2 -12
  213. package/dist/views/YourBondsModal/components/TransferBondModal/index.js.map +1 -1
  214. package/dist/views/YourBondsModal/components/YourBondModalHeader/YourBondModalHeader.js +6 -16
  215. package/dist/views/YourBondsModal/components/YourBondModalHeader/YourBondModalHeader.js.map +1 -1
  216. package/package.json +1 -1
  217. package/dist/components/uikit-sdk/Button/index.d.ts +0 -2
  218. package/dist/components/uikit-sdk/Input/index.d.ts +0 -2
  219. package/dist/components/uikit-sdk/Select/index.d.ts +0 -2
  220. package/dist/components/uikit-sdk/Tag/index.d.ts +0 -1
  221. package/dist/components/uikit-sdk/index.d.ts +0 -15
@@ -3,20 +3,8 @@ import { useState } from 'react';
3
3
  import { AnimatePresence, motion } from 'framer-motion';
4
4
  import BondRow from './BondRow.js';
5
5
  import { formatNumberSI } from '../../../../utils/formatNumber.js';
6
- import Svg from '../../../../components/uikit-sdk/Svg/index.js';
7
6
  import Flex from '../../../../components/uikit-sdk/Flex/index.js';
8
- import 'theme-ui';
9
- import '../../../../components/uikit-sdk/Text/types.js';
10
- import '../../../../components/uikit-sdk/Checkbox/types.js';
11
- import '../../../../components/uikit-sdk/Skeleton/types.js';
12
- import '../../../../components/uikit-sdk/Skeleton/styles.js';
13
- import '../../../../components/uikit-sdk/TooltipBubble/index.js';
14
- import '../../../../components/uikit-sdk/Button/types.js';
15
- import '../../../../components/uikit-sdk/Svg/types.js';
16
- import '../../../../contexts/ModalContext.js';
17
- import '../../../FullBondsView/FullBondsView.js';
18
- import '../../../../components/uikit-sdk/Select/types.js';
19
- import '../../../../utils/campaignStyles.js';
7
+ import Svg from '../../../../components/uikit-sdk/Svg/index.js';
20
8
 
21
9
  const SoldOutRows = ({ bonds }) => {
22
10
  const bond = bonds[0];
@@ -1 +1 @@
1
- {"version":3,"file":"SoldOutRows.js","sources":["../../../../../src/views/Bonds/components/BondRows/SoldOutRows.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { BaseBondConfig, BillsConfig, MarketingCampaign } from '@ape.swap/apeswap-lists'\nimport { AnimatePresence, motion } from 'framer-motion'\nimport BondRow from './BondRow'\nimport { formatNumberSI } from '../../../../utils/formatNumber'\nimport { BondsData } from '../../../../types/bonds'\nimport { Flex, Svg } from '../../../../components/uikit-sdk'\n\nconst SoldOutRows = ({ bonds }: { bonds: (BondsData | BaseBondConfig)[] }) => {\n const bond = bonds[0] as BaseBondConfig\n const [isOpen, setIsOpen] = useState(false)\n return (\n <AnimatePresence initial={false}>\n <Flex sx={{ cursor: 'pointer' }} onClick={() => setIsOpen(!isOpen)}>\n <BondRow\n key={`${bond.contractAddress[bond.chainId]}-${bond.chainId}`}\n bondAddress={bond.contractAddress?.[bond.chainId] as string}\n marketingCampaign={bond.marketingCampaign as MarketingCampaign}\n bondChain={bond.chainId}\n payoutToken={bond.earnToken}\n billType={bond.billType}\n tag={bond.tags?.[0]}\n bondSoldOut={true}\n percentageAvailable={100}\n remainingTokensString={`${formatNumberSI(0, 0)} ${bond.earnToken.symbol} ($${formatNumberSI(0, 2)})`}\n vestingTermString=\"-\"\n projectURL={bond.projectLink}\n twitterURL={bond.twitter}\n shortDescription={bond.shortDescription}\n soldoutBondsCount={bonds.length > 1 ? bonds.length : undefined}\n isOpen={isOpen}\n />\n </Flex>\n {bonds.length > 1 &&\n isOpen &&\n bonds\n .sort((a: BillsConfig, b: BillsConfig) => (b?.initTime?.[b.chainId] ?? 0) - (a?.initTime?.[a.chainId] ?? 0))\n .map((bond) => {\n return (\n <motion.div\n initial={{ height: 0, overflow: 'hidden' }}\n animate={{ height: 'fit-content', overflow: 'hidden', transitionEnd: { overflow: 'visible' } }}\n exit={{ height: 0, overflow: 'hidden' }}\n sx={{\n position: 'relative',\n overflow: 'hidden',\n width: '100%',\n marginTop: '0px',\n }}\n key={`${bond.contractAddress[bond.chainId]}-${bond.chainId}`}\n className=\"bonds-card-container\"\n >\n <Flex sx={{ cursor: 'pointer' }} onClick={() => setIsOpen(!isOpen)}>\n <Flex sx={{ alignItems: 'center', pb: '10px' }}>\n <Svg icon=\"turnArrow\" direction={'up'} />\n </Flex>\n <BondRow\n bondAddress={bond.contractAddress?.[bond.chainId] as string}\n marketingCampaign={bond.marketingCampaign as MarketingCampaign}\n bondChain={bond.chainId}\n payoutToken={bond.earnToken}\n billType={bond.billType}\n tag={bond.tags?.[0]}\n bondSoldOut={true}\n percentageAvailable={100}\n remainingTokensString={`${formatNumberSI(0, 0)} ${bond.earnToken.symbol} ($${formatNumberSI(0, 2)})`}\n vestingTermString=\"-\"\n projectURL={bond.projectLink}\n twitterURL={bond.twitter}\n shortDescription={bond.shortDescription}\n />\n </Flex>\n </motion.div>\n )\n })}\n </AnimatePresence>\n )\n}\n\nexport default SoldOutRows\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"SoldOutRows.js","sources":["../../../../../src/views/Bonds/components/BondRows/SoldOutRows.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { BaseBondConfig, BillsConfig, MarketingCampaign } from '@ape.swap/apeswap-lists'\nimport { AnimatePresence, motion } from 'framer-motion'\nimport BondRow from './BondRow'\nimport { formatNumberSI } from '../../../../utils/formatNumber'\nimport { BondsData } from '../../../../types/bonds'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport Svg from '../../../../components/uikit-sdk/Svg'\n\nconst SoldOutRows = ({ bonds }: { bonds: (BondsData | BaseBondConfig)[] }) => {\n const bond = bonds[0] as BaseBondConfig\n const [isOpen, setIsOpen] = useState(false)\n return (\n <AnimatePresence initial={false}>\n <Flex sx={{ cursor: 'pointer' }} onClick={() => setIsOpen(!isOpen)}>\n <BondRow\n key={`${bond.contractAddress[bond.chainId]}-${bond.chainId}`}\n bondAddress={bond.contractAddress?.[bond.chainId] as string}\n marketingCampaign={bond.marketingCampaign as MarketingCampaign}\n bondChain={bond.chainId}\n payoutToken={bond.earnToken}\n billType={bond.billType}\n tag={bond.tags?.[0]}\n bondSoldOut={true}\n percentageAvailable={100}\n remainingTokensString={`${formatNumberSI(0, 0)} ${bond.earnToken.symbol} ($${formatNumberSI(0, 2)})`}\n vestingTermString=\"-\"\n projectURL={bond.projectLink}\n twitterURL={bond.twitter}\n shortDescription={bond.shortDescription}\n soldoutBondsCount={bonds.length > 1 ? bonds.length : undefined}\n isOpen={isOpen}\n />\n </Flex>\n {bonds.length > 1 &&\n isOpen &&\n bonds\n .sort((a: BillsConfig, b: BillsConfig) => (b?.initTime?.[b.chainId] ?? 0) - (a?.initTime?.[a.chainId] ?? 0))\n .map((bond) => {\n return (\n <motion.div\n initial={{ height: 0, overflow: 'hidden' }}\n animate={{ height: 'fit-content', overflow: 'hidden', transitionEnd: { overflow: 'visible' } }}\n exit={{ height: 0, overflow: 'hidden' }}\n sx={{\n position: 'relative',\n overflow: 'hidden',\n width: '100%',\n marginTop: '0px',\n }}\n key={`${bond.contractAddress[bond.chainId]}-${bond.chainId}`}\n className=\"bonds-card-container\"\n >\n <Flex sx={{ cursor: 'pointer' }} onClick={() => setIsOpen(!isOpen)}>\n <Flex sx={{ alignItems: 'center', pb: '10px' }}>\n <Svg icon=\"turnArrow\" direction={'up'} />\n </Flex>\n <BondRow\n bondAddress={bond.contractAddress?.[bond.chainId] as string}\n marketingCampaign={bond.marketingCampaign as MarketingCampaign}\n bondChain={bond.chainId}\n payoutToken={bond.earnToken}\n billType={bond.billType}\n tag={bond.tags?.[0]}\n bondSoldOut={true}\n percentageAvailable={100}\n remainingTokensString={`${formatNumberSI(0, 0)} ${bond.earnToken.symbol} ($${formatNumberSI(0, 2)})`}\n vestingTermString=\"-\"\n projectURL={bond.projectLink}\n twitterURL={bond.twitter}\n shortDescription={bond.shortDescription}\n />\n </Flex>\n </motion.div>\n )\n })}\n </AnimatePresence>\n )\n}\n\nexport default SoldOutRows\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -1,20 +1,7 @@
1
1
  import { jsxs, jsx } from 'theme-ui/jsx-runtime';
2
- import { Flex } from 'theme-ui';
3
2
  import Input from '../../../../components/uikit-sdk/Input/Input.js';
4
3
  import Svg from '../../../../components/uikit-sdk/Svg/index.js';
5
- import '../../../../components/uikit-sdk/Text/types.js';
6
- import '../../../../components/uikit-sdk/Checkbox/types.js';
7
- import '../../../../components/uikit-sdk/Skeleton/types.js';
8
- import '../../../../components/uikit-sdk/Skeleton/styles.js';
9
- import '../../../../components/uikit-sdk/TooltipBubble/index.js';
10
- import 'react';
11
- import 'framer-motion';
12
- import '../../../../components/uikit-sdk/Button/types.js';
13
- import '../../../../components/uikit-sdk/Svg/types.js';
14
- import '../../../../contexts/ModalContext.js';
15
- import '../../../FullBondsView/FullBondsView.js';
16
- import '../../../../components/uikit-sdk/Select/types.js';
17
- import '../../../../utils/campaignStyles.js';
4
+ import Flex from '../../../../components/uikit-sdk/Flex/index.js';
18
5
  import FavIcon from '../../../../components/FavIcons/FavFilter.js';
19
6
  import BondFilters from '../../../../components/BondFilters/BondFilters.js';
20
7
  import { useSDKConfig } from '../../../../state/useSDKConfig.js';
@@ -1 +1 @@
1
- {"version":3,"file":"BondsMenu.js","sources":["../../../../../src/views/Bonds/components/BondsMenu/BondsMenu.tsx"],"sourcesContent":["import React from 'react'\nimport { Flex } from 'theme-ui'\nimport { Input } from '../../../../components/uikit-sdk/Input'\nimport { Svg } from '../../../../components/uikit-sdk'\nimport FavIcon from '../../../../components/FavIcons/FavFilter'\nimport BondFilters from '../../../../components/BondFilters/BondFilters'\nimport { useSDKConfig } from '../../../../state/useSDKConfig'\n\ninterface BondRowHeaderProps {\n searchQuery: string\n setSearchQuery: (value: string) => void\n setChainFilterOption: (newValue: string[]) => void\n chainFilterOption: string[]\n filterOptions: string[]\n filterOption: string\n setFilterOption: (newOption: string) => void\n onSort: (key: 'bonus' | 'arr' | 'terms' | 'tokensRemaining') => void\n}\n\nconst BondsMenu: React.FC<BondRowHeaderProps> = ({\n searchQuery,\n setSearchQuery,\n setChainFilterOption,\n chainFilterOption,\n filterOptions,\n filterOption,\n setFilterOption,\n onSort,\n}) => {\n const { namingPreference } = useSDKConfig()\n return (\n <div className=\"bonds-menu\">\n <BondFilters\n chainFilterOption={chainFilterOption ?? ['All Chains']}\n setChainFilterOption={setChainFilterOption}\n filterOptions={filterOptions}\n filterOption={filterOption}\n setFilterOption={setFilterOption}\n onHandleQueryChange={() => setSearchQuery('')}\n />\n <div className=\"table-header-container\">\n <div className=\"search-container\">\n <Flex sx={{ width: '100%', maxWidth: '340px' }}>\n <Input\n value={searchQuery}\n onChange={(event: React.ChangeEvent<HTMLInputElement>) => setSearchQuery(event.target.value)}\n variant=\"search\"\n width={'100%'}\n sx={{\n fontWeight: 600,\n background: 'white2',\n height: '30px',\n fontSize: '14px',\n color: 'white',\n width: ['calc(50vw - 25px)'],\n }}\n placeholder={'Search...'}\n />\n <FavIcon filterOption={filterOption} setFilterOption={setFilterOption} />\n </Flex>\n </div>\n <div className=\"headers-container\">\n <Flex sx={{ width: '125px' }} />\n <div className=\"discount-header\" onClick={() => onSort('bonus')}>\n {namingPreference.toUpperCase()}\n <Flex sx={{ ml: '5px', mb: '3px' }}>\n <Svg icon=\"sort\" width={10} color=\"textDisabledButton\" />\n </Flex>\n </div>\n <div className=\"terms-header\" onClick={() => onSort('terms')}>\n TERMS\n <Flex sx={{ ml: '5px', mb: '3px' }}>\n <Svg icon=\"sort\" width=\"12px\" color=\"textDisabledButton\" />\n </Flex>\n </div>\n <div className=\"tokens-remaining-header\" onClick={() => onSort('tokensRemaining')}>\n TOKENS REMAINING\n <Flex sx={{ ml: '5px', mb: '3px' }}>\n <Svg icon=\"sort\" width=\"12px\" color=\"textDisabledButton\" />\n </Flex>\n </div>\n <div className=\"tooltip-header\" />\n </div>\n </div>\n </div>\n )\n}\n\nexport default BondsMenu\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"BondsMenu.js","sources":["../../../../../src/views/Bonds/components/BondsMenu/BondsMenu.tsx"],"sourcesContent":["import React from 'react'\nimport Input from '../../../../components/uikit-sdk/Input/Input'\nimport Svg from '../../../../components/uikit-sdk/Svg'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport FavIcon from '../../../../components/FavIcons/FavFilter'\nimport BondFilters from '../../../../components/BondFilters/BondFilters'\nimport { useSDKConfig } from '../../../../state/useSDKConfig'\n\ninterface BondRowHeaderProps {\n searchQuery: string\n setSearchQuery: (value: string) => void\n setChainFilterOption: (newValue: string[]) => void\n chainFilterOption: string[]\n filterOptions: string[]\n filterOption: string\n setFilterOption: (newOption: string) => void\n onSort: (key: 'bonus' | 'arr' | 'terms' | 'tokensRemaining') => void\n}\n\nconst BondsMenu: React.FC<BondRowHeaderProps> = ({\n searchQuery,\n setSearchQuery,\n setChainFilterOption,\n chainFilterOption,\n filterOptions,\n filterOption,\n setFilterOption,\n onSort,\n}) => {\n const { namingPreference } = useSDKConfig()\n return (\n <div className=\"bonds-menu\">\n <BondFilters\n chainFilterOption={chainFilterOption ?? ['All Chains']}\n setChainFilterOption={setChainFilterOption}\n filterOptions={filterOptions}\n filterOption={filterOption}\n setFilterOption={setFilterOption}\n onHandleQueryChange={() => setSearchQuery('')}\n />\n <div className=\"table-header-container\">\n <div className=\"search-container\">\n <Flex sx={{ width: '100%', maxWidth: '340px' }}>\n <Input\n value={searchQuery}\n onChange={(event: React.ChangeEvent<HTMLInputElement>) => setSearchQuery(event.target.value)}\n variant=\"search\"\n width={'100%'}\n sx={{\n fontWeight: 600,\n background: 'white2',\n height: '30px',\n fontSize: '14px',\n color: 'white',\n width: ['calc(50vw - 25px)'],\n }}\n placeholder={'Search...'}\n />\n <FavIcon filterOption={filterOption} setFilterOption={setFilterOption} />\n </Flex>\n </div>\n <div className=\"headers-container\">\n <Flex sx={{ width: '125px' }} />\n <div className=\"discount-header\" onClick={() => onSort('bonus')}>\n {namingPreference.toUpperCase()}\n <Flex sx={{ ml: '5px', mb: '3px' }}>\n <Svg icon=\"sort\" width={10} color=\"textDisabledButton\" />\n </Flex>\n </div>\n <div className=\"terms-header\" onClick={() => onSort('terms')}>\n TERMS\n <Flex sx={{ ml: '5px', mb: '3px' }}>\n <Svg icon=\"sort\" width=\"12px\" color=\"textDisabledButton\" />\n </Flex>\n </div>\n <div className=\"tokens-remaining-header\" onClick={() => onSort('tokensRemaining')}>\n TOKENS REMAINING\n <Flex sx={{ ml: '5px', mb: '3px' }}>\n <Svg icon=\"sort\" width=\"12px\" color=\"textDisabledButton\" />\n </Flex>\n </div>\n <div className=\"tooltip-header\" />\n </div>\n </div>\n </div>\n )\n}\n\nexport default BondsMenu\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -1,25 +1,13 @@
1
1
  import { jsx, jsxs, Fragment } from 'theme-ui/jsx-runtime';
2
- import Svg from '../../../../components/uikit-sdk/Svg/index.js';
3
- import Flex from '../../../../components/uikit-sdk/Flex/index.js';
4
- import 'theme-ui';
5
- import '../../../../components/uikit-sdk/Text/types.js';
6
- import '../../../../components/uikit-sdk/Checkbox/types.js';
7
- import '../../../../components/uikit-sdk/Skeleton/types.js';
8
- import '../../../../components/uikit-sdk/Skeleton/styles.js';
9
- import TooltipBubble from '../../../../components/uikit-sdk/TooltipBubble/index.js';
10
- import 'react';
11
- import 'framer-motion';
12
- import '../../../../components/uikit-sdk/Button/types.js';
13
- import '../../../../components/uikit-sdk/Svg/types.js';
14
- import '../../../../contexts/ModalContext.js';
15
- import '../../../FullBondsView/FullBondsView.js';
16
- import '../../../../components/uikit-sdk/Select/types.js';
17
- import '../../../../utils/campaignStyles.js';
18
2
  import { BigNumber } from 'bignumber.js';
19
3
  import BonusTable from './BonusTable.js';
20
4
  import { useSDKConfig } from '../../../../state/useSDKConfig.js';
21
- import { findHighestTrueBondPrice, getDiscountColor } from '../../utils.js';
5
+ import { getDiscountColor } from '../../utils.js';
6
+ import { findHighestTrueBondPrice } from '../../../../utils/bondPriceHelpers.js';
22
7
  import { useIsMobile } from '../../../../hooks/useIsMobile.js';
8
+ import Flex from '../../../../components/uikit-sdk/Flex/index.js';
9
+ import TooltipBubble from '../../../../components/uikit-sdk/TooltipBubble/index.js';
10
+ import Svg from '../../../../components/uikit-sdk/Svg/index.js';
23
11
 
24
12
  const BonusComponent = ({ trueBondPrices, minTier, bonus, airdropTooltip, tooltipPosition, }) => {
25
13
  const SDKConfig = useSDKConfig();
@@ -1 +1 @@
1
- {"version":3,"file":"BonusComponent.js","sources":["../../../../../src/views/Bonds/components/BonusComponents/BonusComponent.tsx"],"sourcesContent":["import React from 'react'\nimport { TrueBondPrices } from '../../../../types/bonds'\nimport { Flex, Svg, TooltipBubble } from '../../../../components/uikit-sdk'\nimport { BigNumber } from 'bignumber.js'\nimport BonusTable from './BonusTable'\nimport { useSDKConfig } from '../../../../state/useSDKConfig'\nimport { findHighestTrueBondPrice, getDiscountColor } from '../../utils'\nimport { LaunchBondTiers } from '@ape.swap/apeswap-lists'\nimport { useIsMobile } from '../../../../hooks/useIsMobile'\n\nconst BonusComponent = ({\n trueBondPrices,\n minTier,\n bonus,\n airdropTooltip,\n tooltipPosition,\n}: {\n trueBondPrices?: TrueBondPrices[]\n minTier?: LaunchBondTiers\n bonus?: string\n airdropTooltip?: string\n tooltipPosition: 'bottomRight' | 'bottomLeft'\n}) => {\n const SDKConfig = useSDKConfig()\n const isMobile = useIsMobile()\n const highestPointsElement = trueBondPrices?.reduce((max, current) => {\n return new BigNumber(current.points).isGreaterThan(new BigNumber(max.points)) ? current : max\n }, trueBondPrices[0])\n\n const baseTrueBondPrice = findHighestTrueBondPrice('0', trueBondPrices)\n\n return (\n <Flex>\n {trueBondPrices && trueBondPrices?.length > 1 && SDKConfig.useTiers ? (\n <Flex sx={{ alignItems: 'center', minWidth: '20px' }}>\n {highestPointsElement?.bonusWithFee && highestPointsElement?.bonusWithFee > 0 ? (\n <TooltipBubble\n width=\"280px\"\n placement={tooltipPosition}\n transformTip={tooltipPosition === 'bottomLeft' ? 'translate(0%, 0%)' : 'translate(0%, 0%)'}\n body={<BonusTable trueBondPrices={trueBondPrices} minTier={minTier} />}\n >\n <Flex\n sx={{\n p: '3px 6px',\n border: '1px solid #9960C5',\n borderRadius: 'normal',\n background: 'transparent',\n position: 'relative',\n overflow: 'hidden',\n cursor: 'pointer',\n width: ['130px', '130px', '150px', '150px'],\n }}\n >\n <Flex\n sx={{\n position: 'absolute',\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n zIndex: 1,\n background: '#9960C5',\n opacity: 0.2,\n }}\n />\n <Flex sx={{ width: '100%', zIndex: 2, alignItems: 'center', justifyContent: 'center' }}>\n <img\n src={`https://ape.bond/images/launch/mythical.png`}\n alt=\"minTier\"\n style={{ width: '21px', height: '21px', marginRight: '3px', zIndex: 1 }}\n />\n <Flex sx={{ fontSize: ['12px', '12px', '14px', '14px'], mr: '3px' }}>Up to</Flex>\n <Flex\n sx={{\n color:\n highestPointsElement?.bonusWithFee && highestPointsElement?.bonusWithFee > 0\n ? 'success'\n : 'error',\n fontSize: ['14px', '14px', '16px', '16px'],\n }}\n >\n {highestPointsElement?.bonusWithFee?.toFixed(2)}%\n </Flex>\n </Flex>\n </Flex>\n </TooltipBubble>\n ) : (\n <Flex sx={{ height: '20px', width: '20px' }}>\n <TooltipBubble\n body={'This bond is currently on cooldown and has no bonus. Please check back soon.'}\n width=\"205px\"\n placement=\"bottomRight\"\n transformTip=\"translate(10%, 0%)\"\n >\n <Svg icon=\"Timer\" width=\"20px\" color=\"#81CFEA\" />\n </TooltipBubble>\n </Flex>\n )}\n </Flex>\n ) : baseTrueBondPrice ? (\n <Flex\n sx={{ alignItems: 'center', minWidth: '20px' }}\n className={`${getDiscountColor(+baseTrueBondPrice?.bonusWithFee)}`}\n >\n {baseTrueBondPrice?.bonusWithFee > 0 ? (\n `${baseTrueBondPrice?.bonusWithFee?.toFixed(2)}%`\n ) : (\n <Flex sx={{ height: '20px', width: '20px' }}>\n <TooltipBubble\n body={'This bond is currently on cooldown and has no bonus. Please check back soon.'}\n width=\"205px\"\n placement=\"bottomRight\"\n transformTip=\"translate(10%, 0%)\"\n >\n <Svg icon=\"Timer\" width=\"20px\" color=\"#81CFEA\" />\n </TooltipBubble>\n </Flex>\n )}\n </Flex>\n ) : (\n <Flex sx={{ color: bonus && 'success', alignItems: 'center', minWidth: '20px' }}>\n {bonus || '-'}\n {airdropTooltip && (\n <TooltipBubble\n body={<>{airdropTooltip}</>}\n width=\"230px\"\n placement={isMobile ? 'bottomRight' : 'bottomLeft'}\n transformTip={isMobile ? 'translate(9%, 6%)' : 'translate(-3%, 6%)'}\n >\n <Flex sx={{ width: '20px', height: '20px', alignItems: 'center', ml: '5px' }}>\n <img\n src=\"https://res.cloudinary.com/dswmrqgwy/image/upload/v1750345773/airdrop_qvh4ow.png\"\n alt=\"airdrop-img\"\n style={{ width: '20px', height: '20px' }}\n />\n </Flex>\n </TooltipBubble>\n )}\n </Flex>\n )}\n </Flex>\n )\n}\n\nexport default BonusComponent\n"],"names":["_jsx","_jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"BonusComponent.js","sources":["../../../../../src/views/Bonds/components/BonusComponents/BonusComponent.tsx"],"sourcesContent":["import React from 'react'\nimport { TrueBondPrices } from '../../../../types/bonds'\nimport { BigNumber } from 'bignumber.js'\nimport BonusTable from './BonusTable'\nimport { useSDKConfig } from '../../../../state/useSDKConfig'\nimport { getDiscountColor } from '../../utils'\nimport { findHighestTrueBondPrice } from '../../../../utils/bondPriceHelpers'\nimport { LaunchBondTiers } from '@ape.swap/apeswap-lists'\nimport { useIsMobile } from '../../../../hooks/useIsMobile'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport TooltipBubble from '../../../../components/uikit-sdk/TooltipBubble'\nimport Svg from '../../../../components/uikit-sdk/Svg'\n\nconst BonusComponent = ({\n trueBondPrices,\n minTier,\n bonus,\n airdropTooltip,\n tooltipPosition,\n}: {\n trueBondPrices?: TrueBondPrices[]\n minTier?: LaunchBondTiers\n bonus?: string\n airdropTooltip?: string\n tooltipPosition: 'bottomRight' | 'bottomLeft'\n}) => {\n const SDKConfig = useSDKConfig()\n const isMobile = useIsMobile()\n const highestPointsElement = trueBondPrices?.reduce((max, current) => {\n return new BigNumber(current.points).isGreaterThan(new BigNumber(max.points)) ? current : max\n }, trueBondPrices[0])\n\n const baseTrueBondPrice = findHighestTrueBondPrice('0', trueBondPrices)\n\n return (\n <Flex>\n {trueBondPrices && trueBondPrices?.length > 1 && SDKConfig.useTiers ? (\n <Flex sx={{ alignItems: 'center', minWidth: '20px' }}>\n {highestPointsElement?.bonusWithFee && highestPointsElement?.bonusWithFee > 0 ? (\n <TooltipBubble\n width=\"280px\"\n placement={tooltipPosition}\n transformTip={tooltipPosition === 'bottomLeft' ? 'translate(0%, 0%)' : 'translate(0%, 0%)'}\n body={<BonusTable trueBondPrices={trueBondPrices} minTier={minTier} />}\n >\n <Flex\n sx={{\n p: '3px 6px',\n border: '1px solid #9960C5',\n borderRadius: 'normal',\n background: 'transparent',\n position: 'relative',\n overflow: 'hidden',\n cursor: 'pointer',\n width: ['130px', '130px', '150px', '150px'],\n }}\n >\n <Flex\n sx={{\n position: 'absolute',\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n zIndex: 1,\n background: '#9960C5',\n opacity: 0.2,\n }}\n />\n <Flex sx={{ width: '100%', zIndex: 2, alignItems: 'center', justifyContent: 'center' }}>\n <img\n src={`https://ape.bond/images/launch/mythical.png`}\n alt=\"minTier\"\n style={{ width: '21px', height: '21px', marginRight: '3px', zIndex: 1 }}\n />\n <Flex sx={{ fontSize: ['12px', '12px', '14px', '14px'], mr: '3px' }}>Up to</Flex>\n <Flex\n sx={{\n color:\n highestPointsElement?.bonusWithFee && highestPointsElement?.bonusWithFee > 0\n ? 'success'\n : 'error',\n fontSize: ['14px', '14px', '16px', '16px'],\n }}\n >\n {highestPointsElement?.bonusWithFee?.toFixed(2)}%\n </Flex>\n </Flex>\n </Flex>\n </TooltipBubble>\n ) : (\n <Flex sx={{ height: '20px', width: '20px' }}>\n <TooltipBubble\n body={'This bond is currently on cooldown and has no bonus. Please check back soon.'}\n width=\"205px\"\n placement=\"bottomRight\"\n transformTip=\"translate(10%, 0%)\"\n >\n <Svg icon=\"Timer\" width=\"20px\" color=\"#81CFEA\" />\n </TooltipBubble>\n </Flex>\n )}\n </Flex>\n ) : baseTrueBondPrice ? (\n <Flex\n sx={{ alignItems: 'center', minWidth: '20px' }}\n className={`${getDiscountColor(+baseTrueBondPrice?.bonusWithFee)}`}\n >\n {baseTrueBondPrice?.bonusWithFee > 0 ? (\n `${baseTrueBondPrice?.bonusWithFee?.toFixed(2)}%`\n ) : (\n <Flex sx={{ height: '20px', width: '20px' }}>\n <TooltipBubble\n body={'This bond is currently on cooldown and has no bonus. Please check back soon.'}\n width=\"205px\"\n placement=\"bottomRight\"\n transformTip=\"translate(10%, 0%)\"\n >\n <Svg icon=\"Timer\" width=\"20px\" color=\"#81CFEA\" />\n </TooltipBubble>\n </Flex>\n )}\n </Flex>\n ) : (\n <Flex sx={{ color: bonus && 'success', alignItems: 'center', minWidth: '20px' }}>\n {bonus || '-'}\n {airdropTooltip && (\n <TooltipBubble\n body={<>{airdropTooltip}</>}\n width=\"230px\"\n placement={isMobile ? 'bottomRight' : 'bottomLeft'}\n transformTip={isMobile ? 'translate(9%, 6%)' : 'translate(-3%, 6%)'}\n >\n <Flex sx={{ width: '20px', height: '20px', alignItems: 'center', ml: '5px' }}>\n <img\n src=\"https://res.cloudinary.com/dswmrqgwy/image/upload/v1750345773/airdrop_qvh4ow.png\"\n alt=\"airdrop-img\"\n style={{ width: '20px', height: '20px' }}\n />\n </Flex>\n </TooltipBubble>\n )}\n </Flex>\n )}\n </Flex>\n )\n}\n\nexport default BonusComponent\n"],"names":["_jsx","_jsxs"],"mappings":"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"}
@@ -1,24 +1,10 @@
1
1
  import { jsxs, jsx } from 'theme-ui/jsx-runtime';
2
- import '../../../../components/uikit-sdk/Svg/types.js';
3
2
  import Flex from '../../../../components/uikit-sdk/Flex/index.js';
4
- import 'theme-ui';
5
- import '../../../../components/uikit-sdk/Text/types.js';
6
- import '../../../../components/uikit-sdk/Checkbox/types.js';
7
- import '../../../../components/uikit-sdk/Skeleton/types.js';
8
- import '../../../../components/uikit-sdk/Skeleton/styles.js';
9
- import '../../../../components/uikit-sdk/TooltipBubble/index.js';
10
- import 'react';
11
- import 'framer-motion';
12
3
  import Button from '../../../../components/uikit-sdk/Button/Button.js';
13
- import '../../../../components/uikit-sdk/Button/types.js';
14
- import '../../../../contexts/ModalContext.js';
15
- import '../../../FullBondsView/FullBondsView.js';
16
- import '../../../../components/uikit-sdk/Select/types.js';
17
- import '../../../../utils/campaignStyles.js';
18
4
  import useTierPoints, { getUserTier, TIERS_COLORS, TIERS_NAMES } from '../../../../state/tiers/useTierPoints.js';
19
5
  import { BigNumber } from 'bignumber.js';
20
6
  import YouTooltip from '../../../../components/YouTooltip/YouTooltip.js';
21
- import { findHighestTrueBondPrice } from '../../utils.js';
7
+ import { findHighestTrueBondPrice } from '../../../../utils/bondPriceHelpers.js';
22
8
 
23
9
  const BonusTable = ({ trueBondPrices, minTier, hideTitle, }) => {
24
10
  const { data: userPoints } = useTierPoints();
@@ -1 +1 @@
1
- {"version":3,"file":"BonusTable.js","sources":["../../../../../src/views/Bonds/components/BonusComponents/BonusTable.tsx"],"sourcesContent":["import React from 'react'\nimport { Button, Flex } from '../../../../components/uikit-sdk'\nimport useTierPoints, { getUserTier, TIERS_COLORS, TIERS_NAMES } from '../../../../state/tiers/useTierPoints'\nimport { BigNumber } from 'bignumber.js'\nimport { TrueBondPrices } from '../../../../types/bonds'\nimport { LaunchBondTiers } from '@ape.swap/apeswap-lists'\nimport YouTooltip from '../../../../components/YouTooltip/YouTooltip'\nimport { findHighestTrueBondPrice } from '../../utils'\n\nconst BonusTable = ({\n trueBondPrices,\n minTier,\n hideTitle,\n}: {\n trueBondPrices?: TrueBondPrices[]\n minTier?: LaunchBondTiers\n hideTitle?: boolean\n}) => {\n const { data: userPoints } = useTierPoints()\n const usersTrueBondPrices = findHighestTrueBondPrice(userPoints, trueBondPrices)\n\n return (\n <Flex sx={{ width: '100%', flexDirection: 'column' }}>\n {!hideTitle && <Flex sx={{ width: '100%', justifyContent: 'center', mb: '10px' }}>Ape Tier Bonuses</Flex>}\n {trueBondPrices\n ?.sort((a, b) => new BigNumber(b.points).minus(new BigNumber(a.points)).toNumber())\n .map((tier) => {\n const tierToUse = getUserTier(tier.points) as LaunchBondTiers\n //@ts-ignore\n const tierName = `${TIERS_NAMES[tierToUse!]}`\n const you = tier.points === usersTrueBondPrices?.points\n // @ts-ignore\n const isUnavailable = minTier ? minTier > tierToUse || (minTier === 0 && tier.points === '0') : false\n return (\n <Flex\n sx={{\n width: '100%',\n justifyContent: 'space-between',\n height: '30px',\n //@ts-ignore\n background: TIERS_COLORS[tierToUse] ?? 'white3',\n borderRadius: 'normal',\n alignItems: 'center',\n px: '8px',\n mb: '1px',\n }}\n key={tier.points}\n >\n <Flex sx={{ alignItems: 'center' }}>\n {tier.points !== '0' && (\n <img\n //@ts-ignore\n src={`https://ape.bond/images/launch/${TIERS_NAMES[tierToUse]?.toLowerCase()}.png`}\n alt=\"minTier\"\n style={{ width: '21px', height: '21px', marginRight: '3px', zIndex: 1 }}\n />\n )}\n <Flex>{tier.points === '0' ? 'No Tier' : tierName}</Flex>\n {you && <YouTooltip />}\n </Flex>\n {isUnavailable ? (\n <Flex sx={{ fontWeight: 600, opacity: 0.8 }}>UNAVAILABLE</Flex>\n ) : (\n <Flex sx={{ color: tier.bonusWithFee > 0 ? 'success' : 'text', fontWeight: 700, alignItems: 'center' }}>\n {tier.bonusWithFee > 0 ? tier.bonusWithFee.toFixed(2) : '0'}%\n {tier.points !== '0' && (\n <Flex\n sx={{\n borderRadius: 'normal',\n border: '1px solid var(--theme-ui-colors-success)',\n px: '4px',\n ml: '3px',\n color: 'success',\n }}\n >\n {`+${tier?.boost ?? 0}%`}\n </Flex>\n )}\n </Flex>\n )}\n </Flex>\n )\n })}\n {!hideTitle && (\n <Button\n variant=\"secondary\"\n sx={{ width: '100%', mt: '10px' }}\n onClick={() => window.open('https://www.ape.bond/true-yield?createPosition', '_blank')}\n >\n get tier\n </Button>\n )}\n </Flex>\n )\n}\n\nexport default BonusTable\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"BonusTable.js","sources":["../../../../../src/views/Bonds/components/BonusComponents/BonusTable.tsx"],"sourcesContent":["import React from 'react'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport Button from '../../../../components/uikit-sdk/Button/Button'\nimport useTierPoints, { getUserTier, TIERS_COLORS, TIERS_NAMES } from '../../../../state/tiers/useTierPoints'\nimport { BigNumber } from 'bignumber.js'\nimport { TrueBondPrices } from '../../../../types/bonds'\nimport { LaunchBondTiers } from '@ape.swap/apeswap-lists'\nimport YouTooltip from '../../../../components/YouTooltip/YouTooltip'\nimport { findHighestTrueBondPrice } from '../../../../utils/bondPriceHelpers'\n\nconst BonusTable = ({\n trueBondPrices,\n minTier,\n hideTitle,\n}: {\n trueBondPrices?: TrueBondPrices[]\n minTier?: LaunchBondTiers\n hideTitle?: boolean\n}) => {\n const { data: userPoints } = useTierPoints()\n const usersTrueBondPrices = findHighestTrueBondPrice(userPoints, trueBondPrices)\n\n return (\n <Flex sx={{ width: '100%', flexDirection: 'column' }}>\n {!hideTitle && <Flex sx={{ width: '100%', justifyContent: 'center', mb: '10px' }}>Ape Tier Bonuses</Flex>}\n {trueBondPrices\n ?.sort((a, b) => new BigNumber(b.points).minus(new BigNumber(a.points)).toNumber())\n .map((tier) => {\n const tierToUse = getUserTier(tier.points) as LaunchBondTiers\n //@ts-ignore\n const tierName = `${TIERS_NAMES[tierToUse!]}`\n const you = tier.points === usersTrueBondPrices?.points\n // @ts-ignore\n const isUnavailable = minTier ? minTier > tierToUse || (minTier === 0 && tier.points === '0') : false\n return (\n <Flex\n sx={{\n width: '100%',\n justifyContent: 'space-between',\n height: '30px',\n //@ts-ignore\n background: TIERS_COLORS[tierToUse] ?? 'white3',\n borderRadius: 'normal',\n alignItems: 'center',\n px: '8px',\n mb: '1px',\n }}\n key={tier.points}\n >\n <Flex sx={{ alignItems: 'center' }}>\n {tier.points !== '0' && (\n <img\n //@ts-ignore\n src={`https://ape.bond/images/launch/${TIERS_NAMES[tierToUse]?.toLowerCase()}.png`}\n alt=\"minTier\"\n style={{ width: '21px', height: '21px', marginRight: '3px', zIndex: 1 }}\n />\n )}\n <Flex>{tier.points === '0' ? 'No Tier' : tierName}</Flex>\n {you && <YouTooltip />}\n </Flex>\n {isUnavailable ? (\n <Flex sx={{ fontWeight: 600, opacity: 0.8 }}>UNAVAILABLE</Flex>\n ) : (\n <Flex sx={{ color: tier.bonusWithFee > 0 ? 'success' : 'text', fontWeight: 700, alignItems: 'center' }}>\n {tier.bonusWithFee > 0 ? tier.bonusWithFee.toFixed(2) : '0'}%\n {tier.points !== '0' && (\n <Flex\n sx={{\n borderRadius: 'normal',\n border: '1px solid var(--theme-ui-colors-success)',\n px: '4px',\n ml: '3px',\n color: 'success',\n }}\n >\n {`+${tier?.boost ?? 0}%`}\n </Flex>\n )}\n </Flex>\n )}\n </Flex>\n )\n })}\n {!hideTitle && (\n <Button\n variant=\"secondary\"\n sx={{ width: '100%', mt: '10px' }}\n onClick={() => window.open('https://www.ape.bond/true-yield?createPosition', '_blank')}\n >\n get tier\n </Button>\n )}\n </Flex>\n )\n}\n\nexport default BonusTable\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -3,19 +3,7 @@ import { useMemo } from 'react';
3
3
  import { isBondSoldOut } from '../../utils.js';
4
4
  import { AnimatePresence, motion } from 'framer-motion';
5
5
  import useBondsData from '../../../../state/bonds/useBondsData.js';
6
- import '../../../../components/uikit-sdk/Svg/types.js';
7
6
  import Flex from '../../../../components/uikit-sdk/Flex/index.js';
8
- import 'theme-ui';
9
- import '../../../../components/uikit-sdk/Text/types.js';
10
- import '../../../../components/uikit-sdk/Checkbox/types.js';
11
- import '../../../../components/uikit-sdk/Skeleton/types.js';
12
- import '../../../../components/uikit-sdk/Skeleton/styles.js';
13
- import '../../../../components/uikit-sdk/TooltipBubble/index.js';
14
- import '../../../../components/uikit-sdk/Button/types.js';
15
- import '../../../../contexts/ModalContext.js';
16
- import '../../../FullBondsView/FullBondsView.js';
17
- import '../../../../components/uikit-sdk/Select/types.js';
18
- import '../../../../utils/campaignStyles.js';
19
7
  import BondRow from '../BondRows/BondRow.js';
20
8
  import track from '../../../../utils/track.js';
21
9
  import { useSDKConfig } from '../../../../state/useSDKConfig.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/views/Bonds/components/BuyAgainRow/index.tsx"],"sourcesContent":["import React, { useMemo } from 'react'\nimport { isBondSoldOut } from '../../utils'\nimport { AnimatePresence, motion } from 'framer-motion'\nimport useBondsData from '../../../../state/bonds/useBondsData'\nimport { Flex } from '../../../../components/uikit-sdk'\nimport BondRow from '../BondRows/BondRow'\nimport track from '../../../../utils/track'\nimport { useSDKConfig } from '../../../../state/useSDKConfig'\nimport { BondsData } from '../../../../types/bonds'\nimport { BillsConfig } from '@ape.swap/apeswap-lists'\nimport { formatNumberSI } from '../../../../utils/formatNumber'\nimport BigNumber from 'bignumber.js'\nimport {\n getVestingTermsString,\n getVestingTermsTooltipString,\n remainingPercentage,\n} from '../../../../utils/displayHelpers'\n\nconst BuyAgainRow = () => {\n const { data: bills } = useBondsData()\n const SDKConfig = useSDKConfig()\n const highlightedBond = SDKConfig.highlightedBond\n const chains = SDKConfig?.chains as number[]\n\n const bond = useMemo(\n () =>\n bills?.find(\n (bill) =>\n bill.earnToken.symbol.toLowerCase() === highlightedBond?.toLowerCase() &&\n !bill.soldOut &&\n chains.includes(bill.chainId),\n ),\n [bills, chains, highlightedBond],\n )\n\n const bondAddress = bond?.contractAddress?.[bond.chainId]\n\n const remainingTokensFormat = (bond: BondsData | BillsConfig): string => {\n const tokensRemaining = 'tokensRemaining' in bond ? bond.tokensRemaining : '0'\n return formatNumberSI(parseFloat(tokensRemaining ?? '0'), 0)\n }\n\n const remainingTokensUsd = (bond: BondsData | BillsConfig): BigNumber => {\n const tokensRemaining = 'tokensRemaining' in bond ? bond.tokensRemaining : '0'\n const payoutTokenPrice = 'payoutTokenPrice' in bond ? bond.payoutTokenPrice : 0\n const tokens = new BigNumber(tokensRemaining ?? '0')\n return tokens.times(payoutTokenPrice ?? '0')\n }\n\n const remainingTokensString = bond\n ? `${remainingTokensFormat(bond)} ${bond.earnToken.symbol} ($${formatNumberSI(remainingTokensUsd(bond).toNumber())})`\n : ''\n\n return bond ? (\n <AnimatePresence>\n <motion.div\n initial={{ height: 0, overflow: 'hidden' }}\n animate={{ height: 'fit-content', overflow: 'hidden', transitionEnd: { overflow: 'visible' } }}\n exit={{ height: 0, overflow: 'hidden' }}\n sx={{\n position: 'relative',\n overflow: 'hidden',\n width: '100%',\n mb: '10px',\n }}\n >\n <Flex\n sx={{\n p: '0 1px',\n width: '100%',\n pt: '5px',\n background: 'primaryButton',\n borderRadius: 'normal',\n flexDirection: 'column',\n opacity: 0.5,\n }}\n >\n <Flex\n className=\"buy-again-header\"\n sx={{\n width: '100%',\n fontSize: '12px',\n fontWeight: 500,\n pl: '26px',\n color: 'primaryBright',\n height: '91px',\n }}\n >\n BOND SPOTLIGHT\n </Flex>\n </Flex>\n <Flex\n onClick={() => {\n track({\n event: 'buyAgainClick',\n chain: bond.chainId,\n data: {\n bond: bond.earnToken.symbol,\n },\n })\n }}\n sx={{ position: 'absolute', top: '25px', left: '1px', width: 'calc(100% - 2px)' }}\n >\n <BondRow\n key={`${bondAddress}-${bond.chainId}`}\n bondAddress={bond?.contractAddress?.[bond?.chainId] as string}\n bondChain={bond.chainId}\n billType={bond.billType}\n payoutToken={bond.earnToken}\n tag={bond.tags?.[0]}\n bondSoldOut={isBondSoldOut(bond, SDKConfig.showLowValueBonds)}\n trueBondPrices={bond?.trueBondPrices}\n minTier={bond?.minTier}\n vestingTermString={getVestingTermsString(bond)}\n vestingCliffString={getVestingTermsTooltipString(bond)}\n percentageAvailable={remainingPercentage(bond)}\n remainingTokensString={remainingTokensString}\n />\n </Flex>\n </motion.div>\n </AnimatePresence>\n ) : null\n}\n\nexport default BuyAgainRow\n"],"names":["_jsx","_jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/views/Bonds/components/BuyAgainRow/index.tsx"],"sourcesContent":["import React, { useMemo } from 'react'\nimport { isBondSoldOut } from '../../utils'\nimport { AnimatePresence, motion } from 'framer-motion'\nimport useBondsData from '../../../../state/bonds/useBondsData'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport BondRow from '../BondRows/BondRow'\nimport track from '../../../../utils/track'\nimport { useSDKConfig } from '../../../../state/useSDKConfig'\nimport { BondsData } from '../../../../types/bonds'\nimport { BillsConfig } from '@ape.swap/apeswap-lists'\nimport { formatNumberSI } from '../../../../utils/formatNumber'\nimport BigNumber from 'bignumber.js'\nimport {\n getVestingTermsString,\n getVestingTermsTooltipString,\n remainingPercentage,\n} from '../../../../utils/displayHelpers'\n\nconst BuyAgainRow = () => {\n const { data: bills } = useBondsData()\n const SDKConfig = useSDKConfig()\n const highlightedBond = SDKConfig.highlightedBond\n const chains = SDKConfig?.chains as number[]\n\n const bond = useMemo(\n () =>\n bills?.find(\n (bill) =>\n bill.earnToken.symbol.toLowerCase() === highlightedBond?.toLowerCase() &&\n !bill.soldOut &&\n chains.includes(bill.chainId),\n ),\n [bills, chains, highlightedBond],\n )\n\n const bondAddress = bond?.contractAddress?.[bond.chainId]\n\n const remainingTokensFormat = (bond: BondsData | BillsConfig): string => {\n const tokensRemaining = 'tokensRemaining' in bond ? bond.tokensRemaining : '0'\n return formatNumberSI(parseFloat(tokensRemaining ?? '0'), 0)\n }\n\n const remainingTokensUsd = (bond: BondsData | BillsConfig): BigNumber => {\n const tokensRemaining = 'tokensRemaining' in bond ? bond.tokensRemaining : '0'\n const payoutTokenPrice = 'payoutTokenPrice' in bond ? bond.payoutTokenPrice : 0\n const tokens = new BigNumber(tokensRemaining ?? '0')\n return tokens.times(payoutTokenPrice ?? '0')\n }\n\n const remainingTokensString = bond\n ? `${remainingTokensFormat(bond)} ${bond.earnToken.symbol} ($${formatNumberSI(remainingTokensUsd(bond).toNumber())})`\n : ''\n\n return bond ? (\n <AnimatePresence>\n <motion.div\n initial={{ height: 0, overflow: 'hidden' }}\n animate={{ height: 'fit-content', overflow: 'hidden', transitionEnd: { overflow: 'visible' } }}\n exit={{ height: 0, overflow: 'hidden' }}\n sx={{\n position: 'relative',\n overflow: 'hidden',\n width: '100%',\n mb: '10px',\n }}\n >\n <Flex\n sx={{\n p: '0 1px',\n width: '100%',\n pt: '5px',\n background: 'primaryButton',\n borderRadius: 'normal',\n flexDirection: 'column',\n opacity: 0.5,\n }}\n >\n <Flex\n className=\"buy-again-header\"\n sx={{\n width: '100%',\n fontSize: '12px',\n fontWeight: 500,\n pl: '26px',\n color: 'primaryBright',\n height: '91px',\n }}\n >\n BOND SPOTLIGHT\n </Flex>\n </Flex>\n <Flex\n onClick={() => {\n track({\n event: 'buyAgainClick',\n chain: bond.chainId,\n data: {\n bond: bond.earnToken.symbol,\n },\n })\n }}\n sx={{ position: 'absolute', top: '25px', left: '1px', width: 'calc(100% - 2px)' }}\n >\n <BondRow\n key={`${bondAddress}-${bond.chainId}`}\n bondAddress={bond?.contractAddress?.[bond?.chainId] as string}\n bondChain={bond.chainId}\n billType={bond.billType}\n payoutToken={bond.earnToken}\n tag={bond.tags?.[0]}\n bondSoldOut={isBondSoldOut(bond, SDKConfig.showLowValueBonds)}\n trueBondPrices={bond?.trueBondPrices}\n minTier={bond?.minTier}\n vestingTermString={getVestingTermsString(bond)}\n vestingCliffString={getVestingTermsTooltipString(bond)}\n percentageAvailable={remainingPercentage(bond)}\n remainingTokensString={remainingTokensString}\n />\n </Flex>\n </motion.div>\n </AnimatePresence>\n ) : null\n}\n\nexport default BuyAgainRow\n"],"names":["_jsx","_jsxs"],"mappings":"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"}
@@ -1,20 +1,7 @@
1
1
  import { jsxs, jsx, Fragment } from 'theme-ui/jsx-runtime';
2
- import '../../../../components/uikit-sdk/Svg/types.js';
3
- import 'theme-ui';
4
- import '../../../../components/uikit-sdk/Text/types.js';
5
- import '../../../../components/uikit-sdk/Checkbox/types.js';
6
- import '../../../../components/uikit-sdk/Skeleton/types.js';
7
- import '../../../../components/uikit-sdk/Skeleton/styles.js';
8
- import '../../../../components/uikit-sdk/TooltipBubble/index.js';
9
- import 'react';
10
- import 'framer-motion';
11
2
  import Button from '../../../../components/uikit-sdk/Button/Button.js';
12
- import { variants } from '../../../../components/uikit-sdk/Button/types.js';
13
- import '../../../../contexts/ModalContext.js';
14
- import '../../../FullBondsView/FullBondsView.js';
15
- import '../../../../components/uikit-sdk/Select/types.js';
16
- import '../../../../utils/campaignStyles.js';
17
3
  import { ChainId } from '@ape.swap/apeswap-lists';
4
+ import { variants } from '../../../../components/uikit-sdk/Button/types.js';
18
5
  import { useWalletModal } from '@solana/wallet-adapter-react-ui';
19
6
  import useSOLAccount from '../../../../hooks/accounts/useSOLAccount.js';
20
7
 
@@ -1 +1 @@
1
- {"version":3,"file":"ChainBanner.js","sources":["../../../../../src/views/Bonds/components/ChainBanner/ChainBanner.tsx"],"sourcesContent":["import React from 'react'\nimport { Button } from '../../../../components/uikit-sdk'\nimport { ChainId } from '@ape.swap/apeswap-lists'\nimport { variants } from '../../../../components/uikit-sdk/Button/types'\nimport { useWalletModal } from '@solana/wallet-adapter-react-ui'\nimport useSOLAccount from '../../../../hooks/accounts/useSOLAccount'\n\ninterface ButtonInfo {\n label: string\n href: string\n variant?: variants\n background?: string\n}\n\ninterface BannerInfo {\n title: string\n subtitle: string\n buttons: ButtonInfo[]\n background: string\n backgroundMobile: string\n logo: string\n}\n\nconst BANNER_INFO: Partial<Record<ChainId, BannerInfo>> = {\n [ChainId.MONAD]: {\n title: 'Monad Mainnet Bonds',\n subtitle: 'Launch Coming Soon.',\n buttons: [\n {\n label: 'LEARN MORE',\n href: 'https://x.com/ApeBond/status/1995538519536578880?s=20',\n variant: variants.SECONDARY,\n },\n { label: 'Launch Yours', href: 'https://forms.clickup.com/3080492/f/2y09c-6585/O175DYTK4PMR6P4CZA' },\n ],\n background: 'https://res.cloudinary.com/dswmrqgwy/image/upload/v1/banner_jpkg38.png',\n backgroundMobile: 'https://res.cloudinary.com/dswmrqgwy/image/upload/v1/banner-mobile_y6xveu.png',\n logo: 'https://ape.bond/images/bills/monad.png',\n },\n [ChainId.SOL]: {\n title: 'Bonds are now Live on Solana',\n subtitle: 'Get tokens at a discount on Solana. Faster, cheaper, and fully on-chain.',\n buttons: [\n {\n label: 'LEARN MORE',\n href: 'https://apebond.click/sol-launch',\n variant: variants.SECONDARY,\n },\n ],\n background: 'https://res.cloudinary.com/dswmrqgwy/image/upload/v1751667949/background_ldg88q.png',\n backgroundMobile: 'https://res.cloudinary.com/dswmrqgwy/image/upload/v1751668240/backgroundMobile_lht5tu.png',\n logo: 'https://res.cloudinary.com/dswmrqgwy/image/upload/v1751665836/solana_bonds_logo_1_jrbn4g.png',\n },\n}\n\nconst ChainBanner = ({ chainId }: { chainId: ChainId }) => {\n const { setVisible } = useWalletModal()\n const { publicKey } = useSOLAccount()\n const isConnectedToSol = !!publicKey\n return (\n <div\n key={`banner-container-${chainId}`}\n className=\"banner-container\"\n sx={{\n backgroundImage: [\n `url(${BANNER_INFO[chainId]?.backgroundMobile})`,\n `url(${BANNER_INFO[chainId]?.backgroundMobile})`,\n `url(${BANNER_INFO[chainId]?.backgroundMobile})`,\n `url(${BANNER_INFO[chainId]?.background})`,\n `url(${BANNER_INFO[chainId]?.background})`,\n ],\n }}\n >\n <div className=\"banner-logos\">\n {chainId === ChainId.MONAD_TESTNET && (\n <>\n <img\n src=\"https://res.cloudinary.com/dswmrqgwy/image/upload/v1743089809/logos/apebond-logo_vzt4dl.png\"\n alt=\"apebond-white-logo\"\n style={{ width: '120px' }}\n />\n <img\n src=\"https://res.cloudinary.com/dswmrqgwy/image/upload/v1743089809/logos/x-icono_va7sdu.png\"\n alt=\"x-white-logo\"\n />\n </>\n )}\n\n <img src={`${BANNER_INFO[chainId]?.logo}`} alt=\"partner-logo\" height={19} />\n </div>\n <div className=\"banner-title\">{BANNER_INFO[chainId]?.title}</div>\n <div className=\"banner-subtitle\">{BANNER_INFO[chainId]?.subtitle}</div>\n <div className=\"banner-actions\">\n {BANNER_INFO[chainId]?.buttons.map((button, index) => (\n <Button\n key={`banner-button-${index}`}\n className=\"action-button\"\n onClick={() => window.open(button.href, '_blank')}\n variant={button.variant || variants.PRIMARY}\n >\n {button.label}\n </Button>\n ))}\n {chainId === ChainId.SOL && (\n <Button\n className=\"action-button\"\n sx={{\n background: 'linear-gradient(93deg, #20EEA9 -19%, #9945FF 97.7%)',\n border: 'none',\n '&:hover': {\n '&:not([disabled])': {\n background: 'linear-gradient(93deg, #20EEA9 -19%, #9945FF 97.7%)',\n },\n },\n }}\n onClick={() => {\n if (isConnectedToSol) {\n window.open(\n 'https://jumper.exchange/es?fromChain=1151111081099710&fromToken=11111111111111111111111111111111&toChain=1151111081099710&toToken=EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',\n '_blank',\n 'noopener noreferrer',\n )\n } else setVisible(true)\n }}\n >\n Get Started\n </Button>\n )}\n </div>\n </div>\n )\n}\n\nexport default ChainBanner\n"],"names":["_jsxs","_Fragment","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"ChainBanner.js","sources":["../../../../../src/views/Bonds/components/ChainBanner/ChainBanner.tsx"],"sourcesContent":["import React from 'react'\nimport Button from '../../../../components/uikit-sdk/Button/Button'\nimport { ChainId } from '@ape.swap/apeswap-lists'\nimport { variants } from '../../../../components/uikit-sdk/Button/types'\nimport { useWalletModal } from '@solana/wallet-adapter-react-ui'\nimport useSOLAccount from '../../../../hooks/accounts/useSOLAccount'\n\ninterface ButtonInfo {\n label: string\n href: string\n variant?: variants\n background?: string\n}\n\ninterface BannerInfo {\n title: string\n subtitle: string\n buttons: ButtonInfo[]\n background: string\n backgroundMobile: string\n logo: string\n}\n\nconst BANNER_INFO: Partial<Record<ChainId, BannerInfo>> = {\n [ChainId.MONAD]: {\n title: 'Monad Mainnet Bonds',\n subtitle: 'Launch Coming Soon.',\n buttons: [\n {\n label: 'LEARN MORE',\n href: 'https://x.com/ApeBond/status/1995538519536578880?s=20',\n variant: variants.SECONDARY,\n },\n { label: 'Launch Yours', href: 'https://forms.clickup.com/3080492/f/2y09c-6585/O175DYTK4PMR6P4CZA' },\n ],\n background: 'https://res.cloudinary.com/dswmrqgwy/image/upload/v1/banner_jpkg38.png',\n backgroundMobile: 'https://res.cloudinary.com/dswmrqgwy/image/upload/v1/banner-mobile_y6xveu.png',\n logo: 'https://ape.bond/images/bills/monad.png',\n },\n [ChainId.SOL]: {\n title: 'Bonds are now Live on Solana',\n subtitle: 'Get tokens at a discount on Solana. Faster, cheaper, and fully on-chain.',\n buttons: [\n {\n label: 'LEARN MORE',\n href: 'https://apebond.click/sol-launch',\n variant: variants.SECONDARY,\n },\n ],\n background: 'https://res.cloudinary.com/dswmrqgwy/image/upload/v1751667949/background_ldg88q.png',\n backgroundMobile: 'https://res.cloudinary.com/dswmrqgwy/image/upload/v1751668240/backgroundMobile_lht5tu.png',\n logo: 'https://res.cloudinary.com/dswmrqgwy/image/upload/v1751665836/solana_bonds_logo_1_jrbn4g.png',\n },\n}\n\nconst ChainBanner = ({ chainId }: { chainId: ChainId }) => {\n const { setVisible } = useWalletModal()\n const { publicKey } = useSOLAccount()\n const isConnectedToSol = !!publicKey\n return (\n <div\n key={`banner-container-${chainId}`}\n className=\"banner-container\"\n sx={{\n backgroundImage: [\n `url(${BANNER_INFO[chainId]?.backgroundMobile})`,\n `url(${BANNER_INFO[chainId]?.backgroundMobile})`,\n `url(${BANNER_INFO[chainId]?.backgroundMobile})`,\n `url(${BANNER_INFO[chainId]?.background})`,\n `url(${BANNER_INFO[chainId]?.background})`,\n ],\n }}\n >\n <div className=\"banner-logos\">\n {chainId === ChainId.MONAD_TESTNET && (\n <>\n <img\n src=\"https://res.cloudinary.com/dswmrqgwy/image/upload/v1743089809/logos/apebond-logo_vzt4dl.png\"\n alt=\"apebond-white-logo\"\n style={{ width: '120px' }}\n />\n <img\n src=\"https://res.cloudinary.com/dswmrqgwy/image/upload/v1743089809/logos/x-icono_va7sdu.png\"\n alt=\"x-white-logo\"\n />\n </>\n )}\n\n <img src={`${BANNER_INFO[chainId]?.logo}`} alt=\"partner-logo\" height={19} />\n </div>\n <div className=\"banner-title\">{BANNER_INFO[chainId]?.title}</div>\n <div className=\"banner-subtitle\">{BANNER_INFO[chainId]?.subtitle}</div>\n <div className=\"banner-actions\">\n {BANNER_INFO[chainId]?.buttons.map((button, index) => (\n <Button\n key={`banner-button-${index}`}\n className=\"action-button\"\n onClick={() => window.open(button.href, '_blank')}\n variant={button.variant || variants.PRIMARY}\n >\n {button.label}\n </Button>\n ))}\n {chainId === ChainId.SOL && (\n <Button\n className=\"action-button\"\n sx={{\n background: 'linear-gradient(93deg, #20EEA9 -19%, #9945FF 97.7%)',\n border: 'none',\n '&:hover': {\n '&:not([disabled])': {\n background: 'linear-gradient(93deg, #20EEA9 -19%, #9945FF 97.7%)',\n },\n },\n }}\n onClick={() => {\n if (isConnectedToSol) {\n window.open(\n 'https://jumper.exchange/es?fromChain=1151111081099710&fromToken=11111111111111111111111111111111&toChain=1151111081099710&toToken=EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',\n '_blank',\n 'noopener noreferrer',\n )\n } else setVisible(true)\n }}\n >\n Get Started\n </Button>\n )}\n </div>\n </div>\n )\n}\n\nexport default ChainBanner\n"],"names":["_jsxs","_Fragment","_jsx"],"mappings":"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"}
@@ -1,24 +1,9 @@
1
1
  import { jsx, jsxs } from 'theme-ui/jsx-runtime';
2
2
  import { styles } from './styles.js';
3
- import Svg from '../../../../components/uikit-sdk/Svg/index.js';
4
- import Flex from '../../../../components/uikit-sdk/Flex/index.js';
5
- import 'theme-ui';
6
- import '../../../../components/uikit-sdk/Text/types.js';
7
- import '../../../../components/uikit-sdk/Checkbox/types.js';
8
- import '../../../../components/uikit-sdk/Skeleton/types.js';
9
- import '../../../../components/uikit-sdk/Skeleton/styles.js';
10
- import TooltipBubble from '../../../../components/uikit-sdk/TooltipBubble/index.js';
11
- import 'react';
12
- import 'framer-motion';
13
- import '../../../../components/uikit-sdk/Button/types.js';
14
- import '../../../../components/uikit-sdk/Svg/types.js';
15
- import '../../../../contexts/ModalContext.js';
16
- import '../../../FullBondsView/FullBondsView.js';
17
- import '../../../../components/uikit-sdk/Select/types.js';
18
- import '../../../../utils/campaignStyles.js';
19
3
  import TokenInfoAndName from '../../../../components/TokenInfoAndName/index.js';
20
4
  import BondInfoTooltip from '../../../../components/Tooltip/Tooltip.js';
21
- import { findHighestTrueBondPrice, getDiscountColor, calculateARR } from '../../utils.js';
5
+ import { getDiscountColor, calculateARR } from '../../utils.js';
6
+ import { findHighestTrueBondPrice } from '../../../../utils/bondPriceHelpers.js';
22
7
  import useModal from '../../../../hooks/useModal.js';
23
8
  import BuyBondModal from '../../../BuyBond/BuyBondModal.js';
24
9
  import track from '../../../../utils/track.js';
@@ -26,6 +11,9 @@ import { TIERS_WEIGHT } from '../../../../state/tiers/useTierPoints.js';
26
11
  import { LaunchBondTiers } from '@ape.swap/apeswap-lists';
27
12
  import { useSDKConfig } from '../../../../state/useSDKConfig.js';
28
13
  import { getTimePeriods } from '../../../../utils/getTimePeriods.js';
14
+ import Flex from '../../../../components/uikit-sdk/Flex/index.js';
15
+ import TooltipBubble from '../../../../components/uikit-sdk/TooltipBubble/index.js';
16
+ import Svg from '../../../../components/uikit-sdk/Svg/index.js';
29
17
 
30
18
  const HotBondCard = ({ bond }) => {
31
19
  const bonus = findHighestTrueBondPrice(TIERS_WEIGHT[LaunchBondTiers.Legend], bond?.trueBondPrices)?.bonusWithFee;
@@ -1 +1 @@
1
- {"version":3,"file":"HotBondCard.js","sources":["../../../../../src/views/Bonds/components/HotBondCards/HotBondCard.tsx"],"sourcesContent":["import React from 'react'\nimport { styles } from './styles'\nimport { BondsData } from '../../../../types/bonds'\nimport { Flex, Svg, TooltipBubble } from '../../../../components/uikit-sdk'\nimport TokenInfoAndName from '../../../../components/TokenInfoAndName'\nimport Tooltip from '../../../../components/Tooltip/Tooltip'\nimport { calculateARR, findHighestTrueBondPrice, getDiscountColor } from '../../utils'\nimport useModal from '../../../../hooks/useModal'\nimport BuyBondModal from '../../../BuyBond/BuyBondModal'\nimport track from '../../../../utils/track'\nimport { TIERS_WEIGHT } from '../../../../state/tiers/useTierPoints'\nimport { LaunchBondTiers } from '@ape.swap/apeswap-lists'\nimport { useSDKConfig } from '../../../../state/useSDKConfig'\nimport { getTimePeriods } from '../../../../utils/getTimePeriods'\n\nconst HotBondCard = ({ bond }: { bond: BondsData }) => {\n const bonus = findHighestTrueBondPrice(TIERS_WEIGHT[LaunchBondTiers.Legend], bond?.trueBondPrices)?.bonusWithFee\n const SDKConfig = useSDKConfig()\n\n // Modal\n const [openBuyModal] = useModal(\n <BuyBondModal bondAddress={bond?.contractAddress?.[bond?.chainId]} bondChain={bond.chainId} />,\n true,\n true,\n `buyBondModal-${bond?.contractAddress?.[bond?.chainId]}-${bond.chainId}`,\n )\n\n const handleOpenModal = () => {\n openBuyModal()\n track({\n event: 'hotClick',\n chain: bond.chainId,\n data: {\n cat: 'hotClick',\n bond: bond.earnToken.symbol,\n },\n })\n }\n\n return (\n <Flex sx={styles.desktopCard} className=\"hot-bond-card\" onClick={handleOpenModal}>\n <Flex sx={{ flexDirection: 'column', width: '100%' }}>\n <Flex sx={{ width: '100%', height: '75px' }}>\n <Flex sx={{ width: '66.66%' }}>\n <TokenInfoAndName tokenSymbol={bond.earnToken.symbol} chain={bond.chainId} tag={bond.tags?.[0]} isHotBond />\n </Flex>\n <Flex\n className=\"column column-tokenicons\"\n sx={{ width: '33.33% !important', justifyContent: 'center !important', alignItems: 'center' }}\n >\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Tooltip\n earnTokenContract={bond?.earnToken?.address?.[bond?.chainId] ?? ''}\n earnTokenSymbol={bond?.earnToken?.symbol ?? ''}\n bondContract={bond?.contractAddress?.[bond?.chainId] ?? ''}\n projectLink={bond?.projectLink}\n twitter={bond?.twitter}\n chain={bond?.chainId}\n cgId={bond?.cgId}\n dexscreener={bond?.dexscreener}\n />\n }\n width=\"205px\"\n placement=\"bottomRight\"\n transformTip=\"translate(11%, 0%)\"\n >\n <Svg icon=\"more\" width=\"20px\" />\n </TooltipBubble>\n </Flex>\n </Flex>\n <Flex sx={{ width: '100%', justifyContent: 'space-around' }}>\n <Flex sx={{ flexDirection: 'column', alignItems: 'center', width: '100%' }}>\n <Flex sx={{ opacity: 0.6, fontSize: '12px', fontWeight: 400 }}>Bonus</Flex>\n <Flex className={`${getDiscountColor(bonus)}`} sx={{ width: '100%', justifyContent: 'center' }}>\n {bonus !== undefined ? (bonus < 0 ? '0%' : `${bonus?.toFixed(2)}%`) : '-'}\n </Flex>\n </Flex>\n <Flex sx={{ flexDirection: 'column', alignItems: 'center', width: '100%' }}>\n <Flex sx={{ opacity: 0.6, fontSize: '12px', fontWeight: 400, width: '100%', justifyContent: 'center' }}>\n ARR\n </Flex>\n <Flex sx={{ width: '100%', justifyContent: 'center' }}>{calculateARR(bond, SDKConfig.useTiers)}</Flex>\n </Flex>\n <Flex sx={{ flexDirection: 'column', alignItems: 'center', width: '100%' }}>\n <Flex sx={{ opacity: 0.6, fontSize: '12px', fontWeight: 400, width: '100%', justifyContent: 'center' }}>\n Terms\n </Flex>\n <Flex sx={{ width: '100%', justifyContent: 'center' }}>\n {getTimePeriods(bond?.vestingTerm, true)?.days\n ? `${getTimePeriods(bond?.vestingTerm, true)?.days} D`\n : '-'}\n </Flex>\n </Flex>\n </Flex>\n </Flex>\n </Flex>\n )\n}\n\nexport default HotBondCard\n"],"names":["_jsx","_jsxs","Tooltip"],"mappings":"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"}
1
+ {"version":3,"file":"HotBondCard.js","sources":["../../../../../src/views/Bonds/components/HotBondCards/HotBondCard.tsx"],"sourcesContent":["import React from 'react'\nimport { styles } from './styles'\nimport { BondsData } from '../../../../types/bonds'\nimport TokenInfoAndName from '../../../../components/TokenInfoAndName'\nimport Tooltip from '../../../../components/Tooltip/Tooltip'\nimport { calculateARR, getDiscountColor } from '../../utils'\nimport { findHighestTrueBondPrice } from '../../../../utils/bondPriceHelpers'\nimport useModal from '../../../../hooks/useModal'\nimport BuyBondModal from '../../../BuyBond/BuyBondModal'\nimport track from '../../../../utils/track'\nimport { TIERS_WEIGHT } from '../../../../state/tiers/useTierPoints'\nimport { LaunchBondTiers } from '@ape.swap/apeswap-lists'\nimport { useSDKConfig } from '../../../../state/useSDKConfig'\nimport { getTimePeriods } from '../../../../utils/getTimePeriods'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport TooltipBubble from '../../../../components/uikit-sdk/TooltipBubble'\nimport Svg from '../../../../components/uikit-sdk/Svg'\n\nconst HotBondCard = ({ bond }: { bond: BondsData }) => {\n const bonus = findHighestTrueBondPrice(TIERS_WEIGHT[LaunchBondTiers.Legend], bond?.trueBondPrices)?.bonusWithFee\n const SDKConfig = useSDKConfig()\n\n // Modal\n const [openBuyModal] = useModal(\n <BuyBondModal bondAddress={bond?.contractAddress?.[bond?.chainId]} bondChain={bond.chainId} />,\n true,\n true,\n `buyBondModal-${bond?.contractAddress?.[bond?.chainId]}-${bond.chainId}`,\n )\n\n const handleOpenModal = () => {\n openBuyModal()\n track({\n event: 'hotClick',\n chain: bond.chainId,\n data: {\n cat: 'hotClick',\n bond: bond.earnToken.symbol,\n },\n })\n }\n\n return (\n <Flex sx={styles.desktopCard} className=\"hot-bond-card\" onClick={handleOpenModal}>\n <Flex sx={{ flexDirection: 'column', width: '100%' }}>\n <Flex sx={{ width: '100%', height: '75px' }}>\n <Flex sx={{ width: '66.66%' }}>\n <TokenInfoAndName tokenSymbol={bond.earnToken.symbol} chain={bond.chainId} tag={bond.tags?.[0]} isHotBond />\n </Flex>\n <Flex\n className=\"column column-tokenicons\"\n sx={{ width: '33.33% !important', justifyContent: 'center !important', alignItems: 'center' }}\n >\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Tooltip\n earnTokenContract={bond?.earnToken?.address?.[bond?.chainId] ?? ''}\n earnTokenSymbol={bond?.earnToken?.symbol ?? ''}\n bondContract={bond?.contractAddress?.[bond?.chainId] ?? ''}\n projectLink={bond?.projectLink}\n twitter={bond?.twitter}\n chain={bond?.chainId}\n cgId={bond?.cgId}\n dexscreener={bond?.dexscreener}\n />\n }\n width=\"205px\"\n placement=\"bottomRight\"\n transformTip=\"translate(11%, 0%)\"\n >\n <Svg icon=\"more\" width=\"20px\" />\n </TooltipBubble>\n </Flex>\n </Flex>\n <Flex sx={{ width: '100%', justifyContent: 'space-around' }}>\n <Flex sx={{ flexDirection: 'column', alignItems: 'center', width: '100%' }}>\n <Flex sx={{ opacity: 0.6, fontSize: '12px', fontWeight: 400 }}>Bonus</Flex>\n <Flex className={`${getDiscountColor(bonus)}`} sx={{ width: '100%', justifyContent: 'center' }}>\n {bonus !== undefined ? (bonus < 0 ? '0%' : `${bonus?.toFixed(2)}%`) : '-'}\n </Flex>\n </Flex>\n <Flex sx={{ flexDirection: 'column', alignItems: 'center', width: '100%' }}>\n <Flex sx={{ opacity: 0.6, fontSize: '12px', fontWeight: 400, width: '100%', justifyContent: 'center' }}>\n ARR\n </Flex>\n <Flex sx={{ width: '100%', justifyContent: 'center' }}>{calculateARR(bond, SDKConfig.useTiers)}</Flex>\n </Flex>\n <Flex sx={{ flexDirection: 'column', alignItems: 'center', width: '100%' }}>\n <Flex sx={{ opacity: 0.6, fontSize: '12px', fontWeight: 400, width: '100%', justifyContent: 'center' }}>\n Terms\n </Flex>\n <Flex sx={{ width: '100%', justifyContent: 'center' }}>\n {getTimePeriods(bond?.vestingTerm, true)?.days\n ? `${getTimePeriods(bond?.vestingTerm, true)?.days} D`\n : '-'}\n </Flex>\n </Flex>\n </Flex>\n </Flex>\n </Flex>\n )\n}\n\nexport default HotBondCard\n"],"names":["_jsx","_jsxs","Tooltip"],"mappings":"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"}
@@ -3,27 +3,14 @@ import { useState } from 'react';
3
3
  import { styles } from './styles.js';
4
4
  import HotBondCard from './HotBondCard.js';
5
5
  import { Swiper, SwiperSlide } from 'swiper/react';
6
- import '../../../../components/uikit-sdk/Svg/types.js';
7
- import Flex from '../../../../components/uikit-sdk/Flex/index.js';
8
- import 'theme-ui';
9
- import '../../../../components/uikit-sdk/Text/types.js';
10
- import '../../../../components/uikit-sdk/Checkbox/types.js';
11
- import '../../../../components/uikit-sdk/Skeleton/types.js';
12
- import '../../../../components/uikit-sdk/Skeleton/styles.js';
13
- import '../../../../components/uikit-sdk/TooltipBubble/index.js';
14
- import 'framer-motion';
15
- import '../../../../components/uikit-sdk/Button/types.js';
16
- import '../../../../contexts/ModalContext.js';
17
- import '../../../FullBondsView/FullBondsView.js';
18
- import SwiperDots from '../../../../components/uikit-sdk/SwiperDots/index.js';
19
- import '../../../../components/uikit-sdk/Select/types.js';
20
- import '../../../../utils/campaignStyles.js';
21
6
  import useSwiper from '../../../../hooks/useSwiper.js';
22
7
  import { getDotPos } from '../../../../utils/getDotPos.js';
23
8
  import { TIERS_WEIGHT } from '../../../../state/tiers/useTierPoints.js';
24
9
  import { LaunchBondTiers } from '@ape.swap/apeswap-lists';
25
10
  import useHotBonds from '../../../../state/hotBonds/useHotBonds.js';
26
- import { findHighestTrueBondPrice } from '../../utils.js';
11
+ import { findHighestTrueBondPrice } from '../../../../utils/bondPriceHelpers.js';
12
+ import Flex from '../../../../components/uikit-sdk/Flex/index.js';
13
+ import SwiperDots from '../../../../components/uikit-sdk/SwiperDots/index.js';
27
14
 
28
15
  const HotBondCards = () => {
29
16
  const { data: hotBonds } = useHotBonds();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/views/Bonds/components/HotBondCards/index.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { styles } from './styles'\nimport HotBondCard from './HotBondCard'\nimport { Swiper, SwiperSlide } from 'swiper/react'\nimport SwiperCore from 'swiper'\nimport { Flex, SwiperDots } from '../../../../components/uikit-sdk'\nimport useSwiper from '../../../../hooks/useSwiper'\nimport { getDotPos } from '../../../../utils/getDotPos'\nimport { TIERS_WEIGHT } from '../../../../state/tiers/useTierPoints'\nimport { LaunchBondTiers } from '@ape.swap/apeswap-lists'\nimport useHotBonds from '../../../../state/hotBonds/useHotBonds'\nimport { findHighestTrueBondPrice } from '../../utils'\n\nconst HotBondCards = () => {\n const { data: hotBonds } = useHotBonds()\n const filteredBonds = hotBonds\n ?.sort(\n (a, b) =>\n (findHighestTrueBondPrice(TIERS_WEIGHT[LaunchBondTiers.Legend], b?.trueBondPrices)?.bonus ?? 0) -\n (findHighestTrueBondPrice(TIERS_WEIGHT[LaunchBondTiers.Legend], a?.trueBondPrices)?.bonus ?? 0),\n )\n ?.filter((bond) => {\n const bonus = findHighestTrueBondPrice(TIERS_WEIGHT[LaunchBondTiers.Legend], bond?.trueBondPrices)?.bonus\n return bonus && bonus > 0 && bonus < 50\n })\n\n const [activeSlide, setActiveSlide] = useState(0)\n const { swiper, setSwiper } = useSwiper()\n\n const handleSlide = (event: SwiperCore) => {\n const slideNumber = getDotPos(event.activeIndex, filteredBonds?.length)\n setActiveSlide(slideNumber)\n }\n\n const slideTo = (index: number) => {\n setActiveSlide(index)\n swiper?.slideTo(index)\n }\n\n return (\n <Flex sx={styles.mainComponent}>\n <Flex sx={styles.hotBondTitle}>HOT BONDS</Flex>\n {/* DESKTOP CARDS */}\n <Flex sx={styles.desktopCards}>\n {filteredBonds?.slice(0, 3).map((bond, index) => {\n return <HotBondCard bond={bond} key={`${bond?.contractAddress?.[bond?.chainId]}-${index}`} />\n })}\n </Flex>\n {/* MOBILE CARDS WITH SWIPER */}\n <Flex\n sx={{\n flexDirection: 'column',\n width: '100%',\n alignItems: 'center',\n mb: '15px',\n overflow: 'hidden',\n display: 'flex',\n '@media screen and (min-width: 1000px)': {\n display: 'none',\n },\n }}\n >\n <Swiper\n id=\"hotbondsSweper\"\n onSwiper={setSwiper}\n slidesPerView=\"auto\"\n centeredSlides\n onSlideChange={handleSlide}\n style={{ width: '100%', paddingBottom: '15px', overflow: 'visible' }}\n >\n {filteredBonds?.map((bond, index) => {\n return (\n <SwiperSlide\n style={{\n width: '100%',\n padding: '1px',\n display: 'flex',\n justifyContent: 'center',\n }}\n key={index}\n >\n <HotBondCard bond={bond} key={`${bond?.contractAddress?.[bond?.chainId]}-${index}`} />\n </SwiperSlide>\n )\n })}\n </Swiper>\n <Flex>\n {[...Array(hotBonds?.length)].map((_, i) => {\n return <SwiperDots isActive={i === activeSlide} onClick={() => slideTo(i)} key={i} />\n })}\n </Flex>\n </Flex>\n </Flex>\n )\n}\n\nexport default HotBondCards\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,MAAM,YAAY,GAAG,MAAK;IACxB,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE;IACxC,MAAM,aAAa,GAAG;UAClB,IAAI,CACJ,CAAC,CAAC,EAAE,CAAC,KACH,CAAC,wBAAwB,CAAC,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,EAAE,KAAK,IAAI,CAAC;AAC9F,SAAC,wBAAwB,CAAC,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;AAEnG,UAAE,MAAM,CAAC,CAAC,IAAI,KAAI;AAChB,QAAA,MAAM,KAAK,GAAG,wBAAwB,CAAC,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,KAAK;QACzG,OAAO,KAAK,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;AACzC,IAAA,CAAC,CAAC;IAEJ,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;IACjD,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE;AAEzC,IAAA,MAAM,WAAW,GAAG,CAAC,KAAiB,KAAI;AACxC,QAAA,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,aAAa,EAAE,MAAM,CAAC;QACvE,cAAc,CAAC,WAAW,CAAC;AAC7B,IAAA,CAAC;AAED,IAAA,MAAM,OAAO,GAAG,CAAC,KAAa,KAAI;QAChC,cAAc,CAAC,KAAK,CAAC;AACrB,QAAA,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC;AACxB,IAAA,CAAC;IAED,QACEA,KAAC,IAAI,EAAA,EAAC,EAAE,EAAE,MAAM,CAAC,aAAa,EAAA,QAAA,EAAA,CAC5BC,IAAC,IAAI,EAAA,EAAC,EAAE,EAAE,MAAM,CAAC,YAAY,EAAA,QAAA,EAAA,WAAA,EAAA,CAAkB,EAE/CA,GAAA,CAAC,IAAI,IAAC,EAAE,EAAE,MAAM,CAAC,YAAY,YAC1B,aAAa,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;oBAC9C,OAAOA,GAAA,CAAC,WAAW,EAAA,EAAC,IAAI,EAAE,IAAI,EAAA,EAAO,GAAG,IAAI,EAAE,eAAe,GAAG,IAAI,EAAE,OAAO,CAAC,CAAA,CAAA,EAAI,KAAK,CAAA,CAAE,CAAI;AAC/F,gBAAA,CAAC,CAAC,EAAA,CACG,EAEPD,KAAC,IAAI,EAAA,EACH,EAAE,EAAE;AACF,oBAAA,aAAa,EAAE,QAAQ;AACvB,oBAAA,KAAK,EAAE,MAAM;AACb,oBAAA,UAAU,EAAE,QAAQ;AACpB,oBAAA,EAAE,EAAE,MAAM;AACV,oBAAA,QAAQ,EAAE,QAAQ;AAClB,oBAAA,OAAO,EAAE,MAAM;AACf,oBAAA,uCAAuC,EAAE;AACvC,wBAAA,OAAO,EAAE,MAAM;AAChB,qBAAA;iBACF,EAAA,QAAA,EAAA,CAEDC,GAAA,CAAC,MAAM,EAAA,EACL,EAAE,EAAC,gBAAgB,EACnB,QAAQ,EAAE,SAAS,EACnB,aAAa,EAAC,MAAM,EACpB,cAAc,QACd,aAAa,EAAE,WAAW,EAC1B,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAA,QAAA,EAEnE,aAAa,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;AAClC,4BAAA,QACEA,GAAA,CAAC,WAAW,EAAA,EACV,KAAK,EAAE;AACL,oCAAA,KAAK,EAAE,MAAM;AACb,oCAAA,OAAO,EAAE,KAAK;AACd,oCAAA,OAAO,EAAE,MAAM;AACf,oCAAA,cAAc,EAAE,QAAQ;iCACzB,EAAA,QAAA,EAGDA,GAAA,CAAC,WAAW,EAAA,EAAC,IAAI,EAAE,IAAI,EAAA,EAAO,CAAA,EAAG,IAAI,EAAE,eAAe,GAAG,IAAI,EAAE,OAAO,CAAC,CAAA,CAAA,EAAI,KAAK,CAAA,CAAE,CAAI,EAAA,EAFjF,KAAK,CAGE;wBAElB,CAAC,CAAC,GACK,EACTA,GAAA,CAAC,IAAI,EAAA,EAAA,QAAA,EACF,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;4BACzC,OAAOA,GAAA,CAAC,UAAU,EAAA,EAAC,QAAQ,EAAE,CAAC,KAAK,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAA,EAAO,CAAC,CAAI;AACvF,wBAAA,CAAC,CAAC,EAAA,CACG,CAAA,EAAA,CACF,CAAA,EAAA,CACF;AAEX;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/views/Bonds/components/HotBondCards/index.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { styles } from './styles'\nimport HotBondCard from './HotBondCard'\nimport { Swiper, SwiperSlide } from 'swiper/react'\nimport SwiperCore from 'swiper'\nimport useSwiper from '../../../../hooks/useSwiper'\nimport { getDotPos } from '../../../../utils/getDotPos'\nimport { TIERS_WEIGHT } from '../../../../state/tiers/useTierPoints'\nimport { LaunchBondTiers } from '@ape.swap/apeswap-lists'\nimport useHotBonds from '../../../../state/hotBonds/useHotBonds'\nimport { findHighestTrueBondPrice } from '../../../../utils/bondPriceHelpers'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport SwiperDots from '../../../../components/uikit-sdk/SwiperDots'\n\nconst HotBondCards = () => {\n const { data: hotBonds } = useHotBonds()\n const filteredBonds = hotBonds\n ?.sort(\n (a, b) =>\n (findHighestTrueBondPrice(TIERS_WEIGHT[LaunchBondTiers.Legend], b?.trueBondPrices)?.bonus ?? 0) -\n (findHighestTrueBondPrice(TIERS_WEIGHT[LaunchBondTiers.Legend], a?.trueBondPrices)?.bonus ?? 0),\n )\n ?.filter((bond) => {\n const bonus = findHighestTrueBondPrice(TIERS_WEIGHT[LaunchBondTiers.Legend], bond?.trueBondPrices)?.bonus\n return bonus && bonus > 0 && bonus < 50\n })\n\n const [activeSlide, setActiveSlide] = useState(0)\n const { swiper, setSwiper } = useSwiper()\n\n const handleSlide = (event: SwiperCore) => {\n const slideNumber = getDotPos(event.activeIndex, filteredBonds?.length)\n setActiveSlide(slideNumber)\n }\n\n const slideTo = (index: number) => {\n setActiveSlide(index)\n swiper?.slideTo(index)\n }\n\n return (\n <Flex sx={styles.mainComponent}>\n <Flex sx={styles.hotBondTitle}>HOT BONDS</Flex>\n {/* DESKTOP CARDS */}\n <Flex sx={styles.desktopCards}>\n {filteredBonds?.slice(0, 3).map((bond, index) => {\n return <HotBondCard bond={bond} key={`${bond?.contractAddress?.[bond?.chainId]}-${index}`} />\n })}\n </Flex>\n {/* MOBILE CARDS WITH SWIPER */}\n <Flex\n sx={{\n flexDirection: 'column',\n width: '100%',\n alignItems: 'center',\n mb: '15px',\n overflow: 'hidden',\n display: 'flex',\n '@media screen and (min-width: 1000px)': {\n display: 'none',\n },\n }}\n >\n <Swiper\n id=\"hotbondsSweper\"\n onSwiper={setSwiper}\n slidesPerView=\"auto\"\n centeredSlides\n onSlideChange={handleSlide}\n style={{ width: '100%', paddingBottom: '15px', overflow: 'visible' }}\n >\n {filteredBonds?.map((bond, index) => {\n return (\n <SwiperSlide\n style={{\n width: '100%',\n padding: '1px',\n display: 'flex',\n justifyContent: 'center',\n }}\n key={index}\n >\n <HotBondCard bond={bond} key={`${bond?.contractAddress?.[bond?.chainId]}-${index}`} />\n </SwiperSlide>\n )\n })}\n </Swiper>\n <Flex>\n {[...Array(hotBonds?.length)].map((_, i) => {\n return <SwiperDots isActive={i === activeSlide} onClick={() => slideTo(i)} key={i} />\n })}\n </Flex>\n </Flex>\n </Flex>\n )\n}\n\nexport default HotBondCards\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -1,17 +1,6 @@
1
1
  import { jsxs, jsx } from 'theme-ui/jsx-runtime';
2
- import '../../../../components/uikit-sdk/Svg/types.js';
3
- import { Flex } from 'theme-ui';
4
- import '../../../../components/uikit-sdk/Text/types.js';
5
- import '../../../../components/uikit-sdk/Checkbox/types.js';
6
2
  import Skeleton from '../../../../components/uikit-sdk/Skeleton/index.js';
7
- import '../../../../components/uikit-sdk/TooltipBubble/index.js';
8
- import 'react';
9
- import 'framer-motion';
10
- import '../../../../components/uikit-sdk/Button/types.js';
11
- import '../../../../contexts/ModalContext.js';
12
- import '../../../FullBondsView/FullBondsView.js';
13
- import '../../../../components/uikit-sdk/Select/types.js';
14
- import '../../../../utils/campaignStyles.js';
3
+ import Flex from '../../../../components/uikit-sdk/Flex/index.js';
15
4
 
16
5
  const LoadingSkeleton = () => {
17
6
  return (jsxs(Flex, { sx: { width: '100%', flexDirection: 'column', mt: '35px' }, children: [Array.from({ length: 5 }).map((_, index) => (jsx(Skeleton, { animation: "waves", sx: {