@ape.swap/bonds-sdk 6.2.11 → 6.2.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -25
- package/dist/components/BondFilters/BondFilters.js +3 -3
- package/dist/components/BondFilters/BondFilters.js.map +1 -1
- package/dist/components/Carousel/index.d.ts +1 -1
- package/dist/components/Carousel/index.js +4 -7
- package/dist/components/Carousel/index.js.map +1 -1
- package/dist/components/ChainOptionList/ChainOptionsButtons.d.ts +1 -1
- package/dist/components/ChainOptionList/ChainOptionsButtons.js +6 -9
- package/dist/components/ChainOptionList/ChainOptionsButtons.js.map +1 -1
- package/dist/components/ChainOptionList/ChainOptionsList.d.ts +1 -1
- package/dist/components/ChainOptionList/ChainOptionsList.js +3 -4
- package/dist/components/ChainOptionList/ChainOptionsList.js.map +1 -1
- package/dist/components/CircularProgress/index.js +3 -14
- package/dist/components/CircularProgress/index.js.map +1 -1
- package/dist/components/ConnectAptosWalletButton/ConnectAptosWalletButton.d.ts +1 -1
- package/dist/components/ConnectAptosWalletButton/ConnectAptosWalletButton.js +2 -7
- package/dist/components/ConnectAptosWalletButton/ConnectAptosWalletButton.js.map +1 -1
- package/dist/components/ConnectButton/index.d.ts +1 -2
- package/dist/components/ConnectButton/index.js +1 -1
- package/dist/components/ConnectSolanaWalletButton/ConnectSolanaWalletButton.d.ts +1 -1
- package/dist/components/ConnectSolanaWalletButton/ConnectSolanaWalletButton.js +2 -7
- package/dist/components/ConnectSolanaWalletButton/ConnectSolanaWalletButton.js.map +1 -1
- package/dist/components/ConnectSuiWalletButton/ConnectSuiWalletButton.d.ts +1 -2
- package/dist/components/ConnectoToVmBanners/ConnectToAptosBanner.d.ts +1 -1
- package/dist/components/ConnectoToVmBanners/ConnectToAptosBanner.js +2 -31
- package/dist/components/ConnectoToVmBanners/ConnectToAptosBanner.js.map +1 -1
- package/dist/components/ConnectoToVmBanners/ConnectToEvmBanner.d.ts +1 -1
- package/dist/components/ConnectoToVmBanners/ConnectToEvmBanner.js +2 -41
- package/dist/components/ConnectoToVmBanners/ConnectToEvmBanner.js.map +1 -1
- package/dist/components/ConnectoToVmBanners/ConnectToSolanaBanner.d.ts +1 -1
- package/dist/components/ConnectoToVmBanners/ConnectToSolanaBanner.js +10 -34
- package/dist/components/ConnectoToVmBanners/ConnectToSolanaBanner.js.map +1 -1
- package/dist/components/ConnectoToVmBanners/ConnectToSuiBanner.d.ts +1 -1
- package/dist/components/ConnectoToVmBanners/ConnectToSuiBanner.js +2 -31
- package/dist/components/ConnectoToVmBanners/ConnectToSuiBanner.js.map +1 -1
- package/dist/components/CustomClaimModals/AbondModal.d.ts +1 -2
- package/dist/components/CustomClaimModals/AbondModal.js +2 -3
- package/dist/components/CustomClaimModals/AbondModal.js.map +1 -1
- package/dist/components/CustomClaimModals/OabondModal.d.ts +1 -2
- package/dist/components/CustomClaimModals/OabondModal.js +2 -3
- package/dist/components/CustomClaimModals/OabondModal.js.map +1 -1
- package/dist/components/CustomClaimModals/PmusdModal.d.ts +1 -2
- package/dist/components/CustomClaimModals/PmusdModal.js +2 -9
- package/dist/components/CustomClaimModals/PmusdModal.js.map +1 -1
- package/dist/components/CustomClaimModals/PostClaimModal.d.ts +1 -2
- package/dist/components/CustomClaimModals/PostClaimModal.js +2 -3
- package/dist/components/CustomClaimModals/PostClaimModal.js.map +1 -1
- package/dist/components/FavIcons/AddFavToken.d.ts +1 -2
- package/dist/components/FavIcons/AddFavToken.js +2 -2
- package/dist/components/FavIcons/AddFavToken.js.map +1 -1
- package/dist/components/FavIcons/FavFilter.d.ts +1 -2
- package/dist/components/FavIcons/FavFilter.js +3 -3
- package/dist/components/FavIcons/FavFilter.js.map +1 -1
- package/dist/components/LoadingSpinner/index.d.ts +1 -2
- package/dist/components/LoadingSpinner/index.js +8 -30
- package/dist/components/LoadingSpinner/index.js.map +1 -1
- package/dist/components/MenuSelect/MenuSelect.d.ts +1 -2
- package/dist/components/MenuSelect/MenuSelect.js +12 -9
- package/dist/components/MenuSelect/MenuSelect.js.map +1 -1
- package/dist/components/MenuSelect/RecommendationSelector.d.ts +1 -2
- package/dist/components/MenuSelect/RecommendationSelector.js +4 -24
- package/dist/components/MenuSelect/RecommendationSelector.js.map +1 -1
- package/dist/components/NetworkFilter/index.d.ts +1 -2
- package/dist/components/NetworkFilter/index.js +9 -47
- package/dist/components/NetworkFilter/index.js.map +1 -1
- package/dist/components/PlaceholderMonkey/index.d.ts +1 -2
- package/dist/components/PlaceholderMonkey/index.js +2 -7
- package/dist/components/PlaceholderMonkey/index.js.map +1 -1
- package/dist/components/ProgressBar/ProgressBar.js +3 -5
- package/dist/components/ProgressBar/ProgressBar.js.map +1 -1
- package/dist/components/ProgressBar/ProgressBarWrapper.d.ts +2 -2
- package/dist/components/ProgressBar/ProgressBarWrapper.js +4 -4
- package/dist/components/ProgressBar/ProgressBarWrapper.js.map +1 -1
- package/dist/components/ProgressiveImage/index.d.ts +1 -2
- package/dist/components/ProgressiveImage/index.js +3 -21
- package/dist/components/ProgressiveImage/index.js.map +1 -1
- package/dist/components/SafeHTMLComponent/index.d.ts +1 -2
- package/dist/components/SafeHTMLComponent/index.js +1 -1
- package/dist/components/SlippageModal/index.d.ts +1 -2
- package/dist/components/SlippageModal/index.js +7 -43
- package/dist/components/SlippageModal/index.js.map +1 -1
- package/dist/components/StepBubble/index.d.ts +1 -2
- package/dist/components/StepBubble/index.js +5 -33
- package/dist/components/StepBubble/index.js.map +1 -1
- package/dist/components/Toast/index.d.ts +1 -2
- package/dist/components/Toast/index.js +4 -15
- package/dist/components/Toast/index.js.map +1 -1
- package/dist/components/TokenInfoAndName/index.d.ts +3 -3
- package/dist/components/TokenInfoAndName/index.js +9 -19
- package/dist/components/TokenInfoAndName/index.js.map +1 -1
- package/dist/components/TokenSelectorModal/TokenRow.d.ts +1 -2
- package/dist/components/TokenSelectorModal/TokenRow.js +3 -3
- package/dist/components/TokenSelectorModal/TokenRow.js.map +1 -1
- package/dist/components/TokenSelectorModal/index.js +2 -14
- package/dist/components/TokenSelectorModal/index.js.map +1 -1
- package/dist/components/TokenSelectorPanel/index.d.ts +1 -1
- package/dist/components/TokenSelectorPanel/index.js +6 -9
- package/dist/components/TokenSelectorPanel/index.js.map +1 -1
- package/dist/components/Tooltip/ButtonsRow.js +3 -4
- package/dist/components/Tooltip/ButtonsRow.js.map +1 -1
- package/dist/components/Tooltip/Tooltip.js +4 -4
- package/dist/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/YouTooltip/YouTooltip.d.ts +1 -2
- package/dist/components/YouTooltip/YouTooltip.js +2 -24
- package/dist/components/YouTooltip/YouTooltip.js.map +1 -1
- package/dist/components/uikit-sdk/Button/Button.d.ts +1 -2
- package/dist/components/uikit-sdk/Button/Button.js +34 -40
- package/dist/components/uikit-sdk/Button/Button.js.map +1 -1
- package/dist/components/uikit-sdk/Button/IconButton.js +17 -15
- package/dist/components/uikit-sdk/Button/IconButton.js.map +1 -1
- package/dist/components/uikit-sdk/Button/types.d.ts +1 -2
- package/dist/components/uikit-sdk/Button/types.js +6 -6
- package/dist/components/uikit-sdk/Button/types.js.map +1 -1
- package/dist/components/uikit-sdk/Checkbox/index.d.ts +1 -1
- package/dist/components/uikit-sdk/Checkbox/index.js +11 -8
- package/dist/components/uikit-sdk/Checkbox/index.js.map +1 -1
- package/dist/components/uikit-sdk/Checkbox/types.d.ts +2 -2
- package/dist/components/uikit-sdk/Checkbox/types.js.map +1 -1
- package/dist/components/uikit-sdk/Flex/index.d.ts +9 -3
- package/dist/components/uikit-sdk/Flex/index.js +8 -4
- package/dist/components/uikit-sdk/Flex/index.js.map +1 -1
- package/dist/components/uikit-sdk/Input/Input.d.ts +3 -2
- package/dist/components/uikit-sdk/Input/Input.js +7 -33
- package/dist/components/uikit-sdk/Input/Input.js.map +1 -1
- package/dist/components/uikit-sdk/LoadingDots/index.d.ts +1 -1
- package/dist/components/uikit-sdk/LoadingDots/index.js +2 -21
- package/dist/components/uikit-sdk/LoadingDots/index.js.map +1 -1
- package/dist/components/uikit-sdk/Modal/ModalHeader.js +5 -5
- package/dist/components/uikit-sdk/Modal/ModalHeader.js.map +1 -1
- package/dist/components/uikit-sdk/Modal/index.d.ts +1 -2
- package/dist/components/uikit-sdk/Modal/index.js +11 -6
- package/dist/components/uikit-sdk/Modal/index.js.map +1 -1
- package/dist/components/uikit-sdk/Modal/types.d.ts +3 -3
- package/dist/components/uikit-sdk/Select/Select.d.ts +1 -2
- package/dist/components/uikit-sdk/Select/Select.js +19 -17
- package/dist/components/uikit-sdk/Select/Select.js.map +1 -1
- package/dist/components/uikit-sdk/Select/SelectItem.d.ts +1 -1
- package/dist/components/uikit-sdk/Select/SelectItem.js +26 -15
- package/dist/components/uikit-sdk/Select/SelectItem.js.map +1 -1
- package/dist/components/uikit-sdk/Select/types.d.ts +1 -0
- package/dist/components/uikit-sdk/Select/types.js +9 -9
- package/dist/components/uikit-sdk/Select/types.js.map +1 -1
- package/dist/components/uikit-sdk/Skeleton/index.d.ts +1 -2
- package/dist/components/uikit-sdk/Skeleton/index.js +7 -8
- package/dist/components/uikit-sdk/Skeleton/index.js.map +1 -1
- package/dist/components/uikit-sdk/Skeleton/types.d.ts +2 -2
- package/dist/components/uikit-sdk/Skeleton/types.js.map +1 -1
- package/dist/components/uikit-sdk/Spinner/index.d.ts +11 -0
- package/dist/components/uikit-sdk/Spinner/index.js +9 -0
- package/dist/components/uikit-sdk/Spinner/index.js.map +1 -0
- package/dist/components/uikit-sdk/Svg/Icons/AllChains.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Arrow.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/Arrow.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/BitTensor.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Caret.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/Caret.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Close.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/Close.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Cog.d.ts +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Cog.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/Cog.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/CoinGecko.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/CoinGecko.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/DexScreener.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/DexScreener.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Discord.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/Discord.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Discount.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/Discount.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Error.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/Error.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Expand.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/Expand.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/External.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/External.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/FirePink.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/GiftBox.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/GiftBoxPlain.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Insight.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/Insight.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/L1X.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/LineChart.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/More.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/More.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/NewOffer.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/NewOffer.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/PlaceholderMonkey.d.ts +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/PlaceholderMonkey.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/PlaceholderMonkey.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Question.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/QuestionCircle.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/QuestionCircle.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Robinhood.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Search.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/Search.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/SellingFast.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/SellingFast.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/ShortSupply.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Sort.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/Sort.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Star.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/StarFilled.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Success.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/Success.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Tag.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Tick.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/Tick.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Timer.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/TurnArrow.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/TurnArrow.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/Twitter.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/Twitter.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/URL.js +2 -2
- package/dist/components/uikit-sdk/Svg/Icons/URL.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/WhaleActivity.js +1 -1
- package/dist/components/uikit-sdk/Svg/Icons/WhaleActivity.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/styles.d.ts +5 -2
- package/dist/components/uikit-sdk/Svg/styles.js +9 -7
- package/dist/components/uikit-sdk/Svg/styles.js.map +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/APTOS.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/ARBITRUM.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/AVAX.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/BASE.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/BERA.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/BLAST.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/BNB.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/CROSSFI.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/ETH.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/GraphLinq.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/HYPEREVM.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/INEVM.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/IOTA.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/KATANA.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/LIGHTLINK.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/LINEA.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/MEGAETH.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/MONAD.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/POLYGON.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/SOL.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/SONIC.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/SUI.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/TLOS.js +1 -1
- package/dist/components/uikit-sdk/Svg/tokens/UNICHAIN.js +1 -1
- package/dist/components/uikit-sdk/SwiperDots/index.d.ts +1 -2
- package/dist/components/uikit-sdk/SwiperDots/index.js +3 -9
- package/dist/components/uikit-sdk/SwiperDots/index.js.map +1 -1
- package/dist/components/uikit-sdk/TabNav/index.js +3 -34
- package/dist/components/uikit-sdk/TabNav/index.js.map +1 -1
- package/dist/components/uikit-sdk/Tag/ListTag.d.ts +1 -2
- package/dist/components/uikit-sdk/Tag/ListTag.js +13 -16
- package/dist/components/uikit-sdk/Tag/ListTag.js.map +1 -1
- package/dist/components/uikit-sdk/Text/index.d.ts +1 -2
- package/dist/components/uikit-sdk/Text/index.js +29 -8
- package/dist/components/uikit-sdk/Text/index.js.map +1 -1
- package/dist/components/uikit-sdk/Text/types.d.ts +2 -2
- package/dist/components/uikit-sdk/Text/types.js.map +1 -1
- package/dist/components/uikit-sdk/Toggle/index.d.ts +1 -2
- package/dist/components/uikit-sdk/Toggle/index.js +7 -8
- package/dist/components/uikit-sdk/Toggle/index.js.map +1 -1
- package/dist/components/uikit-sdk/TokenImage/index.d.ts +1 -2
- package/dist/components/uikit-sdk/TokenImage/index.js +3 -45
- package/dist/components/uikit-sdk/TokenImage/index.js.map +1 -1
- package/dist/components/uikit-sdk/TooltipBubble/index.js +32 -52
- package/dist/components/uikit-sdk/TooltipBubble/index.js.map +1 -1
- package/dist/components/uikit-sdk/TooltipBubble/types.d.ts +5 -4
- package/dist/components/uikit-sdk/TooltipBubble/types.js.map +1 -1
- package/dist/config/constants/chains.js +1 -1
- package/dist/config/constants/chains.js.map +1 -1
- package/dist/contexts/ModalContext.d.ts +1 -1
- package/dist/contexts/ModalContext.js +1 -1
- package/dist/contexts/Popups.d.ts +1 -1
- package/dist/contexts/Popups.js +2 -2
- package/dist/contexts/Popups.js.map +1 -1
- package/dist/providers/AptosWalletProvider.d.ts +1 -1
- package/dist/providers/SolanaWalletProvider.d.ts +1 -1
- package/dist/providers/SuiWalletProvider.d.ts +1 -1
- package/dist/providers/index.d.ts +2 -13
- package/dist/providers/index.js +7 -36
- package/dist/providers/index.js.map +1 -1
- package/dist/state/useSDKConfig.d.ts +6 -0
- package/dist/state/useSDKConfig.js.map +1 -1
- package/dist/styles.css +2 -1588
- package/dist/utils/campaignStyles.d.ts +5 -5
- package/dist/utils/campaignStyles.js.map +1 -1
- package/dist/views/Bonds/Bonds.d.ts +1 -2
- package/dist/views/Bonds/Bonds.js +2 -11
- package/dist/views/Bonds/Bonds.js.map +1 -1
- package/dist/views/Bonds/components/BondRows/ActiveBondRows.js +5 -9
- package/dist/views/Bonds/components/BondRows/ActiveBondRows.js.map +1 -1
- package/dist/views/Bonds/components/BondRows/BondRow.js +13 -12
- package/dist/views/Bonds/components/BondRows/BondRow.js.map +1 -1
- package/dist/views/Bonds/components/BondRows/ChainTitle.d.ts +1 -2
- package/dist/views/Bonds/components/BondRows/ChainTitle.js +5 -13
- package/dist/views/Bonds/components/BondRows/ChainTitle.js.map +1 -1
- package/dist/views/Bonds/components/BondRows/ModalHandler.d.ts +1 -2
- package/dist/views/Bonds/components/BondRows/ModalHandler.js +1 -1
- package/dist/views/Bonds/components/BondRows/ModalHandlerPreTGE.d.ts +1 -2
- package/dist/views/Bonds/components/BondRows/ModalHandlerPreTGE.js +1 -1
- package/dist/views/Bonds/components/BondRows/SoldOutRows.d.ts +1 -2
- package/dist/views/Bonds/components/BondRows/SoldOutRows.js +6 -8
- package/dist/views/Bonds/components/BondRows/SoldOutRows.js.map +1 -1
- package/dist/views/Bonds/components/BondsMenu/BondsMenu.js +4 -10
- package/dist/views/Bonds/components/BondsMenu/BondsMenu.js.map +1 -1
- package/dist/views/Bonds/components/BonusComponents/BonusComponent.d.ts +1 -2
- package/dist/views/Bonds/components/BonusComponents/BonusComponent.js +5 -25
- package/dist/views/Bonds/components/BonusComponents/BonusComponent.js.map +1 -1
- package/dist/views/Bonds/components/BonusComponents/BonusContainer.d.ts +3 -3
- package/dist/views/Bonds/components/BonusComponents/BonusContainer.js +6 -3
- package/dist/views/Bonds/components/BonusComponents/BonusContainer.js.map +1 -1
- package/dist/views/Bonds/components/BonusComponents/BonusTable.d.ts +1 -2
- package/dist/views/Bonds/components/BonusComponents/BonusTable.js +8 -21
- package/dist/views/Bonds/components/BonusComponents/BonusTable.js.map +1 -1
- package/dist/views/Bonds/components/BuyAgainRow/index.d.ts +1 -2
- package/dist/views/Bonds/components/BuyAgainRow/index.js +3 -22
- package/dist/views/Bonds/components/BuyAgainRow/index.js.map +1 -1
- package/dist/views/Bonds/components/ChainBanner/ChainBanner.d.ts +1 -2
- package/dist/views/Bonds/components/ChainBanner/ChainBanner.js +7 -11
- package/dist/views/Bonds/components/ChainBanner/ChainBanner.js.map +1 -1
- package/dist/views/Bonds/components/CheckURL/index.d.ts +1 -2
- package/dist/views/Bonds/components/CheckURL/index.js +1 -1
- package/dist/views/Bonds/components/HotBondCards/HotBondCard.d.ts +1 -2
- package/dist/views/Bonds/components/HotBondCards/HotBondCard.js +2 -19
- package/dist/views/Bonds/components/HotBondCards/HotBondCard.js.map +1 -1
- package/dist/views/Bonds/components/HotBondCards/index.d.ts +1 -2
- package/dist/views/Bonds/components/HotBondCards/index.js +3 -14
- package/dist/views/Bonds/components/HotBondCards/index.js.map +1 -1
- package/dist/views/Bonds/components/LoadingSkeleton/LoadingSkeleton.d.ts +1 -2
- package/dist/views/Bonds/components/LoadingSkeleton/LoadingSkeleton.js +2 -17
- package/dist/views/Bonds/components/LoadingSkeleton/LoadingSkeleton.js.map +1 -1
- package/dist/views/Bonds/components/RecommendationCards/SmallRecommendationCard.d.ts +1 -2
- package/dist/views/Bonds/components/RecommendationCards/SmallRecommendationCard.js +3 -3
- package/dist/views/Bonds/components/RecommendationCards/SmallRecommendationCard.js.map +1 -1
- package/dist/views/Bonds/components/RecommendationCards/index.d.ts +1 -2
- package/dist/views/Bonds/components/RecommendationCards/index.js +2 -12
- package/dist/views/Bonds/components/RecommendationCards/index.js.map +1 -1
- package/dist/views/Bonds/index.js +1 -1
- package/dist/views/BuyBond/BuyBondModal.js +2 -2
- package/dist/views/BuyBond/BuyBondModal.js.map +1 -1
- package/dist/views/BuyBond/BuyComponent.js +6 -27
- package/dist/views/BuyBond/BuyComponent.js.map +1 -1
- package/dist/views/BuyBond/BuyComponentAptos.js +3 -9
- package/dist/views/BuyBond/BuyComponentAptos.js.map +1 -1
- package/dist/views/BuyBond/BuyComponentPreTGE.d.ts +1 -2
- package/dist/views/BuyBond/BuyComponentPreTGE.js +5 -24
- package/dist/views/BuyBond/BuyComponentPreTGE.js.map +1 -1
- package/dist/views/BuyBond/BuyComponentSolana.js +4 -10
- package/dist/views/BuyBond/BuyComponentSolana.js.map +1 -1
- package/dist/views/BuyBond/BuyComponentSui.js +3 -9
- package/dist/views/BuyBond/BuyComponentSui.js.map +1 -1
- package/dist/views/BuyBond/ParticipationSuccessful.d.ts +1 -2
- package/dist/views/BuyBond/ParticipationSuccessful.js +8 -26
- package/dist/views/BuyBond/ParticipationSuccessful.js.map +1 -1
- package/dist/views/BuyBond/components/BondCards/BondCards.d.ts +1 -2
- package/dist/views/BuyBond/components/BondCards/BondCards.js +6 -54
- package/dist/views/BuyBond/components/BondCards/BondCards.js.map +1 -1
- package/dist/views/BuyBond/components/BondCards/BondCardsPreTGE.d.ts +1 -2
- package/dist/views/BuyBond/components/BondCards/BondCardsPreTGE.js +3 -56
- package/dist/views/BuyBond/components/BondCards/BondCardsPreTGE.js.map +1 -1
- package/dist/views/BuyBond/components/BondModalHeader.d.ts +1 -2
- package/dist/views/BuyBond/components/BondModalHeader.js +4 -48
- package/dist/views/BuyBond/components/BondModalHeader.js.map +1 -1
- package/dist/views/BuyBond/components/BondModalMinTierHeader.d.ts +1 -1
- package/dist/views/BuyBond/components/BondModalMinTierHeader.js +3 -8
- package/dist/views/BuyBond/components/BondModalMinTierHeader.js.map +1 -1
- package/dist/views/BuyBond/components/Estimations.d.ts +1 -2
- package/dist/views/BuyBond/components/Estimations.js +8 -37
- package/dist/views/BuyBond/components/Estimations.js.map +1 -1
- package/dist/views/BuyBond/components/ExpandedViewButton.d.ts +1 -2
- package/dist/views/BuyBond/components/ExpandedViewButton.js +2 -15
- package/dist/views/BuyBond/components/ExpandedViewButton.js.map +1 -1
- package/dist/views/BuyBond/components/GetUpToComponent/GetUpToComponent.js +3 -30
- package/dist/views/BuyBond/components/GetUpToComponent/GetUpToComponent.js.map +1 -1
- package/dist/views/BuyBond/components/NewRateModal/NewRateModal.d.ts +1 -2
- package/dist/views/BuyBond/components/NewRateModal/NewRateModal.js +2 -14
- package/dist/views/BuyBond/components/NewRateModal/NewRateModal.js.map +1 -1
- package/dist/views/BuyBond/components/NoBonusModal/NoBonusModal.js +2 -2
- package/dist/views/BuyBond/components/NoBonusModal/NoBonusModal.js.map +1 -1
- package/dist/views/BuyBond/components/PointsLeftForNextTier/PointsLeftForNextTier.js +11 -86
- package/dist/views/BuyBond/components/PointsLeftForNextTier/PointsLeftForNextTier.js.map +1 -1
- package/dist/views/BuyBond/components/ProjectDescription.d.ts +1 -2
- package/dist/views/BuyBond/components/ProjectDescription.js +2 -15
- package/dist/views/BuyBond/components/ProjectDescription.js.map +1 -1
- package/dist/views/BuyBond/index.js +1 -1
- package/dist/views/FullBondsView/FullBondsView.d.ts +1 -2
- package/dist/views/FullBondsView/FullBondsView.js +2 -2
- package/dist/views/FullBondsView/FullBondsView.js.map +1 -1
- package/dist/views/FullBondsView/index.js +1 -1
- package/dist/views/LifiModal/LifiModal.d.ts +1 -2
- package/dist/views/LifiModal/LifiModal.js +2 -2
- package/dist/views/LifiModal/LifiModal.js.map +1 -1
- package/dist/views/ProjectView/ProjectView.js +2 -15
- package/dist/views/ProjectView/ProjectView.js.map +1 -1
- package/dist/views/ProjectView/components/BondLeaderboard/components/SalesTable.d.ts +1 -2
- package/dist/views/ProjectView/components/BondLeaderboard/components/SalesTable.js +3 -22
- package/dist/views/ProjectView/components/BondLeaderboard/components/SalesTable.js.map +1 -1
- package/dist/views/ProjectView/components/BondLeaderboard/components/TopSaleCard.d.ts +1 -2
- package/dist/views/ProjectView/components/BondLeaderboard/components/TopSaleCard.js +7 -19
- package/dist/views/ProjectView/components/BondLeaderboard/components/TopSaleCard.js.map +1 -1
- package/dist/views/ProjectView/components/BondLeaderboard/components/TopThreeSalesCards.d.ts +1 -2
- package/dist/views/ProjectView/components/BondLeaderboard/components/TopThreeSalesCards.js +2 -2
- package/dist/views/ProjectView/components/BondLeaderboard/components/TopThreeSalesCards.js.map +1 -1
- package/dist/views/ProjectView/components/BondLeaderboard/index.d.ts +1 -2
- package/dist/views/ProjectView/components/BondLeaderboard/index.js +2 -14
- package/dist/views/ProjectView/components/BondLeaderboard/index.js.map +1 -1
- package/dist/views/ProjectView/components/BondStats/LineChart.js +4 -10
- package/dist/views/ProjectView/components/BondStats/LineChart.js.map +1 -1
- package/dist/views/ProjectView/components/BondStats/index.d.ts +1 -2
- package/dist/views/ProjectView/components/BondStats/index.js +2 -4
- package/dist/views/ProjectView/components/BondStats/index.js.map +1 -1
- package/dist/views/ProjectView/components/NavPanel/index.d.ts +1 -2
- package/dist/views/ProjectView/components/NavPanel/index.js +2 -10
- package/dist/views/ProjectView/components/NavPanel/index.js.map +1 -1
- package/dist/views/ProjectView/components/PriceChart/components/CandleStickChart.d.ts +1 -2
- package/dist/views/ProjectView/components/PriceChart/components/CandleStickChart.js +1 -1
- package/dist/views/ProjectView/components/PriceChart/components/LineChart.d.ts +1 -2
- package/dist/views/ProjectView/components/PriceChart/components/LineChart.js +1 -1
- package/dist/views/ProjectView/components/PriceChart/index.d.ts +1 -2
- package/dist/views/ProjectView/components/PriceChart/index.js +4 -3
- package/dist/views/ProjectView/components/PriceChart/index.js.map +1 -1
- package/dist/views/ProjectView/components/ProjectInfo/index.d.ts +1 -2
- package/dist/views/ProjectView/components/ProjectInfo/index.js +2 -3
- package/dist/views/ProjectView/components/ProjectInfo/index.js.map +1 -1
- package/dist/views/ProjectView/components/RecommendationCards/index.d.ts +1 -2
- package/dist/views/ProjectView/components/RecommendationCards/index.js +2 -16
- package/dist/views/ProjectView/components/RecommendationCards/index.js.map +1 -1
- package/dist/views/ProjectView/index.js +1 -1
- package/dist/views/SingleBond/SingleBond.js +4 -10
- package/dist/views/SingleBond/SingleBond.js.map +1 -1
- package/dist/views/SingleBond/SoldOutBuyBondPlaceholder.js +5 -28
- package/dist/views/SingleBond/SoldOutBuyBondPlaceholder.js.map +1 -1
- package/dist/views/SingleBond/index.js +1 -1
- package/dist/views/TransactionModal/TransactionModal.d.ts +1 -2
- package/dist/views/TransactionModal/TransactionModal.js +13 -40
- package/dist/views/TransactionModal/TransactionModal.js.map +1 -1
- package/dist/views/YourBonds/YourBonds.d.ts +1 -2
- package/dist/views/YourBonds/YourBonds.js +5 -9
- package/dist/views/YourBonds/YourBonds.js.map +1 -1
- package/dist/views/YourBonds/components/ClaimAll/ClaimAllModal.d.ts +1 -2
- package/dist/views/YourBonds/components/ClaimAll/ClaimAllModal.js +5 -24
- package/dist/views/YourBonds/components/ClaimAll/ClaimAllModal.js.map +1 -1
- package/dist/views/YourBonds/components/ClaimAll/index.d.ts +1 -2
- package/dist/views/YourBonds/components/ClaimAll/index.js +2 -10
- package/dist/views/YourBonds/components/ClaimAll/index.js.map +1 -1
- package/dist/views/YourBonds/components/ProfitCard/ProfitCard.d.ts +1 -2
- package/dist/views/YourBonds/components/ProfitCard/ProfitCard.js +3 -15
- package/dist/views/YourBonds/components/ProfitCard/ProfitCard.js.map +1 -1
- package/dist/views/YourBonds/components/UserBondRow/PreTGEActions.d.ts +1 -2
- package/dist/views/YourBonds/components/UserBondRow/PreTGEActions.js +2 -6
- package/dist/views/YourBonds/components/UserBondRow/PreTGEActions.js.map +1 -1
- package/dist/views/YourBonds/components/UserBondRow/UserBondRow.d.ts +1 -2
- package/dist/views/YourBonds/components/UserBondRow/UserBondRow.js +5 -8
- package/dist/views/YourBonds/components/UserBondRow/UserBondRow.js.map +1 -1
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowAptos.d.ts +1 -2
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowAptos.js +4 -5
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowAptos.js.map +1 -1
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowPreTGE.d.ts +1 -2
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowPreTGE.js +3 -5
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowPreTGE.js.map +1 -1
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowSolana.d.ts +1 -2
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowSolana.js +4 -7
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowSolana.js.map +1 -1
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowSui.d.ts +1 -2
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowSui.js +4 -5
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowSui.js.map +1 -1
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowYield.d.ts +1 -2
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowYield.js +3 -10
- package/dist/views/YourBonds/components/UserBondRow/UserBondRowYield.js.map +1 -1
- package/dist/views/YourBonds/components/YourBondsMenu/YourBondsMenu.d.ts +1 -2
- package/dist/views/YourBonds/components/YourBondsMenu/YourBondsMenu.js +3 -3
- package/dist/views/YourBonds/components/YourBondsMenu/YourBondsMenu.js.map +1 -1
- package/dist/views/YourBonds/index.js +1 -1
- package/dist/views/YourBondsModal/YourBondsModal.d.ts +1 -2
- package/dist/views/YourBondsModal/YourBondsModal.js +4 -95
- package/dist/views/YourBondsModal/YourBondsModal.js.map +1 -1
- package/dist/views/YourBondsModal/components/Actions/Actions.d.ts +1 -2
- package/dist/views/YourBondsModal/components/Actions/Actions.js +3 -3
- package/dist/views/YourBondsModal/components/Actions/Actions.js.map +1 -1
- package/dist/views/YourBondsModal/components/Actions/ActionsAptos.d.ts +1 -2
- package/dist/views/YourBondsModal/components/Actions/ActionsAptos.js +3 -3
- package/dist/views/YourBondsModal/components/Actions/ActionsAptos.js.map +1 -1
- package/dist/views/YourBondsModal/components/Actions/ActionsSolana.d.ts +1 -2
- package/dist/views/YourBondsModal/components/Actions/ActionsSolana.js +3 -3
- package/dist/views/YourBondsModal/components/Actions/ActionsSolana.js.map +1 -1
- package/dist/views/YourBondsModal/components/Actions/ActionsSui.d.ts +1 -2
- package/dist/views/YourBondsModal/components/Actions/ActionsSui.js +3 -3
- package/dist/views/YourBondsModal/components/Actions/ActionsSui.js.map +1 -1
- package/dist/views/YourBondsModal/components/LinkShare/LinkShare.d.ts +1 -1
- package/dist/views/YourBondsModal/components/LinkShare/LinkShare.js +3 -16
- package/dist/views/YourBondsModal/components/LinkShare/LinkShare.js.map +1 -1
- package/dist/views/YourBondsModal/components/LinkShare/templateImageShare.js +1 -2
- package/dist/views/YourBondsModal/components/LinkShare/templateImageShare.js.map +1 -1
- package/dist/views/YourBondsModal/components/NFTImage/NFTImage.d.ts +1 -2
- package/dist/views/YourBondsModal/components/NFTImage/NFTImage.js +8 -86
- package/dist/views/YourBondsModal/components/NFTImage/NFTImage.js.map +1 -1
- package/dist/views/YourBondsModal/components/Recommendations/CardRecommendation.d.ts +1 -1
- package/dist/views/YourBondsModal/components/Recommendations/CardRecommendation.js +2 -15
- package/dist/views/YourBondsModal/components/Recommendations/CardRecommendation.js.map +1 -1
- package/dist/views/YourBondsModal/components/Recommendations/RecSkeleton.d.ts +1 -2
- package/dist/views/YourBondsModal/components/Recommendations/RecSkeleton.js +2 -12
- package/dist/views/YourBondsModal/components/Recommendations/RecSkeleton.js.map +1 -1
- package/dist/views/YourBondsModal/components/Recommendations/Recommendations.d.ts +1 -2
- package/dist/views/YourBondsModal/components/Recommendations/Recommendations.js +2 -6
- package/dist/views/YourBondsModal/components/Recommendations/Recommendations.js.map +1 -1
- package/dist/views/YourBondsModal/components/TransferBondModal/TransferAction.d.ts +1 -2
- package/dist/views/YourBondsModal/components/TransferBondModal/TransferAction.js +1 -1
- package/dist/views/YourBondsModal/components/TransferBondModal/TransferActionAptos.d.ts +1 -2
- package/dist/views/YourBondsModal/components/TransferBondModal/TransferActionAptos.js +2 -2
- package/dist/views/YourBondsModal/components/TransferBondModal/TransferActionAptos.js.map +1 -1
- package/dist/views/YourBondsModal/components/TransferBondModal/TransferActionSolana.d.ts +1 -1
- package/dist/views/YourBondsModal/components/TransferBondModal/TransferActionSolana.js +1 -1
- package/dist/views/YourBondsModal/components/TransferBondModal/TransferActionSui.d.ts +1 -2
- package/dist/views/YourBondsModal/components/TransferBondModal/TransferActionSui.js +1 -1
- package/dist/views/YourBondsModal/components/TransferBondModal/index.js +3 -3
- package/dist/views/YourBondsModal/components/TransferBondModal/index.js.map +1 -1
- package/dist/views/YourBondsModal/components/YourBondModalHeader/YourBondModalHeader.d.ts +1 -2
- package/dist/views/YourBondsModal/components/YourBondModalHeader/YourBondModalHeader.js +2 -24
- package/dist/views/YourBondsModal/components/YourBondModalHeader/YourBondModalHeader.js.map +1 -1
- package/dist/views/YourBondsModalYield/YourBondsModalYield.d.ts +1 -2
- package/dist/views/YourBondsModalYield/YourBondsModalYield.js +3 -73
- package/dist/views/YourBondsModalYield/YourBondsModalYield.js.map +1 -1
- package/dist/views/YourBondsModalYield/components/UnstakeModalYield/UnstakeModalYield.d.ts +1 -2
- package/dist/views/YourBondsModalYield/components/UnstakeModalYield/UnstakeModalYield.js +2 -7
- package/dist/views/YourBondsModalYield/components/UnstakeModalYield/UnstakeModalYield.js.map +1 -1
- package/dist/views/YourBondsModalYield/components/YourBondModalHeader/YourBondModalHeader.d.ts +1 -2
- package/dist/views/YourBondsModalYield/components/YourBondModalHeader/YourBondModalHeader.js +2 -19
- package/dist/views/YourBondsModalYield/components/YourBondModalHeader/YourBondModalHeader.js.map +1 -1
- package/package.json +7 -8
- package/dist/components/Carousel/styles.d.ts +0 -35
- package/dist/components/Carousel/styles.js +0 -40
- package/dist/components/Carousel/styles.js.map +0 -1
- package/dist/components/ChainOptionList/styles.d.ts +0 -2
- package/dist/components/ChainOptionList/styles.js +0 -54
- package/dist/components/ChainOptionList/styles.js.map +0 -1
- package/dist/components/ProgressBar/styles.d.ts +0 -2
- package/dist/components/ProgressBar/styles.js +0 -15
- package/dist/components/ProgressBar/styles.js.map +0 -1
- package/dist/components/Toast/styles.d.ts +0 -3
- package/dist/components/Toast/styles.js +0 -30
- package/dist/components/Toast/styles.js.map +0 -1
- package/dist/components/Tooltip/styles.d.ts +0 -2
- package/dist/components/Tooltip/styles.js +0 -32
- package/dist/components/Tooltip/styles.js.map +0 -1
- package/dist/components/uikit-sdk/Button/styles.d.ts +0 -3
- package/dist/components/uikit-sdk/Button/styles.js +0 -31
- package/dist/components/uikit-sdk/Button/styles.js.map +0 -1
- package/dist/components/uikit-sdk/Modal/styles.d.ts +0 -3
- package/dist/components/uikit-sdk/Modal/styles.js +0 -47
- package/dist/components/uikit-sdk/Modal/styles.js.map +0 -1
- package/dist/components/uikit-sdk/Select/styles.d.ts +0 -4
- package/dist/components/uikit-sdk/Select/styles.js +0 -50
- package/dist/components/uikit-sdk/Select/styles.js.map +0 -1
- package/dist/components/uikit-sdk/Skeleton/styles.d.ts +0 -3
- package/dist/components/uikit-sdk/Skeleton/styles.js +0 -43
- package/dist/components/uikit-sdk/Skeleton/styles.js.map +0 -1
- package/dist/components/uikit-sdk/Toggle/styles.d.ts +0 -3
- package/dist/components/uikit-sdk/Toggle/styles.js +0 -22
- package/dist/components/uikit-sdk/Toggle/styles.js.map +0 -1
- package/dist/components/uikit-sdk/TooltipBubble/styles.d.ts +0 -4
- package/dist/components/uikit-sdk/TooltipBubble/styles.js +0 -108
- package/dist/components/uikit-sdk/TooltipBubble/styles.js.map +0 -1
- package/dist/theme/base.d.ts +0 -109
- package/dist/theme/base.js +0 -125
- package/dist/theme/base.js.map +0 -1
- package/dist/theme/components.d.ts +0 -411
- package/dist/theme/components.js +0 -365
- package/dist/theme/components.js.map +0 -1
- package/dist/theme/index.d.ts +0 -2
- package/dist/theme/index.js +0 -12
- package/dist/theme/index.js.map +0 -1
- package/dist/views/Bonds/components/HotBondCards/styles.d.ts +0 -35
- package/dist/views/Bonds/components/HotBondCards/styles.js +0 -38
- package/dist/views/Bonds/components/HotBondCards/styles.js.map +0 -1
- package/dist/views/Bonds/components/RecommendationCards/styles.d.ts +0 -2
- package/dist/views/Bonds/components/RecommendationCards/styles.js +0 -24
- package/dist/views/Bonds/components/RecommendationCards/styles.js.map +0 -1
- package/dist/views/BuyBond/styles.d.ts +0 -2
- package/dist/views/BuyBond/styles.js +0 -33
- package/dist/views/BuyBond/styles.js.map +0 -1
- package/dist/views/ProjectView/components/BondLeaderboard/components/styles.d.ts +0 -2
- package/dist/views/ProjectView/components/BondLeaderboard/components/styles.js +0 -51
- package/dist/views/ProjectView/components/BondLeaderboard/components/styles.js.map +0 -1
- package/dist/views/ProjectView/components/BondStats/styles.d.ts +0 -2
- package/dist/views/ProjectView/components/BondStats/styles.js +0 -49
- package/dist/views/ProjectView/components/BondStats/styles.js.map +0 -1
- package/dist/views/ProjectView/components/PriceChart/styles.d.ts +0 -2
- package/dist/views/ProjectView/components/PriceChart/styles.js +0 -44
- package/dist/views/ProjectView/components/PriceChart/styles.js.map +0 -1
- package/dist/views/ProjectView/components/ProjectInfo/styles.d.ts +0 -2
- package/dist/views/ProjectView/components/ProjectInfo/styles.js +0 -21
- package/dist/views/ProjectView/components/ProjectInfo/styles.js.map +0 -1
- package/dist/views/ProjectView/styles.d.ts +0 -2
- package/dist/views/ProjectView/styles.js +0 -10
- package/dist/views/ProjectView/styles.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionsSui.js","sources":["../../../../../src/views/YourBondsModal/components/Actions/ActionsSui.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { ChainId } from '@ape.swap/apeswap-lists'\nimport { Transaction } from '@mysten/sui/transactions'\n\nimport { claimable } from '../../../../utils/displayHelpers'\nimport { UserBill } from '../../../../types/yourbonds'\nimport { getTimePeriods } from '../../../../utils/getTimePeriods'\nimport useBondsData from '../../../../state/bonds/useBondsData'\nimport { usePopups } from '../../../../state/popups/usePopups'\nimport { useSDKConfig } from '../../../../state/useSDKConfig'\nimport { reportError } from '../../../../utils/reportError'\nimport Button from '../../../../components/uikit-sdk/Button/Button'\n\nimport { useQueryClient } from '@tanstack/react-query'\nimport useSUIAccount from '../../../../hooks/accounts/useSUIAccount'\nimport { SUI_CLAIM_FUNCTION } from '../../../../constants/suiConstants'\nimport { getSuiClient, verifySuiTxSuccess } from '../../../../utils/suiHelpers'\nimport { QUERY_KEYS } from '../../../../config/constants/queryKeys'\n\n// YourBondsModal action buttons for Sui bonds. Mirrors the shape of\n// `ActionsAptos`: one Claim button and one \"Buy again\" button that\n// jumps to an active bond of the same showcase token.\nconst ActionsSui = ({ userBill }: { userBill?: UserBill }) => {\n // Hooks\n const SDKConfig = useSDKConfig()\n const queryClient = useQueryClient()\n const { address: suiAccount, signAndExecuteTransaction } = useSUIAccount()\n const { addToastError, addToastSuccess } = usePopups()\n const { data: liveBonds } = useBondsData()\n\n // State\n const [loadingTx, setLoadingTx] = useState(false)\n\n // Static Data\n const similarLiveBond = liveBonds?.find(\n (bond) =>\n !bond?.soldOut &&\n !bond?.hide &&\n bond?.earnToken?.symbol?.toLowerCase() === userBill?.bond?.earnToken?.symbol?.toLowerCase(),\n )\n const canPurchaseAgain = !!similarLiveBond\n const vestingCliff = userBill?.bond?.vestingCliff\n const currentTime = Math.round(new Date().getTime() / 1000)\n const purchaseTimestamp = parseInt(userBill?.vestingStartTimestamp ?? '0')\n const isPendingCliff = vestingCliff ? currentTime - purchaseTimestamp < vestingCliff : false\n const cliffCountdown = getTimePeriods(purchaseTimestamp + (vestingCliff ?? 0) - currentTime, true)\n\n const handleClaim = async () => {\n if (loadingTx || !suiAccount || !userBill || !signAndExecuteTransaction) return\n\n try {\n setLoadingTx(true)\n\n const market = userBill?.bond?.contractAddress?.[userBill?.bond?.chainId]\n if (!market) throw new Error('Missing bond market address')\n\n // The user's BondNFT object ID is stored in `bill.address`\n const nftObjectId = userBill?.address\n if (!nftObjectId) throw new Error('Missing bond NFT object ID')\n\n const payoutCoinType = userBill?.bond?.earnToken?.address?.[userBill?.bond?.chainId ?? 0]\n const principalCoinType = userBill?.bond?.lpToken?.address?.[userBill?.bond?.chainId ?? 0]\n if (!payoutCoinType || !principalCoinType) throw new Error('Missing token type info')\n\n const tx = new Transaction()\n const [claimedCoin] = tx.moveCall({\n target: SUI_CLAIM_FUNCTION,\n typeArguments: [payoutCoinType, principalCoinType],\n arguments: [\n tx.object(market),\n tx.object(nftObjectId),\n tx.object('0x6'), // clock\n ],\n })\n tx.transferObjects([claimedCoin], tx.pure.address(suiAccount))\n\n // Pre-build so the wallet receives fully-resolved bytes\n tx.setSender(suiAccount)\n tx.setGasBudget(50_000_000)\n const suiClient = getSuiClient()\n const builtBytes = await tx.build({ client: suiClient })\n const prebuiltTx = Transaction.from(builtBytes)\n\n const response = await signAndExecuteTransaction({\n transaction: prebuiltTx,\n })\n\n const digest = response?.digest\n if (!digest) throw new Error('No tx digest returned by wallet')\n\n await suiClient.waitForTransaction({ digest })\n await verifySuiTxSuccess(digest)\n\n await queryClient.invalidateQueries({ queryKey: [QUERY_KEYS.USER_BONDS] })\n addToastSuccess(digest, ChainId.SUI)\n } catch (error: any) {\n console.error('Sui claim failed:', error)\n addToastError(error?.message ?? 'Unknown error')\n reportError({\n apiUrl: SDKConfig?.urls?.apiV2,\n error,\n account: suiAccount ?? '',\n chainId: ChainId.SUI,\n extraInfo: { type: 'suiClaim', userBill, error },\n })\n } finally {\n setLoadingTx(false)\n }\n }\n\n return (\n <>\n <Button\n variant=\"secondary\"\n disabled={claimable(userBill) === 0 || loadingTx || !userBill || isPendingCliff}\n load={loadingTx}\n onClick={(event) => {\n event.stopPropagation()\n if (!loadingTx) handleClaim()\n }}\n sx={{ fontSize: '14px', width: '100%' }}\n >\n {isPendingCliff\n ? `Claimable in ${cliffCountdown.days !== 0 ? `${cliffCountdown.days} days` : cliffCountdown.hours !== 0 ? `${cliffCountdown.hours} hours` : `${cliffCountdown.minutes} mins`}`\n : 'Claim'}\n </Button>\n <Button\n sx={{ fontSize: '14px', width: '100%' }}\n onClick={() => {\n if (!canPurchaseAgain) return\n const params = `/bonds?bondAddress=${similarLiveBond.contractAddress[similarLiveBond.chainId]}&bondChain=${similarLiveBond.chainId}`\n window.location.href = `${params}`\n }}\n disabled={!canPurchaseAgain}\n >\n {canPurchaseAgain ? 'Buy again' : 'sold out'}\n </Button>\n </>\n )\n}\n\nexport default ActionsSui\n"],"names":["_jsxs","_Fragment","_jsx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ActionsSui.js","sources":["../../../../../src/views/YourBondsModal/components/Actions/ActionsSui.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { ChainId } from '@ape.swap/apeswap-lists'\nimport { Transaction } from '@mysten/sui/transactions'\n\nimport { claimable } from '../../../../utils/displayHelpers'\nimport { UserBill } from '../../../../types/yourbonds'\nimport { getTimePeriods } from '../../../../utils/getTimePeriods'\nimport useBondsData from '../../../../state/bonds/useBondsData'\nimport { usePopups } from '../../../../state/popups/usePopups'\nimport { useSDKConfig } from '../../../../state/useSDKConfig'\nimport { reportError } from '../../../../utils/reportError'\nimport Button from '../../../../components/uikit-sdk/Button/Button'\n\nimport { useQueryClient } from '@tanstack/react-query'\nimport useSUIAccount from '../../../../hooks/accounts/useSUIAccount'\nimport { SUI_CLAIM_FUNCTION } from '../../../../constants/suiConstants'\nimport { getSuiClient, verifySuiTxSuccess } from '../../../../utils/suiHelpers'\nimport { QUERY_KEYS } from '../../../../config/constants/queryKeys'\n\n// YourBondsModal action buttons for Sui bonds. Mirrors the shape of\n// `ActionsAptos`: one Claim button and one \"Buy again\" button that\n// jumps to an active bond of the same showcase token.\nconst ActionsSui = ({ userBill }: { userBill?: UserBill }) => {\n // Hooks\n const SDKConfig = useSDKConfig()\n const queryClient = useQueryClient()\n const { address: suiAccount, signAndExecuteTransaction } = useSUIAccount()\n const { addToastError, addToastSuccess } = usePopups()\n const { data: liveBonds } = useBondsData()\n\n // State\n const [loadingTx, setLoadingTx] = useState(false)\n\n // Static Data\n const similarLiveBond = liveBonds?.find(\n (bond) =>\n !bond?.soldOut &&\n !bond?.hide &&\n bond?.earnToken?.symbol?.toLowerCase() === userBill?.bond?.earnToken?.symbol?.toLowerCase(),\n )\n const canPurchaseAgain = !!similarLiveBond\n const vestingCliff = userBill?.bond?.vestingCliff\n const currentTime = Math.round(new Date().getTime() / 1000)\n const purchaseTimestamp = parseInt(userBill?.vestingStartTimestamp ?? '0')\n const isPendingCliff = vestingCliff ? currentTime - purchaseTimestamp < vestingCliff : false\n const cliffCountdown = getTimePeriods(purchaseTimestamp + (vestingCliff ?? 0) - currentTime, true)\n\n const handleClaim = async () => {\n if (loadingTx || !suiAccount || !userBill || !signAndExecuteTransaction) return\n\n try {\n setLoadingTx(true)\n\n const market = userBill?.bond?.contractAddress?.[userBill?.bond?.chainId]\n if (!market) throw new Error('Missing bond market address')\n\n // The user's BondNFT object ID is stored in `bill.address`\n const nftObjectId = userBill?.address\n if (!nftObjectId) throw new Error('Missing bond NFT object ID')\n\n const payoutCoinType = userBill?.bond?.earnToken?.address?.[userBill?.bond?.chainId ?? 0]\n const principalCoinType = userBill?.bond?.lpToken?.address?.[userBill?.bond?.chainId ?? 0]\n if (!payoutCoinType || !principalCoinType) throw new Error('Missing token type info')\n\n const tx = new Transaction()\n const [claimedCoin] = tx.moveCall({\n target: SUI_CLAIM_FUNCTION,\n typeArguments: [payoutCoinType, principalCoinType],\n arguments: [\n tx.object(market),\n tx.object(nftObjectId),\n tx.object('0x6'), // clock\n ],\n })\n tx.transferObjects([claimedCoin], tx.pure.address(suiAccount))\n\n // Pre-build so the wallet receives fully-resolved bytes\n tx.setSender(suiAccount)\n tx.setGasBudget(50_000_000)\n const suiClient = getSuiClient()\n const builtBytes = await tx.build({ client: suiClient })\n const prebuiltTx = Transaction.from(builtBytes)\n\n const response = await signAndExecuteTransaction({\n transaction: prebuiltTx,\n })\n\n const digest = response?.digest\n if (!digest) throw new Error('No tx digest returned by wallet')\n\n await suiClient.waitForTransaction({ digest })\n await verifySuiTxSuccess(digest)\n\n await queryClient.invalidateQueries({ queryKey: [QUERY_KEYS.USER_BONDS] })\n addToastSuccess(digest, ChainId.SUI)\n } catch (error: any) {\n console.error('Sui claim failed:', error)\n addToastError(error?.message ?? 'Unknown error')\n reportError({\n apiUrl: SDKConfig?.urls?.apiV2,\n error,\n account: suiAccount ?? '',\n chainId: ChainId.SUI,\n extraInfo: { type: 'suiClaim', userBill, error },\n })\n } finally {\n setLoadingTx(false)\n }\n }\n\n return (\n <>\n <Button\n variant=\"secondary\"\n disabled={claimable(userBill) === 0 || loadingTx || !userBill || isPendingCliff}\n load={loadingTx}\n onClick={(event) => {\n event.stopPropagation()\n if (!loadingTx) handleClaim()\n }}\n className=\"ape:text-[14px]! ape:w-full\"\n >\n {isPendingCliff\n ? `Claimable in ${cliffCountdown.days !== 0 ? `${cliffCountdown.days} days` : cliffCountdown.hours !== 0 ? `${cliffCountdown.hours} hours` : `${cliffCountdown.minutes} mins`}`\n : 'Claim'}\n </Button>\n <Button\n className=\"ape:text-[14px]! ape:w-full\"\n onClick={() => {\n if (!canPurchaseAgain) return\n const params = `/bonds?bondAddress=${similarLiveBond.contractAddress[similarLiveBond.chainId]}&bondChain=${similarLiveBond.chainId}`\n window.location.href = `${params}`\n }}\n disabled={!canPurchaseAgain}\n >\n {canPurchaseAgain ? 'Buy again' : 'sold out'}\n </Button>\n </>\n )\n}\n\nexport default ActionsSui\n"],"names":["_jsxs","_Fragment","_jsx"],"mappings":";;;;;;;;;;;;;;;;;AAmBA;AACA;AACA;AACA,MAAM,UAAU,GAAG,CAAC,EAAE,QAAQ,EAA2B,KAAI;;AAE3D,IAAA,MAAM,SAAS,GAAG,YAAY,EAAE;AAChC,IAAA,MAAM,WAAW,GAAG,cAAc,EAAE;IACpC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,yBAAyB,EAAE,GAAG,aAAa,EAAE;IAC1E,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,GAAG,SAAS,EAAE;IACtD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,YAAY,EAAE;;IAG1C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;;AAGjD,IAAA,MAAM,eAAe,GAAG,SAAS,EAAE,IAAI,CACrC,CAAC,IAAI,KACH,CAAC,IAAI,EAAE,OAAO;QACd,CAAC,IAAI,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,CAC9F;AACD,IAAA,MAAM,gBAAgB,GAAG,CAAC,CAAC,eAAe;AAC1C,IAAA,MAAM,YAAY,GAAG,QAAQ,EAAE,IAAI,EAAE,YAAY;AACjD,IAAA,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;IAC3D,MAAM,iBAAiB,GAAG,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,IAAI,GAAG,CAAC;AAC1E,IAAA,MAAM,cAAc,GAAG,YAAY,GAAG,WAAW,GAAG,iBAAiB,GAAG,YAAY,GAAG,KAAK;AAC5F,IAAA,MAAM,cAAc,GAAG,cAAc,CAAC,iBAAiB,IAAI,YAAY,IAAI,CAAC,CAAC,GAAG,WAAW,EAAE,IAAI,CAAC;AAElG,IAAA,MAAM,WAAW,GAAG,YAAW;QAC7B,IAAI,SAAS,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ,IAAI,CAAC,yBAAyB;YAAE;AAEzE,QAAA,IAAI;YACF,YAAY,CAAC,IAAI,CAAC;AAElB,YAAA,MAAM,MAAM,GAAG,QAAQ,EAAE,IAAI,EAAE,eAAe,GAAG,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC;AACzE,YAAA,IAAI,CAAC,MAAM;AAAE,gBAAA,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC;;AAG3D,YAAA,MAAM,WAAW,GAAG,QAAQ,EAAE,OAAO;AACrC,YAAA,IAAI,CAAC,WAAW;AAAE,gBAAA,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC;AAE/D,YAAA,MAAM,cAAc,GAAG,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,GAAG,QAAQ,EAAE,IAAI,EAAE,OAAO,IAAI,CAAC,CAAC;AACzF,YAAA,MAAM,iBAAiB,GAAG,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,GAAG,QAAQ,EAAE,IAAI,EAAE,OAAO,IAAI,CAAC,CAAC;AAC1F,YAAA,IAAI,CAAC,cAAc,IAAI,CAAC,iBAAiB;AAAE,gBAAA,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC;AAErF,YAAA,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE;AAC5B,YAAA,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC;AAChC,gBAAA,MAAM,EAAE,kBAAkB;AAC1B,gBAAA,aAAa,EAAE,CAAC,cAAc,EAAE,iBAAiB,CAAC;AAClD,gBAAA,SAAS,EAAE;AACT,oBAAA,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;AACjB,oBAAA,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC;AACtB,oBAAA,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;AACjB,iBAAA;AACF,aAAA,CAAC;AACF,YAAA,EAAE,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;;AAG9D,YAAA,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC;AACxB,YAAA,EAAE,CAAC,YAAY,CAAC,QAAU,CAAC;AAC3B,YAAA,MAAM,SAAS,GAAG,YAAY,EAAE;AAChC,YAAA,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;YACxD,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAE/C,YAAA,MAAM,QAAQ,GAAG,MAAM,yBAAyB,CAAC;AAC/C,gBAAA,WAAW,EAAE,UAAU;AACxB,aAAA,CAAC;AAEF,YAAA,MAAM,MAAM,GAAG,QAAQ,EAAE,MAAM;AAC/B,YAAA,IAAI,CAAC,MAAM;AAAE,gBAAA,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC;YAE/D,MAAM,SAAS,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;AAC9C,YAAA,MAAM,kBAAkB,CAAC,MAAM,CAAC;AAEhC,YAAA,MAAM,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;AAC1E,YAAA,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC;QACtC;QAAE,OAAO,KAAU,EAAE;AACnB,YAAA,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC;AACzC,YAAA,aAAa,CAAC,KAAK,EAAE,OAAO,IAAI,eAAe,CAAC;AAChD,YAAA,WAAW,CAAC;AACV,gBAAA,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;gBAC9B,KAAK;gBACL,OAAO,EAAE,UAAU,IAAI,EAAE;gBACzB,OAAO,EAAE,OAAO,CAAC,GAAG;gBACpB,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE;AACjD,aAAA,CAAC;QACJ;gBAAU;YACR,YAAY,CAAC,KAAK,CAAC;QACrB;AACF,IAAA,CAAC;AAED,IAAA,QACEA,IAAA,CAAAC,QAAA,EAAA,EAAA,QAAA,EAAA,CACEC,GAAA,CAAC,MAAM,IACL,OAAO,EAAC,WAAW,EACnB,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,SAAS,IAAI,CAAC,QAAQ,IAAI,cAAc,EAC/E,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,CAAC,KAAK,KAAI;oBACjB,KAAK,CAAC,eAAe,EAAE;AACvB,oBAAA,IAAI,CAAC,SAAS;AAAE,wBAAA,WAAW,EAAE;AAC/B,gBAAA,CAAC,EACD,SAAS,EAAC,6BAA6B,YAEtC;AACC,sBAAE,CAAA,aAAA,EAAgB,cAAc,CAAC,IAAI,KAAK,CAAC,GAAG,GAAG,cAAc,CAAC,IAAI,CAAA,KAAA,CAAO,GAAG,cAAc,CAAC,KAAK,KAAK,CAAC,GAAG,CAAA,EAAG,cAAc,CAAC,KAAK,CAAA,MAAA,CAAQ,GAAG,CAAA,EAAG,cAAc,CAAC,OAAO,OAAO,CAAA;AAC7K,sBAAE,OAAO,EAAA,CACJ,EACTA,IAAC,MAAM,EAAA,EACL,SAAS,EAAC,6BAA6B,EACvC,OAAO,EAAE,MAAK;AACZ,oBAAA,IAAI,CAAC,gBAAgB;wBAAE;AACvB,oBAAA,MAAM,MAAM,GAAG,CAAA,mBAAA,EAAsB,eAAe,CAAC,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA,WAAA,EAAc,eAAe,CAAC,OAAO,EAAE;oBACpI,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAA,EAAG,MAAM,EAAE;AACpC,gBAAA,CAAC,EACD,QAAQ,EAAE,CAAC,gBAAgB,EAAA,QAAA,EAE1B,gBAAgB,GAAG,WAAW,GAAG,UAAU,EAAA,CACrC,CAAA,EAAA,CACR;AAEP;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { jsxs, jsx } from '
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { useState } from 'react';
|
|
3
|
-
import
|
|
3
|
+
import Spinner from '../../../../components/uikit-sdk/Spinner/index.js';
|
|
4
4
|
import Flex from '../../../../components/uikit-sdk/Flex/index.js';
|
|
5
5
|
import { useURLByEnvironment } from '../../../../state/useSDKConfig.js';
|
|
6
6
|
import { generateImageFromTemplate } from './utils.js';
|
|
@@ -37,20 +37,7 @@ const LinkShare = ({ userBill }) => {
|
|
|
37
37
|
await generateImageFromTemplate(bondNFTData, url, apiUrl);
|
|
38
38
|
setIsLoading([false, false]);
|
|
39
39
|
};
|
|
40
|
-
return (jsxs(Flex, {
|
|
41
|
-
background: ['white3', 'white3', 'white3', 'white4'],
|
|
42
|
-
borderRadius: 'normal',
|
|
43
|
-
justifyContent: 'center',
|
|
44
|
-
alignItems: 'center',
|
|
45
|
-
p: '2px 10px 2px 5px',
|
|
46
|
-
fontWeight: 600,
|
|
47
|
-
fontSize: '12px',
|
|
48
|
-
height: '22px',
|
|
49
|
-
cursor: 'pointer',
|
|
50
|
-
'&:hover': {
|
|
51
|
-
background: 'white5',
|
|
52
|
-
},
|
|
53
|
-
}, onClick: () => handleShare(`https://twitter.com/intent/tweet?text=${text}&url=${shareUrl}`, 'x'), children: [jsx(Flex, { children: isLoading[0] ? jsx(Spinner, { size: 16 }) : jsx(Twitter, { width: 20 }) }), jsx(Flex, { children: "SHARE" })] }));
|
|
40
|
+
return (jsxs(Flex, { className: "ape:bg-white3 ape:lg:bg-white4 ape:rounded-normal ape:justify-center ape:items-center ape:p-[2px_10px_2px_5px] ape:font-semibold ape:text-[12px] ape:h-[22px] ape:cursor-pointer ape:hover:bg-white5", onClick: () => handleShare(`https://twitter.com/intent/tweet?text=${text}&url=${shareUrl}`, 'x'), children: [jsx(Flex, { children: isLoading[0] ? jsx(Spinner, { size: 16 }) : jsx(Twitter, { width: 20 }) }), jsx(Flex, { children: "SHARE" })] }));
|
|
54
41
|
};
|
|
55
42
|
|
|
56
43
|
export { LinkShare as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkShare.js","sources":["../../../../../src/views/YourBondsModal/components/LinkShare/LinkShare.tsx"],"sourcesContent":["import { useState } from 'react'\nimport
|
|
1
|
+
{"version":3,"file":"LinkShare.js","sources":["../../../../../src/views/YourBondsModal/components/LinkShare/LinkShare.tsx"],"sourcesContent":["import { useState } from 'react'\nimport Spinner from '../../../../components/uikit-sdk/Spinner'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport { useURLByEnvironment } from '../../../../state/useSDKConfig'\nimport { UserBill, UserBillNftData } from '../../../../types/yourbonds'\nimport { generateImageFromTemplate } from './utils'\nimport track from '../../../../utils/track'\nimport { ChainId } from '@ape.swap/apeswap-lists'\nimport Twitter from '../../../../components/uikit-sdk/Svg/Icons/Twitter'\n\nconst LinkShare = ({ userBill }: { userBill: UserBill | undefined }) => {\n // State\n const [isLoading, setIsLoading] = useState<boolean[]>([false, false])\n\n // Static data\n const bondNFTData: UserBillNftData | undefined = userBill?.nftData\n const chainId = userBill?.bond?.chainId\n // Hooks\n const mainUrl = useURLByEnvironment('mainUrl')\n const apiUrl = useURLByEnvironment('apiV2') ?? ''\n const bondAddress =\n userBill?.bond?.chainId === ChainId.SOL ? bondNFTData?.contractAddress : bondNFTData?.data?.billNftAddress\n const shareUrl = `${mainUrl}/bond-nft?bondAddress=${bondAddress}%26bondChain=${bondNFTData?.chainId}%26tokenId=${userBill?.id}%26af=${bondNFTData?.data?.createdAddressOwner}`\n const text = `I've filled my bags with $${userBill?.bond?.earnToken.symbol} at a discount, thanks to Bonds-only on @apebond! Check it out: `\n const handleShare = async (url: string, social: string) => {\n if (isLoading[0] || isLoading[1]) {\n console.log('something is off')\n return\n }\n track({\n event: 'referral',\n chain: chainId,\n data: {\n cat: `${social.toUpperCase()} Share Bond`,\n bond: bondNFTData?.data?.payoutTokenData.symbol,\n },\n })\n setIsLoading(social === 'x' ? [true, false] : [false, true])\n await generateImageFromTemplate(bondNFTData, url, apiUrl)\n setIsLoading([false, false])\n }\n\n return (\n <Flex\n className=\"ape:bg-white3 ape:lg:bg-white4 ape:rounded-normal ape:justify-center ape:items-center ape:p-[2px_10px_2px_5px] ape:font-semibold ape:text-[12px] ape:h-[22px] ape:cursor-pointer ape:hover:bg-white5\"\n onClick={() => handleShare(`https://twitter.com/intent/tweet?text=${text}&url=${shareUrl}`, 'x')}\n >\n <Flex>{isLoading[0] ? <Spinner size={16} /> : <Twitter width={20} />}</Flex>\n <Flex>SHARE</Flex>\n </Flex>\n )\n}\n\nexport default LinkShare\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;;;;;;AAUA,MAAM,SAAS,GAAG,CAAC,EAAE,QAAQ,EAAsC,KAAI;;AAErE,IAAA,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;;AAGrE,IAAA,MAAM,WAAW,GAAgC,QAAQ,EAAE,OAAO;AAClE,IAAA,MAAM,OAAO,GAAG,QAAQ,EAAE,IAAI,EAAE,OAAO;;AAEvC,IAAA,MAAM,OAAO,GAAG,mBAAmB,CAAC,SAAS,CAAC;IAC9C,MAAM,MAAM,GAAG,mBAAmB,CAAC,OAAO,CAAC,IAAI,EAAE;IACjD,MAAM,WAAW,GACf,QAAQ,EAAE,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,GAAG,WAAW,EAAE,eAAe,GAAG,WAAW,EAAE,IAAI,EAAE,cAAc;IAC5G,MAAM,QAAQ,GAAG,CAAA,EAAG,OAAO,yBAAyB,WAAW,CAAA,aAAA,EAAgB,WAAW,EAAE,OAAO,cAAc,QAAQ,EAAE,EAAE,CAAA,MAAA,EAAS,WAAW,EAAE,IAAI,EAAE,mBAAmB,CAAA,CAAE;IAC9K,MAAM,IAAI,GAAG,CAAA,0BAAA,EAA6B,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,CAAA,gEAAA,CAAkE;IAC5I,MAAM,WAAW,GAAG,OAAO,GAAW,EAAE,MAAc,KAAI;QACxD,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE;AAChC,YAAA,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;YAC/B;QACF;AACA,QAAA,KAAK,CAAC;AACJ,YAAA,KAAK,EAAE,UAAU;AACjB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,IAAI,EAAE;AACJ,gBAAA,GAAG,EAAE,CAAA,EAAG,MAAM,CAAC,WAAW,EAAE,CAAA,WAAA,CAAa;AACzC,gBAAA,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe,CAAC,MAAM;AAChD,aAAA;AACF,SAAA,CAAC;QACF,YAAY,CAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAgB,CAAC;QAC5D,MAAM,yBAAyB,CAAC,WAAW,EAAE,GAAG,EAAE,MAAM,CAAC;AACzD,QAAA,YAAY,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC9B,IAAA,CAAC;IAED,QACEA,IAAA,CAAC,IAAI,EAAA,EACH,SAAS,EAAC,sMAAsM,EAChN,OAAO,EAAE,MAAM,WAAW,CAAC,CAAA,sCAAA,EAAyC,IAAI,CAAA,KAAA,EAAQ,QAAQ,CAAA,CAAE,EAAE,GAAG,CAAC,EAAA,QAAA,EAAA,CAEhGC,GAAA,CAAC,IAAI,EAAA,EAAA,QAAA,EAAE,SAAS,CAAC,CAAC,CAAC,GAAGA,GAAA,CAAC,OAAO,EAAA,EAAC,IAAI,EAAE,EAAE,EAAA,CAAI,GAAGA,GAAA,CAAC,OAAO,EAAA,EAAC,KAAK,EAAE,EAAE,EAAA,CAAI,EAAA,CAAQ,EAC5EA,GAAA,CAAC,IAAI,EAAA,EAAA,QAAA,EAAA,OAAA,EAAA,CAAa,CAAA,EAAA,CACb;AAEX;;;;"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { formatNumberSI, localeFormat } from '../../../../utils/formatNumber.js';
|
|
2
2
|
|
|
3
|
-
//
|
|
4
|
-
// stays a plain, self-contained string with no build-tooling dependency, since it's
|
|
3
|
+
// Plain, self-contained CSS string with no build-tooling dependency, since it's
|
|
5
4
|
// embedded directly into the rendered image rather than applied via the page's stylesheet.
|
|
6
5
|
function getTemplateCss(backgroundImage) {
|
|
7
6
|
return `
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templateImageShare.js","sources":["../../../../../src/views/YourBondsModal/components/LinkShare/templateImageShare.ts"],"sourcesContent":["import { UserBillNftData } from '../../../../types/yourbonds'\nimport { formatNumberSI, localeFormat } from '../../../../utils/formatNumber'\n\nexport interface TemplateImages {\n title: string\n background: string\n nft: string\n payoutToken: string\n principalToken: string\n}\n\n// Mirrors src/scss/ShareBondImage.scss - duplicated here (rather than imported) so this\n// stays a plain, self-contained string with no build-tooling dependency, since it's\n// embedded directly into the rendered image rather than applied via the page's stylesheet.\nfunction getTemplateCss(backgroundImage: string) {\n return `\n .sharebondimage-card {\n flex-direction: column;\n width: 768px;\n height: 768px;\n align-items: center;\n background-image: url(${backgroundImage});\n background-size: cover;\n background-position: bottom center;\n background-repeat: no-repeat;\n justify-content: center;\n display: flex;\n }\n .sharebondimage-nft {\n margin-top: 10px;\n flex-direction: column;\n align-items: center;\n }\n .sharebondimage-nft-id {\n display: flex;\n position: absolute;\n top: 15px;\n right: -61px;\n min-width: 60px;\n height: 28px;\n border-radius: 0px 6px 6px 0px;\n justify-content: center;\n align-items: center;\n background-color: rgba(255, 255, 255, 0.1);\n backdrop-filter: blur(34px);\n }\n .sharebondimage-nft-id span {\n font-size: 14px;\n color: text;\n line-height: 8px\n }\n .sharebondimage-nft img {\n width: 319px;\n height: 180px;\n border-radius: 10px 10px 0px 0px;\n }\n .sharebondimage-container-info {\n display: flex;\n width: 381px;\n height: 147px;\n background-color: rgba(255, 255, 255, 0.1);\n backdrop-filter: blur(34px);\n border-radius: 10px;\n justify-content: flex-start;\n align-items: flex-start;\n flex-direction: column;\n padding: 10px 8px 10px 8px;\n margin-top: -3px\n }\n .sharebondimage-container-discount {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n width: 100%;\n background-color: rgba(255, 255, 255, 0.05);\n border-radius: 7px;\n padding: 10px;\n }\n .sharebondimage-container-off {\n display: flex;\n margin-left: 30px;\n width: 125px;\n height: 27px;\n border-radius: 5px;\n border: 1px solid #38A61133;\n justify-content: center;\n align-items: center;\n background-color: #38A6110D;\n }\n .sharebondimage-container-off span {\n color: #38A611;\n font-size: 16px;\n font-weight: 700;\n }\n .sharebondimage-container-discount-price {\n flex-direction: column;\n margin-left: 13px\n }\n .sharebondimage-container-discount-token {\n display: flex;\n gap: 4px;\n color: rgba(255, 255, 255, 0.5)\n }\n .sharebondimage-container-discount-token span {\n font-size: 14px;\n font-weight: 400;\n }\n .sharebondimage-container-discount-price-discount {\n color: #49B423;\n font-size: 22px;\n font-weight: 700;\n }\n .sharebondimage-container-tokens {\n display: flex;\n width: 100%;\n padding-top: 6px;\n gap: 5px;\n justify-content: center;\n align-items: center;\n }\n .sharebondimage-container-token {\n display: flex;\n gap: 5px;\n justify-content: center;\n align-items: center;\n width: 100%;\n background-color: rgba(255, 255, 255, 0.05);\n border-radius: 7px;\n padding: 10px;\n }\n .sharebondimage-container-token img {\n width: 26px;\n height: 26px;\n }\n .sharebondimage-amount-deposit {\n color: #FAFAFA;\n font-size: 14px;\n font-weight: 700;\n }\n .sharebondimage-dollarvalue {\n color: rgba(255, 255, 255, 0.5);\n font-size: 12px;\n font-weight: 400;\n }\n .sharebondimage-container-earntoken {\n display: flex;\n flex-direction: column;\n }\n .sharebondimage-amount-earntoken {\n display: flex;\n gap: 5px;\n justify-content: center;\n align-items: center;\n }\n .sharebondimage-profit {\n justify-content: center;\n align-items: center\n }\n .sharebondimage-profit span {\n color: #38A611;\n font-size: 10px;\n font-weight: 400;\n line-height: 4px\n }\n .sharebondimage-amount-payout {\n color: #38A611;\n font-size: 14px;\n font-weight: 700\n }\n .sharebondimage-amount-dollarvalue {\n color: #38A611;\n font-size: 12px;\n font-weight: 400\n }\n `\n}\n\nexport function getTemplateHTML(data: UserBillNftData, images: TemplateImages) {\n //@ts-ignore\n const isProfit = +data?.data?.payout * +data?.data?.payoutTokenPrice - data?.data?.dollarValue > 0\n const getCalculateOff = () => {\n if (!data || !data.data) return 0\n return 100 - (data.data.dollarValue / (data.data.payout * +data.data.payoutTokenPrice)) * 100\n }\n const getCalculatePriceDiscount = () => {\n if (!data || !data.data) return 0\n return +data.data.payoutTokenPrice - (+data.data.payoutTokenPrice * getCalculateOff()) / 100\n }\n return `\n <style>${getTemplateCss(images.background)}</style>\n <div id=\"template-card\" class=\"sharebondimage-card\">\n <img src=\"${images.title}\" alt=\"title\" style=\"width: 169px; height: 52px;\" />\n <div class=\"sharebondimage-nft\">\n <div style=\"position: relative\">\n <div class=\"sharebondimage-nft-id\">\n <span>#${data.tokenId}</span>\n </div>\n <img src=\"${images.nft}\" alt=\"bill-nft\" />\n </div>\n </div>\n <div class=\"sharebondimage-container-info\">\n <div class=\"sharebondimage-container-discount\">\n <img src=\"${images.payoutToken}\" alt=\"payout-token-symbol\" style=\"width: 59px; height: 59px;\" />\n <div class=\"sharebondimage-container-discount-price\">\n <div class=\"sharebondimage-container-discount-token\">\n <span>${data.data?.payoutTokenData.symbol}</span>\n <span style=\"text-decoration: line-through\">\n $${formatNumberSI(+data?.data?.payoutTokenPrice!)}\n </span>\n </div>\n <span class=\"sharebondimage-container-discount-price-discount\">\n $${formatNumberSI(getCalculatePriceDiscount())}\n </span>\n </div>\n <div class=\"sharebondimage-container-off\">\n <span>\n ${localeFormat(getCalculateOff())}% OFF\n </span>\n </div>\n </div>\n <div class=\"sharebondimage-container-tokens\">\n <div class=\"sharebondimage-container-token\">\n <img src=\"${images.principalToken}\" alt=\"principal-symbol\" />\n <div class=\"sharebondimage-amount-deposit\">\n ${formatNumberSI(data?.data?.deposit)}\n </div>\n <div class=\"sharebondimage-dollarvalue\">\n $${localeFormat(data?.data?.dollarValue!)}\n </div>\n </div>\n <div class=\"sharebondimage-container-token\">\n <img src=\"${images.payoutToken}\" alt=\"payout-token2-symbol\" />\n <div class=\"sharebondimage-container-earntoken\">\n <div class=\"sharebondimage-amount-earntoken\">\n <div class=\"sharebondimage-amount-payout\">\n ${localeFormat(data?.data?.payout!)}\n </div>\n <div class=\"sharebondimage-amount-dollarvalue\">\n $${localeFormat(data?.data?.payout! * +data?.data?.payoutTokenPrice!)}\n </div>\n </div>\n <div class=\"sharebondimage-profit\" style=\"${!isProfit ? 'display: none' : ''}\">\n <span>\n +${localeFormat(data?.data?.payout! * +data?.data?.payoutTokenPrice! - data?.data?.dollarValue!)}\n profit!\n </span>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n `\n}\n"],"names":[],"mappings":";;AAWA;AACA;AACA;AACA,SAAS,cAAc,CAAC,eAAuB,EAAA;IAC7C,OAAO;;;;;;8BAMqB,eAAe,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyJ1C;AACH;AAEM,SAAU,eAAe,CAAC,IAAqB,EAAE,MAAsB,EAAA;;IAE3E,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,gBAAgB,GAAG,IAAI,EAAE,IAAI,EAAE,WAAW,GAAG,CAAC;IAClG,MAAM,eAAe,GAAG,MAAK;AAC3B,QAAA,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI;AAAE,YAAA,OAAO,CAAC;QACjC,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,GAAG;AAC/F,IAAA,CAAC;IACD,MAAM,yBAAyB,GAAG,MAAK;AACrC,QAAA,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI;AAAE,YAAA,OAAO,CAAC;QACjC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,GAAG,eAAe,EAAE,IAAI,GAAG;AAC9F,IAAA,CAAC;IACD,OAAO;AACE,SAAA,EAAA,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;;AAE5B,cAAA,EAAA,MAAM,CAAC,KAAK,CAAA;;;;AAIT,iBAAA,EAAA,IAAI,CAAC,OAAO,CAAA;;AAEX,kBAAA,EAAA,MAAM,CAAC,GAAG,CAAA;;;;;AAKV,kBAAA,EAAA,MAAM,CAAC,WAAW,CAAA;;;AAGlB,kBAAA,EAAA,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,MAAM,CAAA;;AAEpC,eAAA,EAAA,cAAc,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,gBAAiB,CAAC;;;;eAIhD,cAAc,CAAC,yBAAyB,EAAE,CAAC;;;;;cAK5C,YAAY,CAAC,eAAe,EAAE,CAAC,CAAA;;;;;;AAMvB,oBAAA,EAAA,MAAM,CAAC,cAAc,CAAA;;AAE7B,YAAA,EAAA,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC;;;AAGlC,aAAA,EAAA,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,WAAY,CAAC;;;;AAI/B,oBAAA,EAAA,MAAM,CAAC,WAAW,CAAA;;;;AAItB,gBAAA,EAAA,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,MAAO,CAAC;;;AAGhC,iBAAA,EAAA,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,MAAO,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,gBAAiB,CAAC;;;wDAG7B,CAAC,QAAQ,GAAG,eAAe,GAAG,EAAE,CAAA;;AAErE,iBAAA,EAAA,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,MAAO,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,gBAAiB,GAAG,IAAI,EAAE,IAAI,EAAE,WAAY,CAAC;;;;;;;;;GAS7G;AACH;;;;"}
|
|
1
|
+
{"version":3,"file":"templateImageShare.js","sources":["../../../../../src/views/YourBondsModal/components/LinkShare/templateImageShare.ts"],"sourcesContent":["import { UserBillNftData } from '../../../../types/yourbonds'\nimport { formatNumberSI, localeFormat } from '../../../../utils/formatNumber'\n\nexport interface TemplateImages {\n title: string\n background: string\n nft: string\n payoutToken: string\n principalToken: string\n}\n\n// Plain, self-contained CSS string with no build-tooling dependency, since it's\n// embedded directly into the rendered image rather than applied via the page's stylesheet.\nfunction getTemplateCss(backgroundImage: string) {\n return `\n .sharebondimage-card {\n flex-direction: column;\n width: 768px;\n height: 768px;\n align-items: center;\n background-image: url(${backgroundImage});\n background-size: cover;\n background-position: bottom center;\n background-repeat: no-repeat;\n justify-content: center;\n display: flex;\n }\n .sharebondimage-nft {\n margin-top: 10px;\n flex-direction: column;\n align-items: center;\n }\n .sharebondimage-nft-id {\n display: flex;\n position: absolute;\n top: 15px;\n right: -61px;\n min-width: 60px;\n height: 28px;\n border-radius: 0px 6px 6px 0px;\n justify-content: center;\n align-items: center;\n background-color: rgba(255, 255, 255, 0.1);\n backdrop-filter: blur(34px);\n }\n .sharebondimage-nft-id span {\n font-size: 14px;\n color: text;\n line-height: 8px\n }\n .sharebondimage-nft img {\n width: 319px;\n height: 180px;\n border-radius: 10px 10px 0px 0px;\n }\n .sharebondimage-container-info {\n display: flex;\n width: 381px;\n height: 147px;\n background-color: rgba(255, 255, 255, 0.1);\n backdrop-filter: blur(34px);\n border-radius: 10px;\n justify-content: flex-start;\n align-items: flex-start;\n flex-direction: column;\n padding: 10px 8px 10px 8px;\n margin-top: -3px\n }\n .sharebondimage-container-discount {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n width: 100%;\n background-color: rgba(255, 255, 255, 0.05);\n border-radius: 7px;\n padding: 10px;\n }\n .sharebondimage-container-off {\n display: flex;\n margin-left: 30px;\n width: 125px;\n height: 27px;\n border-radius: 5px;\n border: 1px solid #38A61133;\n justify-content: center;\n align-items: center;\n background-color: #38A6110D;\n }\n .sharebondimage-container-off span {\n color: #38A611;\n font-size: 16px;\n font-weight: 700;\n }\n .sharebondimage-container-discount-price {\n flex-direction: column;\n margin-left: 13px\n }\n .sharebondimage-container-discount-token {\n display: flex;\n gap: 4px;\n color: rgba(255, 255, 255, 0.5)\n }\n .sharebondimage-container-discount-token span {\n font-size: 14px;\n font-weight: 400;\n }\n .sharebondimage-container-discount-price-discount {\n color: #49B423;\n font-size: 22px;\n font-weight: 700;\n }\n .sharebondimage-container-tokens {\n display: flex;\n width: 100%;\n padding-top: 6px;\n gap: 5px;\n justify-content: center;\n align-items: center;\n }\n .sharebondimage-container-token {\n display: flex;\n gap: 5px;\n justify-content: center;\n align-items: center;\n width: 100%;\n background-color: rgba(255, 255, 255, 0.05);\n border-radius: 7px;\n padding: 10px;\n }\n .sharebondimage-container-token img {\n width: 26px;\n height: 26px;\n }\n .sharebondimage-amount-deposit {\n color: #FAFAFA;\n font-size: 14px;\n font-weight: 700;\n }\n .sharebondimage-dollarvalue {\n color: rgba(255, 255, 255, 0.5);\n font-size: 12px;\n font-weight: 400;\n }\n .sharebondimage-container-earntoken {\n display: flex;\n flex-direction: column;\n }\n .sharebondimage-amount-earntoken {\n display: flex;\n gap: 5px;\n justify-content: center;\n align-items: center;\n }\n .sharebondimage-profit {\n justify-content: center;\n align-items: center\n }\n .sharebondimage-profit span {\n color: #38A611;\n font-size: 10px;\n font-weight: 400;\n line-height: 4px\n }\n .sharebondimage-amount-payout {\n color: #38A611;\n font-size: 14px;\n font-weight: 700\n }\n .sharebondimage-amount-dollarvalue {\n color: #38A611;\n font-size: 12px;\n font-weight: 400\n }\n `\n}\n\nexport function getTemplateHTML(data: UserBillNftData, images: TemplateImages) {\n //@ts-ignore\n const isProfit = +data?.data?.payout * +data?.data?.payoutTokenPrice - data?.data?.dollarValue > 0\n const getCalculateOff = () => {\n if (!data || !data.data) return 0\n return 100 - (data.data.dollarValue / (data.data.payout * +data.data.payoutTokenPrice)) * 100\n }\n const getCalculatePriceDiscount = () => {\n if (!data || !data.data) return 0\n return +data.data.payoutTokenPrice - (+data.data.payoutTokenPrice * getCalculateOff()) / 100\n }\n return `\n <style>${getTemplateCss(images.background)}</style>\n <div id=\"template-card\" class=\"sharebondimage-card\">\n <img src=\"${images.title}\" alt=\"title\" style=\"width: 169px; height: 52px;\" />\n <div class=\"sharebondimage-nft\">\n <div style=\"position: relative\">\n <div class=\"sharebondimage-nft-id\">\n <span>#${data.tokenId}</span>\n </div>\n <img src=\"${images.nft}\" alt=\"bill-nft\" />\n </div>\n </div>\n <div class=\"sharebondimage-container-info\">\n <div class=\"sharebondimage-container-discount\">\n <img src=\"${images.payoutToken}\" alt=\"payout-token-symbol\" style=\"width: 59px; height: 59px;\" />\n <div class=\"sharebondimage-container-discount-price\">\n <div class=\"sharebondimage-container-discount-token\">\n <span>${data.data?.payoutTokenData.symbol}</span>\n <span style=\"text-decoration: line-through\">\n $${formatNumberSI(+data?.data?.payoutTokenPrice!)}\n </span>\n </div>\n <span class=\"sharebondimage-container-discount-price-discount\">\n $${formatNumberSI(getCalculatePriceDiscount())}\n </span>\n </div>\n <div class=\"sharebondimage-container-off\">\n <span>\n ${localeFormat(getCalculateOff())}% OFF\n </span>\n </div>\n </div>\n <div class=\"sharebondimage-container-tokens\">\n <div class=\"sharebondimage-container-token\">\n <img src=\"${images.principalToken}\" alt=\"principal-symbol\" />\n <div class=\"sharebondimage-amount-deposit\">\n ${formatNumberSI(data?.data?.deposit)}\n </div>\n <div class=\"sharebondimage-dollarvalue\">\n $${localeFormat(data?.data?.dollarValue!)}\n </div>\n </div>\n <div class=\"sharebondimage-container-token\">\n <img src=\"${images.payoutToken}\" alt=\"payout-token2-symbol\" />\n <div class=\"sharebondimage-container-earntoken\">\n <div class=\"sharebondimage-amount-earntoken\">\n <div class=\"sharebondimage-amount-payout\">\n ${localeFormat(data?.data?.payout!)}\n </div>\n <div class=\"sharebondimage-amount-dollarvalue\">\n $${localeFormat(data?.data?.payout! * +data?.data?.payoutTokenPrice!)}\n </div>\n </div>\n <div class=\"sharebondimage-profit\" style=\"${!isProfit ? 'display: none' : ''}\">\n <span>\n +${localeFormat(data?.data?.payout! * +data?.data?.payoutTokenPrice! - data?.data?.dollarValue!)}\n profit!\n </span>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n `\n}\n"],"names":[],"mappings":";;AAWA;AACA;AACA,SAAS,cAAc,CAAC,eAAuB,EAAA;IAC7C,OAAO;;;;;;8BAMqB,eAAe,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyJ1C;AACH;AAEM,SAAU,eAAe,CAAC,IAAqB,EAAE,MAAsB,EAAA;;IAE3E,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,gBAAgB,GAAG,IAAI,EAAE,IAAI,EAAE,WAAW,GAAG,CAAC;IAClG,MAAM,eAAe,GAAG,MAAK;AAC3B,QAAA,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI;AAAE,YAAA,OAAO,CAAC;QACjC,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,GAAG;AAC/F,IAAA,CAAC;IACD,MAAM,yBAAyB,GAAG,MAAK;AACrC,QAAA,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI;AAAE,YAAA,OAAO,CAAC;QACjC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,GAAG,eAAe,EAAE,IAAI,GAAG;AAC9F,IAAA,CAAC;IACD,OAAO;AACE,SAAA,EAAA,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;;AAE5B,cAAA,EAAA,MAAM,CAAC,KAAK,CAAA;;;;AAIT,iBAAA,EAAA,IAAI,CAAC,OAAO,CAAA;;AAEX,kBAAA,EAAA,MAAM,CAAC,GAAG,CAAA;;;;;AAKV,kBAAA,EAAA,MAAM,CAAC,WAAW,CAAA;;;AAGlB,kBAAA,EAAA,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,MAAM,CAAA;;AAEpC,eAAA,EAAA,cAAc,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,gBAAiB,CAAC;;;;eAIhD,cAAc,CAAC,yBAAyB,EAAE,CAAC;;;;;cAK5C,YAAY,CAAC,eAAe,EAAE,CAAC,CAAA;;;;;;AAMvB,oBAAA,EAAA,MAAM,CAAC,cAAc,CAAA;;AAE7B,YAAA,EAAA,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC;;;AAGlC,aAAA,EAAA,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,WAAY,CAAC;;;;AAI/B,oBAAA,EAAA,MAAM,CAAC,WAAW,CAAA;;;;AAItB,gBAAA,EAAA,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,MAAO,CAAC;;;AAGhC,iBAAA,EAAA,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,MAAO,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,gBAAiB,CAAC;;;wDAG7B,CAAC,QAAQ,GAAG,eAAe,GAAG,EAAE,CAAA;;AAErE,iBAAA,EAAA,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,MAAO,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,gBAAiB,GAAG,IAAI,EAAE,IAAI,EAAE,WAAY,CAAC;;;;;;;;;GAS7G;AACH;;;;"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
1
|
import { UserBill } from '../../../../types/yourbonds';
|
|
3
2
|
declare const NftImage: ({ userBill, showNFTImg, setShowNFTImg, }: {
|
|
4
3
|
userBill?: UserBill;
|
|
5
4
|
showNFTImg: boolean;
|
|
6
5
|
setShowNFTImg: (value: boolean) => void;
|
|
7
|
-
}) =>
|
|
6
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
8
7
|
export default NftImage;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { jsxs, Fragment, jsx } from '
|
|
1
|
+
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { useState } from 'react';
|
|
3
|
+
import clsx from 'clsx';
|
|
3
4
|
import { useAnimation, AnimatePresence, motion } from 'framer-motion';
|
|
4
5
|
import LinkShare from '../LinkShare/LinkShare.js';
|
|
5
6
|
import { useIsMobile } from '../../../../hooks/useIsMobile.js';
|
|
@@ -37,15 +38,7 @@ const NftImage = ({ userBill, showNFTImg, setShowNFTImg, }) => {
|
|
|
37
38
|
setShowNFTImg(false);
|
|
38
39
|
setIsOpenTraits(false);
|
|
39
40
|
};
|
|
40
|
-
return (jsxs(Fragment, { children: [jsx(AnimatePresence, { children: showNFTImg && (jsx(motion.div, { animate: { opacity: 1 }, transition: { duration: 1, delay: 0.3 },
|
|
41
|
-
position: 'absolute',
|
|
42
|
-
display: ['flex'],
|
|
43
|
-
top: ['-180px', '-180px', '-240px'],
|
|
44
|
-
right: ['50%', '50%', '50%', '-13%'],
|
|
45
|
-
transform: ['translateX(50%)', 'translateX(50%)', 'translateX(50%)', 'unset'],
|
|
46
|
-
opacity: 0,
|
|
47
|
-
zIndex: 5000,
|
|
48
|
-
}, children: jsx(LinkShare, { userBill: userBill }) })) }), jsx(AnimatePresence, { children: bondNFTData?.image && (jsxs(motion.div, { animate: controls, onClick: () => {
|
|
41
|
+
return (jsxs(Fragment, { children: [jsx(AnimatePresence, { children: showNFTImg && (jsx(motion.div, { animate: { opacity: 1 }, transition: { duration: 1, delay: 0.3 }, className: "ape:absolute ape:flex ape:top-[-180px] ape:sm:top-[-240px] ape:right-[50%] ape:md:right-[-13%] ape:translate-x-[50%] ape:md:translate-x-0 ape:opacity-0 ape:z-[5000]", children: jsx(LinkShare, { userBill: userBill }) })) }), jsx(AnimatePresence, { children: bondNFTData?.image && (jsxs(motion.div, { animate: controls, onClick: () => {
|
|
49
42
|
if (showNFTImg) {
|
|
50
43
|
closeAnimation();
|
|
51
44
|
}
|
|
@@ -54,87 +47,16 @@ const NftImage = ({ userBill, showNFTImg, setShowNFTImg, }) => {
|
|
|
54
47
|
}
|
|
55
48
|
}, onAnimationStart: () => {
|
|
56
49
|
setShowNFTImg(true);
|
|
57
|
-
},
|
|
58
|
-
display: 'flex',
|
|
59
|
-
zIndex: -1,
|
|
60
|
-
position: showNFTImg ? 'fixed' : 'absolute',
|
|
61
|
-
bottom: 'calc(100% - 10px)',
|
|
62
|
-
left: '25%',
|
|
63
|
-
width: '50%',
|
|
64
|
-
aspectRatio: '1 / 0.56',
|
|
65
|
-
cursor: 'pointer',
|
|
66
|
-
borderRadius: 'normal',
|
|
67
|
-
flexDirection: 'column',
|
|
68
|
-
'&: hover': {
|
|
69
|
-
zIndex: [1000, 1000, 1000, '1000 !important'],
|
|
70
|
-
},
|
|
71
|
-
}, children: [jsxs(Flex, { sx: {
|
|
72
|
-
display: showNFTImg ? 'none' : 'flex',
|
|
73
|
-
position: 'absolute',
|
|
74
|
-
zIndex: 121,
|
|
75
|
-
width: '100%',
|
|
76
|
-
height: '100%',
|
|
77
|
-
opacity: 0,
|
|
78
|
-
alignItems: 'center',
|
|
79
|
-
justifyContent: 'center',
|
|
80
|
-
fontWeight: 700,
|
|
81
|
-
borderRadius: 'normal',
|
|
82
|
-
'&: hover': {
|
|
83
|
-
zIndex: 1000,
|
|
84
|
-
opacity: 0.8,
|
|
85
|
-
background: 'linear-gradient(90deg, rgba(49, 46, 122, 0.70) 0%, rgba(92, 79, 174, 0.70) 100%)',
|
|
86
|
-
backdropFilter: ' blur(2px)',
|
|
87
|
-
},
|
|
88
|
-
}, children: ["View NFT ", '>'] }), showNFTImg && (jsx(Flex, { sx: {
|
|
89
|
-
position: 'absolute',
|
|
90
|
-
top: '5px',
|
|
91
|
-
right: '5px',
|
|
92
|
-
background: 'grey',
|
|
93
|
-
opacity: 0.9,
|
|
94
|
-
p: '2px',
|
|
95
|
-
borderRadius: '50%',
|
|
96
|
-
alignItems: 'center',
|
|
97
|
-
justifyContent: 'center',
|
|
98
|
-
}, children: jsx(Flex, { sx: { width: '6px' }, children: jsx(Close, {}) }) })), jsx(ProgressiveImage, { src: `${bondNFTData?.image}`, blurSrc: `https://ape.bond/images/bills/bluredNFT.png` }), showNFTImg && (jsx(Flex, { sx: {
|
|
99
|
-
position: 'absolute',
|
|
100
|
-
bottom: ['calc(-35% + 1px)', 'calc(-35% + 1px)', 'calc(-26% + 1px)'],
|
|
101
|
-
width: '100%',
|
|
102
|
-
justifyContent: 'center',
|
|
103
|
-
}, children: jsxs(Flex, { sx: {
|
|
104
|
-
flexDirection: 'column',
|
|
105
|
-
width: '100%',
|
|
106
|
-
minWidth: '250px',
|
|
107
|
-
pb: '10px',
|
|
108
|
-
alignItems: 'center',
|
|
109
|
-
transform: [
|
|
110
|
-
'scale(0.5) translateY(-50%)',
|
|
111
|
-
'scale(0.5) translateY(-50%)',
|
|
112
|
-
'scale(0.5) translateY(-50%)',
|
|
113
|
-
'scale(0.4) translateY(-75%)',
|
|
114
|
-
],
|
|
115
|
-
}, children: [jsxs(Flex, { sx: {
|
|
116
|
-
justifyContent: 'space-between',
|
|
117
|
-
height: '24px',
|
|
118
|
-
backgroundColor: 'white3',
|
|
119
|
-
px: '15px',
|
|
120
|
-
width: '100%',
|
|
121
|
-
borderRadius: `${isOpenTraits ? '6px 6px 0px 0px' : 'normal'}`,
|
|
122
|
-
}, onClick: (event) => {
|
|
50
|
+
}, className: clsx('ape:flex ape:-z-[1] ape:bottom-[calc(100%-10px)] ape:left-[25%] ape:w-1/2 ape:aspect-[1/0.56] ape:cursor-pointer ape:rounded-normal ape:flex-col ape:hover:z-[1000] ape:md:hover:z-[1000]!', showNFTImg ? 'ape:fixed' : 'ape:absolute'), children: [jsxs(Flex, { className: clsx(showNFTImg ? 'ape:hidden' : 'ape:flex', 'ape:absolute ape:z-[121] ape:w-full ape:h-full ape:opacity-0 ape:items-center ape:justify-center ape:font-bold ape:rounded-normal ape:hover:z-[1000] ape:hover:opacity-80 ape:hover:[background:linear-gradient(90deg,rgba(49,46,122,0.70)_0%,rgba(92,79,174,0.70)_100%)] ape:hover:[backdrop-filter:blur(2px)]'), children: ["View NFT ", '>'] }), showNFTImg && (jsx(Flex, { className: "ape:absolute ape:top-[5px] ape:right-[5px] ape:bg-[grey] ape:opacity-90 ape:p-[2px] ape:rounded-[50%] ape:items-center ape:justify-center", children: jsx(Flex, { className: "ape:w-[6px]", children: jsx(Close, {}) }) })), jsx(ProgressiveImage, { src: `${bondNFTData?.image}`, blurSrc: `https://ape.bond/images/bills/bluredNFT.png` }), showNFTImg && (jsx(Flex, { className: "ape:absolute ape:bottom-[calc(-35%+1px)] ape:md:bottom-[calc(-26%+1px)] ape:w-full ape:justify-center", children: jsxs(Flex, { className: "ape:flex-col ape:w-full ape:min-w-[250px] ape:pb-[10px] ape:items-center ape:scale-[0.5] ape:-translate-y-1/2 ape:md:scale-[0.4] ape:md:-translate-y-3/4", children: [jsxs(Flex, { className: clsx('ape:justify-between ape:h-[24px] ape:bg-white3 ape:px-[15px] ape:w-full', isOpenTraits ? 'ape:rounded-[6px_6px_0px_0px]' : 'ape:rounded-normal'), onClick: (event) => {
|
|
123
51
|
event.stopPropagation();
|
|
124
52
|
setIsOpenTraits(!isOpenTraits);
|
|
125
|
-
}, children: [jsxs(Flex, {
|
|
126
|
-
overflow: 'hidden',
|
|
127
|
-
width: '100%',
|
|
128
|
-
position: 'absolute',
|
|
129
|
-
top: '24px',
|
|
130
|
-
borderRadius: '0 0 10px 10px',
|
|
131
|
-
}, onClick: (event) => {
|
|
53
|
+
}, children: [jsxs(Flex, { className: "ape:gap-[10px] ape:items-center", children: [jsx(Tag, { direction: "down" }), jsx(Text, { size: "12px", weight: 400, className: "ape:opacity-60", children: "Traits" })] }), jsx(Caret, { direction: isOpenTraits ? 'up' : 'down' })] }), jsx(AnimatePresence, { children: isOpenTraits && (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:absolute ape:top-[24px] ape:rounded-[0_0_10px_10px]", onClick: (event) => {
|
|
132
54
|
event.stopPropagation();
|
|
133
55
|
setIsOpenTraits(!isOpenTraits);
|
|
134
|
-
}, children: jsx(Flex, {
|
|
135
|
-
? attributes.map((a, index) => (jsxs(Flex, {
|
|
56
|
+
}, children: jsx(Flex, { className: "ape:flex-col", children: attributes
|
|
57
|
+
? attributes.map((a, index) => (jsxs(Flex, { className: "ape:bg-white4 ape:w-full ape:p-[2px_8px] ape:h-[22px]", children: [jsxs(Text, { size: "10px", weight: 500, className: "ape:mr-[3px]", children: [a?.trait_type, " -"] }), jsx(Text, { size: "10px", weight: 500, children: a?.value })] }, `${a.value}-${index}`)))
|
|
136
58
|
: BILL_ATTRIBUTES.map((attrib, index) => {
|
|
137
|
-
return (jsxs(Flex, {
|
|
59
|
+
return (jsxs(Flex, { className: "ape:bg-white4 ape:w-full ape:p-[2px_8px] ape:h-[22px]", children: [jsx(Text, { size: "10px", weight: 500, children: attrib }), jsx(Skeleton, { width: "150px" })] }, `${attrib}-${index}`));
|
|
138
60
|
}) }) })) })] }) }))] })) })] }));
|
|
139
61
|
};
|
|
140
62
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NFTImage.js","sources":["../../../../../src/views/YourBondsModal/components/NFTImage/NFTImage.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { AnimatePresence, motion, useAnimation } from 'framer-motion'\nimport LinkShare from '../LinkShare/LinkShare'\nimport { UserBill } from '../../../../types/yourbonds'\nimport { useIsMobile } from '../../../../hooks/useIsMobile'\nimport ProgressiveImage from '../../../../components/ProgressiveImage'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport Text from '../../../../components/uikit-sdk/Text'\nimport Skeleton from '../../../../components/uikit-sdk/Skeleton'\nimport Close from '../../../../components/uikit-sdk/Svg/Icons/Close'\nimport Tag from '../../../../components/uikit-sdk/Svg/Icons/Tag'\nimport Caret from '../../../../components/uikit-sdk/Svg/Icons/Caret'\n\nconst NftImage = ({\n userBill,\n showNFTImg,\n setShowNFTImg,\n}: {\n userBill?: UserBill\n showNFTImg: boolean\n setShowNFTImg: (value: boolean) => void\n}) => {\n // Hooks\n const controls = useAnimation()\n const isMobile = useIsMobile()\n\n // State\n const [isOpenTraits, setIsOpenTraits] = useState<boolean>(false)\n\n //Static Data\n const bondNFTData = userBill?.nftData\n const BILL_ATTRIBUTES = ['The Legend', 'The Location', 'The Moment', 'The Trend', 'The Innovation']\n const attributes = bondNFTData?.attributes?.filter((attrib) => BILL_ATTRIBUTES.includes(attrib.trait_type))\n\n const openAnimation = () => {\n controls.start({\n scale: isMobile ? [1, 2] : [1, 3],\n zIndex: 1000,\n transition: { duration: 0.2 },\n })\n }\n\n const closeAnimation = () => {\n controls.start({\n scale: isMobile ? [2, 1] : [2, 1],\n zIndex: -1,\n transition: { duration: 0.3 },\n })\n setShowNFTImg(false)\n setIsOpenTraits(false)\n }\n return (\n <>\n <AnimatePresence>\n {showNFTImg && (\n <motion.div\n animate={{ opacity: 1 }}\n transition={{ duration: 1, delay: 0.3 }}\n sx={{\n position: 'absolute',\n display: ['flex'],\n top: ['-180px', '-180px', '-240px'],\n right: ['50%', '50%', '50%', '-13%'],\n transform: ['translateX(50%)', 'translateX(50%)', 'translateX(50%)', 'unset'],\n opacity: 0,\n zIndex: 5000,\n }}\n >\n <LinkShare userBill={userBill} />\n </motion.div>\n )}\n </AnimatePresence>\n <AnimatePresence>\n {bondNFTData?.image && (\n <motion.div\n animate={controls}\n onClick={() => {\n if (showNFTImg) {\n closeAnimation()\n } else {\n openAnimation()\n }\n }}\n onAnimationStart={() => {\n setShowNFTImg(true)\n }}\n sx={{\n display: 'flex',\n zIndex: -1,\n position: showNFTImg ? 'fixed' : 'absolute',\n bottom: 'calc(100% - 10px)',\n left: '25%',\n width: '50%',\n aspectRatio: '1 / 0.56',\n cursor: 'pointer',\n borderRadius: 'normal',\n flexDirection: 'column',\n '&: hover': {\n zIndex: [1000, 1000, 1000, '1000 !important'],\n },\n }}\n >\n <Flex\n sx={{\n display: showNFTImg ? 'none' : 'flex',\n position: 'absolute',\n zIndex: 121,\n width: '100%',\n height: '100%',\n opacity: 0,\n alignItems: 'center',\n justifyContent: 'center',\n fontWeight: 700,\n borderRadius: 'normal',\n '&: hover': {\n zIndex: 1000,\n opacity: 0.8,\n background: 'linear-gradient(90deg, rgba(49, 46, 122, 0.70) 0%, rgba(92, 79, 174, 0.70) 100%)',\n backdropFilter: ' blur(2px)',\n },\n }}\n >\n View NFT {'>'}\n </Flex>\n {showNFTImg && (\n <Flex\n sx={{\n position: 'absolute',\n top: '5px',\n right: '5px',\n background: 'grey',\n opacity: 0.9,\n p: '2px',\n borderRadius: '50%',\n alignItems: 'center',\n justifyContent: 'center',\n }}\n >\n <Flex sx={{ width: '6px' }}>\n <Close />\n </Flex>\n </Flex>\n )}\n <ProgressiveImage src={`${bondNFTData?.image}`} blurSrc={`https://ape.bond/images/bills/bluredNFT.png`} />\n {showNFTImg && (\n <Flex\n sx={{\n position: 'absolute',\n bottom: ['calc(-35% + 1px)', 'calc(-35% + 1px)', 'calc(-26% + 1px)'],\n width: '100%',\n justifyContent: 'center',\n }}\n >\n <Flex\n sx={{\n flexDirection: 'column',\n width: '100%',\n minWidth: '250px',\n pb: '10px',\n alignItems: 'center',\n transform: [\n 'scale(0.5) translateY(-50%)',\n 'scale(0.5) translateY(-50%)',\n 'scale(0.5) translateY(-50%)',\n 'scale(0.4) translateY(-75%)',\n ],\n }}\n >\n <Flex\n sx={{\n justifyContent: 'space-between',\n height: '24px',\n backgroundColor: 'white3',\n px: '15px',\n width: '100%',\n borderRadius: `${isOpenTraits ? '6px 6px 0px 0px' : 'normal'}`,\n }}\n onClick={(event: React.MouseEvent) => {\n event.stopPropagation()\n setIsOpenTraits(!isOpenTraits)\n }}\n >\n <Flex sx={{ gap: '10px', alignItems: 'center' }}>\n <Tag direction=\"down\" />\n <Text sx={{ fontSize: '12px', fontWeight: 400, color: 'text', opacity: '0.6' }}>Traits</Text>\n </Flex>\n <Caret direction={isOpenTraits ? 'up' : 'down'} />\n </Flex>\n <AnimatePresence>\n {isOpenTraits && (\n <motion.div\n initial={{ height: 0 }}\n animate={{ height: 'fit-content' }}\n transition={{ opacity: { duration: 0.2 } }}\n exit={{ height: 0 }}\n sx={{\n overflow: 'hidden',\n width: '100%',\n position: 'absolute',\n top: '24px',\n borderRadius: '0 0 10px 10px',\n }}\n onClick={(event: React.MouseEvent) => {\n event.stopPropagation()\n setIsOpenTraits(!isOpenTraits)\n }}\n >\n <Flex sx={{ flexDirection: 'column' }}>\n {attributes\n ? attributes.map((a, index) => (\n <Flex\n key={`${a.value}-${index}`}\n sx={{ background: 'white4', width: '100%', padding: '2px 8px', height: '22px' }}\n >\n <Text sx={{ fontSize: '10px', fontWeight: 500, mr: '3px' }}>{a?.trait_type} -</Text>\n <Text sx={{ fontSize: '10px', fontWeight: 500 }}>{a?.value}</Text>\n </Flex>\n ))\n : BILL_ATTRIBUTES.map((attrib, index) => {\n return (\n <Flex\n key={`${attrib}-${index}`}\n sx={{ background: 'white4', width: '100%', padding: '2px 8px', height: '22px' }}\n >\n <Text sx={{ fontSize: '10px', fontWeight: 500 }}>{attrib}</Text>\n <Skeleton width=\"150px\" />\n </Flex>\n )\n })}\n </Flex>\n </motion.div>\n )}\n </AnimatePresence>\n </Flex>\n </Flex>\n )}\n </motion.div>\n )}\n </AnimatePresence>\n </>\n )\n}\n\nexport default NftImage\n"],"names":["_jsxs","_Fragment","_jsx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NFTImage.js","sources":["../../../../../src/views/YourBondsModal/components/NFTImage/NFTImage.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport clsx from 'clsx'\nimport { AnimatePresence, motion, useAnimation } from 'framer-motion'\nimport LinkShare from '../LinkShare/LinkShare'\nimport { UserBill } from '../../../../types/yourbonds'\nimport { useIsMobile } from '../../../../hooks/useIsMobile'\nimport ProgressiveImage from '../../../../components/ProgressiveImage'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport Text from '../../../../components/uikit-sdk/Text'\nimport Skeleton from '../../../../components/uikit-sdk/Skeleton'\nimport Close from '../../../../components/uikit-sdk/Svg/Icons/Close'\nimport Tag from '../../../../components/uikit-sdk/Svg/Icons/Tag'\nimport Caret from '../../../../components/uikit-sdk/Svg/Icons/Caret'\n\nconst NftImage = ({\n userBill,\n showNFTImg,\n setShowNFTImg,\n}: {\n userBill?: UserBill\n showNFTImg: boolean\n setShowNFTImg: (value: boolean) => void\n}) => {\n // Hooks\n const controls = useAnimation()\n const isMobile = useIsMobile()\n\n // State\n const [isOpenTraits, setIsOpenTraits] = useState<boolean>(false)\n\n //Static Data\n const bondNFTData = userBill?.nftData\n const BILL_ATTRIBUTES = ['The Legend', 'The Location', 'The Moment', 'The Trend', 'The Innovation']\n const attributes = bondNFTData?.attributes?.filter((attrib) => BILL_ATTRIBUTES.includes(attrib.trait_type))\n\n const openAnimation = () => {\n controls.start({\n scale: isMobile ? [1, 2] : [1, 3],\n zIndex: 1000,\n transition: { duration: 0.2 },\n })\n }\n\n const closeAnimation = () => {\n controls.start({\n scale: isMobile ? [2, 1] : [2, 1],\n zIndex: -1,\n transition: { duration: 0.3 },\n })\n setShowNFTImg(false)\n setIsOpenTraits(false)\n }\n return (\n <>\n <AnimatePresence>\n {showNFTImg && (\n <motion.div\n animate={{ opacity: 1 }}\n transition={{ duration: 1, delay: 0.3 }}\n className=\"ape:absolute ape:flex ape:top-[-180px] ape:sm:top-[-240px] ape:right-[50%] ape:md:right-[-13%] ape:translate-x-[50%] ape:md:translate-x-0 ape:opacity-0 ape:z-[5000]\"\n >\n <LinkShare userBill={userBill} />\n </motion.div>\n )}\n </AnimatePresence>\n <AnimatePresence>\n {bondNFTData?.image && (\n <motion.div\n animate={controls}\n onClick={() => {\n if (showNFTImg) {\n closeAnimation()\n } else {\n openAnimation()\n }\n }}\n onAnimationStart={() => {\n setShowNFTImg(true)\n }}\n className={clsx(\n 'ape:flex ape:-z-[1] ape:bottom-[calc(100%-10px)] ape:left-[25%] ape:w-1/2 ape:aspect-[1/0.56] ape:cursor-pointer ape:rounded-normal ape:flex-col ape:hover:z-[1000] ape:md:hover:z-[1000]!',\n showNFTImg ? 'ape:fixed' : 'ape:absolute',\n )}\n >\n <Flex\n className={clsx(\n showNFTImg ? 'ape:hidden' : 'ape:flex',\n 'ape:absolute ape:z-[121] ape:w-full ape:h-full ape:opacity-0 ape:items-center ape:justify-center ape:font-bold ape:rounded-normal ape:hover:z-[1000] ape:hover:opacity-80 ape:hover:[background:linear-gradient(90deg,rgba(49,46,122,0.70)_0%,rgba(92,79,174,0.70)_100%)] ape:hover:[backdrop-filter:blur(2px)]',\n )}\n >\n View NFT {'>'}\n </Flex>\n {showNFTImg && (\n <Flex\n className=\"ape:absolute ape:top-[5px] ape:right-[5px] ape:bg-[grey] ape:opacity-90 ape:p-[2px] ape:rounded-[50%] ape:items-center ape:justify-center\"\n >\n <Flex className=\"ape:w-[6px]\">\n <Close />\n </Flex>\n </Flex>\n )}\n <ProgressiveImage src={`${bondNFTData?.image}`} blurSrc={`https://ape.bond/images/bills/bluredNFT.png`} />\n {showNFTImg && (\n <Flex className=\"ape:absolute ape:bottom-[calc(-35%+1px)] ape:md:bottom-[calc(-26%+1px)] ape:w-full ape:justify-center\">\n <Flex className=\"ape:flex-col ape:w-full ape:min-w-[250px] ape:pb-[10px] ape:items-center ape:scale-[0.5] ape:-translate-y-1/2 ape:md:scale-[0.4] ape:md:-translate-y-3/4\">\n <Flex\n className={clsx(\n 'ape:justify-between ape:h-[24px] ape:bg-white3 ape:px-[15px] ape:w-full',\n isOpenTraits ? 'ape:rounded-[6px_6px_0px_0px]' : 'ape:rounded-normal',\n )}\n onClick={(event: React.MouseEvent) => {\n event.stopPropagation()\n setIsOpenTraits(!isOpenTraits)\n }}\n >\n <Flex className=\"ape:gap-[10px] ape:items-center\">\n <Tag direction=\"down\" />\n <Text size=\"12px\" weight={400} className=\"ape:opacity-60\">Traits</Text>\n </Flex>\n <Caret direction={isOpenTraits ? 'up' : 'down'} />\n </Flex>\n <AnimatePresence>\n {isOpenTraits && (\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:absolute ape:top-[24px] ape:rounded-[0_0_10px_10px]\"\n onClick={(event: React.MouseEvent) => {\n event.stopPropagation()\n setIsOpenTraits(!isOpenTraits)\n }}\n >\n <Flex className=\"ape:flex-col\">\n {attributes\n ? attributes.map((a, index) => (\n <Flex\n key={`${a.value}-${index}`}\n className=\"ape:bg-white4 ape:w-full ape:p-[2px_8px] ape:h-[22px]\"\n >\n <Text size=\"10px\" weight={500} className=\"ape:mr-[3px]\">{a?.trait_type} -</Text>\n <Text size=\"10px\" weight={500}>{a?.value}</Text>\n </Flex>\n ))\n : BILL_ATTRIBUTES.map((attrib, index) => {\n return (\n <Flex\n key={`${attrib}-${index}`}\n className=\"ape:bg-white4 ape:w-full ape:p-[2px_8px] ape:h-[22px]\"\n >\n <Text size=\"10px\" weight={500}>{attrib}</Text>\n <Skeleton width=\"150px\" />\n </Flex>\n )\n })}\n </Flex>\n </motion.div>\n )}\n </AnimatePresence>\n </Flex>\n </Flex>\n )}\n </motion.div>\n )}\n </AnimatePresence>\n </>\n )\n}\n\nexport default NftImage\n"],"names":["_jsxs","_Fragment","_jsx"],"mappings":"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"}
|
|
@@ -3,5 +3,5 @@ declare const CardRecommendation: ({ cardIndex, bond, handleBuyBondClick, }: {
|
|
|
3
3
|
cardIndex: number;
|
|
4
4
|
bond: BondRecommendation;
|
|
5
5
|
handleBuyBondClick: (chain: number, bondAddress: string, cardIndex: number) => void;
|
|
6
|
-
}) => import("react").JSX.Element;
|
|
6
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
7
7
|
export default CardRecommendation;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsxs, jsx } from '
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
2
|
import TokenImage from '../../../../components/uikit-sdk/TokenImage/index.js';
|
|
3
3
|
import { getVestingTermsString } from '../../../../utils/displayHelpers.js';
|
|
4
4
|
import Flex from '../../../../components/uikit-sdk/Flex/index.js';
|
|
@@ -6,20 +6,7 @@ import Button from '../../../../components/uikit-sdk/Button/Button.js';
|
|
|
6
6
|
import Text from '../../../../components/uikit-sdk/Text/index.js';
|
|
7
7
|
|
|
8
8
|
const CardRecommendation = ({ cardIndex, bond, handleBuyBondClick, }) => {
|
|
9
|
-
return (jsxs(Flex, {
|
|
10
|
-
flexDirection: 'column',
|
|
11
|
-
width: ['100%', '100%', '100%', '50%'],
|
|
12
|
-
gap: '10px',
|
|
13
|
-
background: 'white3',
|
|
14
|
-
p: '10px',
|
|
15
|
-
borderRadius: '10px',
|
|
16
|
-
}, children: [jsx(Flex, { sx: {
|
|
17
|
-
flexDirection: 'column',
|
|
18
|
-
width: '100%',
|
|
19
|
-
borderRadius: '10px',
|
|
20
|
-
justifyContent: 'space-between',
|
|
21
|
-
gap: '14px',
|
|
22
|
-
}, children: jsxs(Flex, { sx: { alignItems: 'center', justifyContent: 'space-between', gap: '10px' }, children: [jsxs(Flex, { sx: { gap: '5px', justifyContent: 'center', alignItems: 'center' }, children: [jsx(TokenImage, { symbol: bond.payoutTokenName, chain: bond.chainId, size: 25 }), jsx(Text, { sx: { fontSize: '14px' }, children: bond.payoutTokenName }), jsx(Text, { sx: { fontSize: '14px', fontWeight: 400, opacity: 0.6 }, children: getVestingTermsString(bond) })] }), jsx(Flex, { sx: { flexDirection: 'column', gap: '1px', alignItems: 'end' }, children: jsxs(Text, { sx: { color: 'success', fontSize: '12px', fontWeight: 700 }, children: [bond.bonus.toFixed(2), "%"] }) })] }) }), jsx(Button, { onClick: () => handleBuyBondClick(bond.chainId, bond.billAddress, cardIndex), sx: { width: '100%', lineHeight: '20px', height: '30px', fontSize: '14px' }, children: "Buy" })] }));
|
|
9
|
+
return (jsxs(Flex, { className: "ape:flex-col ape:w-full ape:lg:w-1/2 ape:gap-[10px] ape:bg-white3 ape:p-[10px] ape:rounded-[10px]", children: [jsx(Flex, { className: "ape:flex-col ape:w-full ape:rounded-[10px] ape:justify-between ape:gap-[14px]", children: jsxs(Flex, { className: "ape:items-center ape:justify-between ape:gap-[10px]", children: [jsxs(Flex, { className: "ape:gap-[5px] ape:justify-center ape:items-center", children: [jsx(TokenImage, { symbol: bond.payoutTokenName, chain: bond.chainId, size: 25 }), jsx(Text, { size: "14px", children: bond.payoutTokenName }), jsx(Text, { size: "14px", weight: 400, className: "ape:opacity-60", children: getVestingTermsString(bond) })] }), jsx(Flex, { className: "ape:flex-col ape:gap-[1px] ape:items-end", children: jsxs(Text, { size: "12px", weight: 700, style: { color: 'var(--ape-color-success)' }, children: [bond.bonus.toFixed(2), "%"] }) })] }) }), jsx(Button, { onClick: () => handleBuyBondClick(bond.chainId, bond.billAddress, cardIndex), className: "ape:w-full ape:h-[30px] ape:text-[14px]!", style: { lineHeight: '20px' }, children: "Buy" })] }));
|
|
23
10
|
};
|
|
24
11
|
|
|
25
12
|
export { CardRecommendation as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardRecommendation.js","sources":["../../../../../src/views/YourBondsModal/components/Recommendations/CardRecommendation.tsx"],"sourcesContent":["import TokenImage from '../../../../components/uikit-sdk/TokenImage'\nimport { BondRecommendation } from '../../../../state/recommendations/useGetBondRecommendations'\nimport { getVestingTermsString } from '../../../../utils/displayHelpers'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport Button from '../../../../components/uikit-sdk/Button/Button'\nimport Text from '../../../../components/uikit-sdk/Text'\n\nconst CardRecommendation = ({\n cardIndex,\n bond,\n handleBuyBondClick,\n}: {\n cardIndex: number\n bond: BondRecommendation\n handleBuyBondClick: (chain: number, bondAddress: string, cardIndex: number) => void\n}) => {\n return (\n <Flex
|
|
1
|
+
{"version":3,"file":"CardRecommendation.js","sources":["../../../../../src/views/YourBondsModal/components/Recommendations/CardRecommendation.tsx"],"sourcesContent":["import TokenImage from '../../../../components/uikit-sdk/TokenImage'\nimport { BondRecommendation } from '../../../../state/recommendations/useGetBondRecommendations'\nimport { getVestingTermsString } from '../../../../utils/displayHelpers'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport Button from '../../../../components/uikit-sdk/Button/Button'\nimport Text from '../../../../components/uikit-sdk/Text'\n\nconst CardRecommendation = ({\n cardIndex,\n bond,\n handleBuyBondClick,\n}: {\n cardIndex: number\n bond: BondRecommendation\n handleBuyBondClick: (chain: number, bondAddress: string, cardIndex: number) => void\n}) => {\n return (\n <Flex className=\"ape:flex-col ape:w-full ape:lg:w-1/2 ape:gap-[10px] ape:bg-white3 ape:p-[10px] ape:rounded-[10px]\">\n <Flex className=\"ape:flex-col ape:w-full ape:rounded-[10px] ape:justify-between ape:gap-[14px]\">\n <Flex className=\"ape:items-center ape:justify-between ape:gap-[10px]\">\n <Flex className=\"ape:gap-[5px] ape:justify-center ape:items-center\">\n <TokenImage symbol={bond.payoutTokenName} chain={bond.chainId} size={25} />\n <Text size=\"14px\">{bond.payoutTokenName}</Text>\n <Text size=\"14px\" weight={400} className=\"ape:opacity-60\">\n {getVestingTermsString(bond as any)}\n </Text>\n </Flex>\n <Flex className=\"ape:flex-col ape:gap-[1px] ape:items-end\">\n <Text size=\"12px\" weight={700} style={{ color: 'var(--ape-color-success)' }}>\n {bond.bonus.toFixed(2)}%\n </Text>\n </Flex>\n </Flex>\n </Flex>\n <Button\n onClick={() => handleBuyBondClick(bond.chainId, bond.billAddress, cardIndex)}\n className=\"ape:w-full ape:h-[30px] ape:text-[14px]!\"\n style={{ lineHeight: '20px' }}\n >\n Buy\n </Button>\n </Flex>\n )\n}\n\nexport default CardRecommendation\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;;;AAOA,MAAM,kBAAkB,GAAG,CAAC,EAC1B,SAAS,EACT,IAAI,EACJ,kBAAkB,GAKnB,KAAI;AACH,IAAA,QACEA,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,mGAAmG,EAAA,QAAA,EAAA,CACjHC,GAAA,CAAC,IAAI,IAAC,SAAS,EAAC,+EAA+E,EAAA,QAAA,EAC7FD,KAAC,IAAI,EAAA,EAAC,SAAS,EAAC,qDAAqD,EAAA,QAAA,EAAA,CACnEA,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,mDAAmD,EAAA,QAAA,EAAA,CACjEC,GAAA,CAAC,UAAU,EAAA,EAAC,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAA,CAAI,EAC3EA,GAAA,CAAC,IAAI,EAAA,EAAC,IAAI,EAAC,MAAM,YAAE,IAAI,CAAC,eAAe,EAAA,CAAQ,EAC/CA,GAAA,CAAC,IAAI,EAAA,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAC,gBAAgB,YACtD,qBAAqB,CAAC,IAAW,CAAC,GAC9B,CAAA,EAAA,CACF,EACPA,GAAA,CAAC,IAAI,IAAC,SAAS,EAAC,0CAA0C,EAAA,QAAA,EACxDD,KAAC,IAAI,EAAA,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,0BAA0B,EAAE,EAAA,QAAA,EAAA,CACxE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAA,GAAA,CAAA,EAAA,CACjB,EAAA,CACF,CAAA,EAAA,CACF,GACF,EACPC,GAAA,CAAC,MAAM,EAAA,EACL,OAAO,EAAE,MAAM,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,EAC5E,SAAS,EAAC,0CAA0C,EACpD,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,EAAA,QAAA,EAAA,KAAA,EAAA,CAGtB,CAAA,EAAA,CACJ;AAEX;;;;"}
|
|
@@ -1,19 +1,9 @@
|
|
|
1
|
-
import { jsxs, jsx } from '
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
2
|
import Flex from '../../../../components/uikit-sdk/Flex/index.js';
|
|
3
3
|
import Skeleton from '../../../../components/uikit-sdk/Skeleton/index.js';
|
|
4
4
|
|
|
5
5
|
const RecSkeleton = () => {
|
|
6
|
-
return (jsxs(Flex, {
|
|
7
|
-
width: '100%',
|
|
8
|
-
height: '70px',
|
|
9
|
-
borderRadius: 'normal',
|
|
10
|
-
mb: '5px',
|
|
11
|
-
} }), jsx(Skeleton, { animation: "waves", sx: {
|
|
12
|
-
width: '100%',
|
|
13
|
-
height: '70px',
|
|
14
|
-
borderRadius: 'normal',
|
|
15
|
-
mb: '5px',
|
|
16
|
-
} })] }));
|
|
6
|
+
return (jsxs(Flex, { className: "ape:w-full ape:gap-[10px] ape:lg:gap-[15px] ape:h-[84px]", children: [jsx(Skeleton, { animation: "waves", style: { width: '100%', height: '70px', borderRadius: 'var(--ape-radius-normal)', marginBottom: '5px' } }), jsx(Skeleton, { animation: "waves", style: { width: '100%', height: '70px', borderRadius: 'var(--ape-radius-normal)', marginBottom: '5px' } })] }));
|
|
17
7
|
};
|
|
18
8
|
|
|
19
9
|
export { RecSkeleton as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecSkeleton.js","sources":["../../../../../src/views/YourBondsModal/components/Recommendations/RecSkeleton.tsx"],"sourcesContent":["import React from 'react'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport Skeleton from '../../../../components/uikit-sdk/Skeleton'\n\nconst RecSkeleton = () => {\n return (\n <Flex
|
|
1
|
+
{"version":3,"file":"RecSkeleton.js","sources":["../../../../../src/views/YourBondsModal/components/Recommendations/RecSkeleton.tsx"],"sourcesContent":["import React from 'react'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport Skeleton from '../../../../components/uikit-sdk/Skeleton'\n\nconst RecSkeleton = () => {\n return (\n <Flex className=\"ape:w-full ape:gap-[10px] ape:lg:gap-[15px] ape:h-[84px]\">\n <Skeleton animation=\"waves\" style={{ width: '100%', height: '70px', borderRadius: 'var(--ape-radius-normal)', marginBottom: '5px' }} />\n <Skeleton animation=\"waves\" style={{ width: '100%', height: '70px', borderRadius: 'var(--ape-radius-normal)', marginBottom: '5px' }} />\n </Flex>\n )\n}\n\nexport default RecSkeleton\n"],"names":["_jsxs","_jsx"],"mappings":";;;;AAIA,MAAM,WAAW,GAAG,MAAK;AACvB,IAAA,QACEA,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,0DAA0D,EAAA,QAAA,EAAA,CACxEC,GAAA,CAAC,QAAQ,EAAA,EAAC,SAAS,EAAC,OAAO,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,0BAA0B,EAAE,YAAY,EAAE,KAAK,EAAE,EAAA,CAAI,EACvIA,GAAA,CAAC,QAAQ,EAAA,EAAC,SAAS,EAAC,OAAO,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,0BAA0B,EAAE,YAAY,EAAE,KAAK,EAAE,EAAA,CAAI,CAAA,EAAA,CAClI;AAEX;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsxs, Fragment, jsx } from '
|
|
1
|
+
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
2
2
|
import CardRecommendation from './CardRecommendation.js';
|
|
3
3
|
import track from '../../../../utils/track.js';
|
|
4
4
|
import useGetBondRecommendations from '../../../../state/recommendations/useGetBondRecommendations.js';
|
|
@@ -13,11 +13,7 @@ const Recommendations = ({ billAddress }) => {
|
|
|
13
13
|
const isMobile = useIsMobile();
|
|
14
14
|
const { data = [] } = useGetBondRecommendations(address, billAddress, '2');
|
|
15
15
|
const recommendations = isMobile ? data?.slice(0, 1) : data;
|
|
16
|
-
return (jsxs(Fragment, { children: [jsx(Flex, {
|
|
17
|
-
justifyContent: 'space-between',
|
|
18
|
-
flexDirection: ['column', 'column', 'column', 'row'],
|
|
19
|
-
alignItems: ['flex-start', 'flex-start', 'flex-start', 'center'],
|
|
20
|
-
}, children: jsxs(Flex, { sx: { flexDirection: 'column' }, children: [jsx(Text, { sx: { fontSize: '13px', fontWeight: 600 }, children: "You might also be interested in: " }), jsx(Text, { sx: { fontSize: '11px', fontWeight: 400, color: '#BEBEBE', lineHeight: '18px' }, children: "Based on yours and others users purchases." })] }) }), jsx(Flex, { sx: { width: '100%', gap: ['10px', '10px', '10px', '15px'] }, children: recommendations?.length > 0 ? (recommendations.map((bond, index) => (jsx(CardRecommendation, { cardIndex: index, bond: bond, handleBuyBondClick: () => {
|
|
16
|
+
return (jsxs(Fragment, { children: [jsx(Flex, { className: "ape:justify-between ape:flex-col ape:lg:flex-row ape:items-start ape:lg:items-center", children: jsxs(Flex, { className: "ape:flex-col", children: [jsxs(Text, { size: "13px", weight: 600, children: ["You might also be interested in:", ' '] }), jsx(Text, { size: "11px", weight: 400, style: { color: '#BEBEBE', lineHeight: '18px' }, children: "Based on yours and others users purchases." })] }) }), jsx(Flex, { className: "ape:w-full ape:gap-[10px] ape:lg:gap-[15px]", children: recommendations?.length > 0 ? (recommendations.map((bond, index) => (jsx(CardRecommendation, { cardIndex: index, bond: bond, handleBuyBondClick: () => {
|
|
21
17
|
window.open(`https://ape.bond/bonds?bondAddress=${bond.billAddress}&bondChain=${bond.chainId}`, '_blank', 'noreferrer');
|
|
22
18
|
track({
|
|
23
19
|
event: 'recClick',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Recommendations.js","sources":["../../../../../src/views/YourBondsModal/components/Recommendations/Recommendations.tsx"],"sourcesContent":["import React from 'react'\nimport CardRecommendation from './CardRecommendation'\nimport track from '../../../../utils/track'\nimport useGetBondRecommendations from '../../../../state/recommendations/useGetBondRecommendations'\nimport useEVMAccount from '../../../../hooks/accounts/useEVMAccount'\nimport { useIsMobile } from '../../../../hooks/useIsMobile'\nimport RecSkeleton from './RecSkeleton'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport Text from '../../../../components/uikit-sdk/Text'\n\nconst Recommendations = ({ billAddress }: { billAddress?: string }) => {\n const { address } = useEVMAccount()\n const isMobile = useIsMobile()\n const { data = [] } = useGetBondRecommendations(address, billAddress, '2')\n const recommendations = isMobile ? data?.slice(0, 1) : data\n\n return (\n <>\n <Flex
|
|
1
|
+
{"version":3,"file":"Recommendations.js","sources":["../../../../../src/views/YourBondsModal/components/Recommendations/Recommendations.tsx"],"sourcesContent":["import React from 'react'\nimport CardRecommendation from './CardRecommendation'\nimport track from '../../../../utils/track'\nimport useGetBondRecommendations from '../../../../state/recommendations/useGetBondRecommendations'\nimport useEVMAccount from '../../../../hooks/accounts/useEVMAccount'\nimport { useIsMobile } from '../../../../hooks/useIsMobile'\nimport RecSkeleton from './RecSkeleton'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport Text from '../../../../components/uikit-sdk/Text'\n\nconst Recommendations = ({ billAddress }: { billAddress?: string }) => {\n const { address } = useEVMAccount()\n const isMobile = useIsMobile()\n const { data = [] } = useGetBondRecommendations(address, billAddress, '2')\n const recommendations = isMobile ? data?.slice(0, 1) : data\n\n return (\n <>\n <Flex className=\"ape:justify-between ape:flex-col ape:lg:flex-row ape:items-start ape:lg:items-center\">\n <Flex className=\"ape:flex-col\">\n <Text size=\"13px\" weight={600}>\n You might also be interested in:{' '}\n </Text>\n <Text size=\"11px\" weight={400} style={{ color: '#BEBEBE', lineHeight: '18px' }}>\n Based on yours and others users purchases.\n </Text>\n </Flex>\n </Flex>\n <Flex className=\"ape:w-full ape:gap-[10px] ape:lg:gap-[15px]\">\n {recommendations?.length > 0 ? (\n recommendations.map((bond, index) => (\n <CardRecommendation\n key={`${bond.billAddress}-${index}`}\n cardIndex={index}\n bond={bond}\n handleBuyBondClick={() => {\n window.open(\n `https://ape.bond/bonds?bondAddress=${bond.billAddress}&bondChain=${bond.chainId}`,\n '_blank',\n 'noreferrer',\n )\n track({\n event: 'recClick',\n chain: bond?.chainId,\n data: {\n bond: bond.payoutTokenName,\n position: index,\n },\n })\n }}\n />\n ))\n ) : (\n <RecSkeleton />\n )}\n </Flex>\n </>\n )\n}\n\nexport default Recommendations\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;;;;;;AAUA,MAAM,eAAe,GAAG,CAAC,EAAE,WAAW,EAA4B,KAAI;AACpE,IAAA,MAAM,EAAE,OAAO,EAAE,GAAG,aAAa,EAAE;AACnC,IAAA,MAAM,QAAQ,GAAG,WAAW,EAAE;AAC9B,IAAA,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,yBAAyB,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC;AAC1E,IAAA,MAAM,eAAe,GAAG,QAAQ,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI;IAE3D,QACEA,4BACEC,GAAA,CAAC,IAAI,IAAC,SAAS,EAAC,sFAAsF,EAAA,QAAA,EACpGD,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,cAAc,EAAA,QAAA,EAAA,CAC5BA,KAAC,IAAI,EAAA,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAE,GAAG,iDACM,GAAG,CAAA,EAAA,CAC/B,EACPC,GAAA,CAAC,IAAI,EAAA,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,2DAEvE,CAAA,EAAA,CACF,EAAA,CACF,EACPA,GAAA,CAAC,IAAI,IAAC,SAAS,EAAC,6CAA6C,EAAA,QAAA,EAC1D,eAAe,EAAE,MAAM,GAAG,CAAC,IAC1B,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,MAC9BA,GAAA,CAAC,kBAAkB,EAAA,EAEjB,SAAS,EAAE,KAAK,EAChB,IAAI,EAAE,IAAI,EACV,kBAAkB,EAAE,MAAK;AACvB,wBAAA,MAAM,CAAC,IAAI,CACT,CAAA,mCAAA,EAAsC,IAAI,CAAC,WAAW,CAAA,WAAA,EAAc,IAAI,CAAC,OAAO,CAAA,CAAE,EAClF,QAAQ,EACR,YAAY,CACb;AACD,wBAAA,KAAK,CAAC;AACJ,4BAAA,KAAK,EAAE,UAAU;4BACjB,KAAK,EAAE,IAAI,EAAE,OAAO;AACpB,4BAAA,IAAI,EAAE;gCACJ,IAAI,EAAE,IAAI,CAAC,eAAe;AAC1B,gCAAA,QAAQ,EAAE,KAAK;AAChB,6BAAA;AACF,yBAAA,CAAC;oBACJ,CAAC,EAAA,EAjBI,GAAG,IAAI,CAAC,WAAW,CAAA,CAAA,EAAI,KAAK,CAAA,CAAE,CAkBnC,CACH,CAAC,KAEFA,GAAA,CAAC,WAAW,KAAG,CAChB,EAAA,CACI,CAAA,EAAA,CACN;AAEP;;;;"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
1
|
import { UserBill } from '../../../../types/yourbonds';
|
|
3
2
|
declare const TransferAction: ({ userBill, toAddress, disabled, }: {
|
|
4
3
|
userBill?: UserBill;
|
|
5
4
|
toAddress?: string;
|
|
6
5
|
disabled?: boolean;
|
|
7
|
-
}) =>
|
|
6
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
8
7
|
export default TransferAction;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsx, Fragment, jsxs } from '
|
|
1
|
+
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
2
2
|
import { useState } from 'react';
|
|
3
3
|
import { useChainId, useSwitchChain, useWriteContract } from 'wagmi';
|
|
4
4
|
import BOND_NFT_ABI from '../../../../config/abi/bondNft.json.js';
|