@ape.swap/bonds-sdk 7.0.3 → 7.0.4-test.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/evm/index.d.ts +3 -2
- package/dist/adapters/evm/index.js +11 -2
- package/dist/adapters/evm/index.js.map +1 -1
- package/dist/adapters/evm/state/balances.js +1 -1
- package/dist/adapters/evm/state/balances.js.map +1 -1
- package/dist/adapters/evm/state/fetchBondsDataEVM.js +65 -2
- package/dist/adapters/evm/state/fetchBondsDataEVM.js.map +1 -1
- package/dist/adapters/evm/state/fetchUsersBondsEVM.js +234 -2
- package/dist/adapters/evm/state/fetchUsersBondsEVM.js.map +1 -1
- package/dist/adapters/evm/state/lpStaking/fetchLpStakingLimits.d.ts +24 -0
- package/dist/adapters/evm/state/lpStaking/fetchLpStakingLimits.js +118 -0
- package/dist/adapters/evm/state/lpStaking/fetchLpStakingLimits.js.map +1 -0
- package/dist/adapters/evm/state/lpStaking/useSoulZapLpStakingQuote.d.ts +4 -0
- package/dist/adapters/evm/state/lpStaking/useSoulZapLpStakingQuote.js +140 -0
- package/dist/adapters/evm/state/lpStaking/useSoulZapLpStakingQuote.js.map +1 -0
- package/dist/adapters/evm/state/useSoulZapBondQuote.js +1 -1
- package/dist/adapters/evm/views/BuyComponent.js +3 -3
- package/dist/adapters/evm/views/BuyComponent.js.map +1 -1
- package/dist/adapters/evm/views/lpStaking/BuyComponentLpStaking.d.ts +4 -0
- package/dist/adapters/evm/views/lpStaking/BuyComponentLpStaking.js +212 -0
- package/dist/adapters/evm/views/lpStaking/BuyComponentLpStaking.js.map +1 -0
- package/dist/adapters/evm/views/lpStaking/LpBondModalHeader.d.ts +7 -0
- package/dist/adapters/evm/views/lpStaking/LpBondModalHeader.js +66 -0
- package/dist/adapters/evm/views/lpStaking/LpBondModalHeader.js.map +1 -0
- package/dist/adapters/evm/views/lpStaking/LpStakingEstimations.d.ts +23 -0
- package/dist/adapters/evm/views/lpStaking/LpStakingEstimations.js +40 -0
- package/dist/adapters/evm/views/lpStaking/LpStakingEstimations.js.map +1 -0
- package/dist/adapters/evm/views/lpStaking/ModalHandlerLpStaking.d.ts +3 -0
- package/dist/adapters/evm/views/lpStaking/ModalHandlerLpStaking.js +90 -0
- package/dist/adapters/evm/views/lpStaking/ModalHandlerLpStaking.js.map +1 -0
- package/dist/adapters/evm/views/lpStaking/UserLpStakingBondRow.d.ts +5 -0
- package/dist/adapters/evm/views/lpStaking/UserLpStakingBondRow.js +32 -0
- package/dist/adapters/evm/views/lpStaking/UserLpStakingBondRow.js.map +1 -0
- package/dist/adapters/evm/views/lpStaking/YourLpBondModalHeader.d.ts +7 -0
- package/dist/adapters/evm/views/lpStaking/YourLpBondModalHeader.js +20 -0
- package/dist/adapters/evm/views/lpStaking/YourLpBondModalHeader.js.map +1 -0
- package/dist/adapters/evm/views/lpStaking/YourLpStakingBondModal.d.ts +7 -0
- package/dist/adapters/evm/views/lpStaking/YourLpStakingBondModal.js +78 -0
- package/dist/adapters/evm/views/lpStaking/YourLpStakingBondModal.js.map +1 -0
- package/dist/adapters/solana/views/BuyComponentSolana.js +3 -3
- package/dist/adapters/solana/views/BuyComponentSolana.js.map +1 -1
- package/dist/adapters/types.d.ts +20 -5
- package/dist/components/TokenInfoAndName/index.js +4 -1
- package/dist/components/TokenInfoAndName/index.js.map +1 -1
- package/dist/components/Tooltip/ButtonsRow.js +1 -1
- package/dist/components/Tooltip/ButtonsRow.js.map +1 -1
- package/dist/components/Tooltip/Tooltip.js +3 -2
- package/dist/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/uikit-sdk/TokenImage/index.js +3 -1
- package/dist/components/uikit-sdk/TokenImage/index.js.map +1 -1
- package/dist/config/abi/apeBondPositionAdapter.json.js +1347 -0
- package/dist/config/abi/apeBondPositionAdapter.json.js.map +1 -0
- package/dist/config/abi/bonusEscrow.json.js +33 -0
- package/dist/config/abi/bonusEscrow.json.js.map +1 -0
- package/dist/config/abi/lpStakingVault.json.js +34 -0
- package/dist/config/abi/lpStakingVault.json.js.map +1 -0
- package/dist/config/abi/uniswapV3Pool.json.js +47 -0
- package/dist/config/abi/uniswapV3Pool.json.js.map +1 -0
- package/dist/config/abi/uniswapV3QuoterV2.json.js +66 -0
- package/dist/config/abi/uniswapV3QuoterV2.json.js.map +1 -0
- package/dist/config/constants/addresses.d.ts +1 -0
- package/dist/config/constants/addresses.js +7 -1
- package/dist/config/constants/addresses.js.map +1 -1
- package/dist/config/constants/chains.js +3 -1
- package/dist/config/constants/chains.js.map +1 -1
- package/dist/config/constants/networks.js +1 -1
- package/dist/config/constants/networks.js.map +1 -1
- package/dist/config/constants/variables.d.ts +2 -2
- package/dist/config/constants/variables.js +3 -1
- package/dist/config/constants/variables.js.map +1 -1
- package/dist/hooks/useSendReferenceId.d.ts +4 -1
- package/dist/hooks/useSendReferenceId.js +9 -3
- package/dist/hooks/useSendReferenceId.js.map +1 -1
- package/dist/state/bonds/useBondsData.js +1 -0
- package/dist/state/bonds/useBondsData.js.map +1 -1
- package/dist/state/bonds/useUserBonds.d.ts +10 -1
- package/dist/state/bonds/useUserBonds.js +18 -11
- package/dist/state/bonds/useUserBonds.js.map +1 -1
- package/dist/state/useSDKConfig.js +11 -2
- package/dist/state/useSDKConfig.js.map +1 -1
- package/dist/state/zap/getChainParam.d.ts +1 -16
- package/dist/state/zap/getChainParam.js +16 -40
- package/dist/state/zap/getChainParam.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/types/yourbonds.d.ts +24 -0
- package/dist/views/Bonds/components/BondRows/ActiveBondRows.js +19 -2
- package/dist/views/Bonds/components/BondRows/ActiveBondRows.js.map +1 -1
- package/dist/views/Bonds/components/BondRows/BondRow.d.ts +3 -2
- package/dist/views/Bonds/components/BondRows/BondRow.js +15 -10
- package/dist/views/Bonds/components/BondRows/BondRow.js.map +1 -1
- package/dist/views/Bonds/components/BondRows/ModalHandler.js +1 -1
- package/dist/views/Bonds/components/BondRows/ModalHandler.js.map +1 -1
- package/dist/views/Bonds/components/BondRows/SoldOutRows.js +1 -1
- package/dist/views/Bonds/components/BondRows/SoldOutRows.js.map +1 -1
- package/dist/views/Bonds/components/BondsMenu/BondsMenu.js +1 -1
- package/dist/views/Bonds/components/BondsMenu/BondsMenu.js.map +1 -1
- package/dist/views/Bonds/components/BonusComponents/BonusComponent.js +1 -1
- package/dist/views/Bonds/components/BonusComponents/BonusComponent.js.map +1 -1
- package/dist/views/Bonds/components/BuyAgainRow/index.js +1 -1
- package/dist/views/Bonds/components/BuyAgainRow/index.js.map +1 -1
- package/dist/views/Bonds/components/CheckURL/index.js +20 -15
- package/dist/views/Bonds/components/CheckURL/index.js.map +1 -1
- package/dist/views/BuyBond/ChainBuyComponent.d.ts +4 -1
- package/dist/views/BuyBond/ChainBuyComponent.js +14 -2
- package/dist/views/BuyBond/ChainBuyComponent.js.map +1 -1
- package/dist/views/BuyBond/components/BondCards/BondCards.js +1 -7
- package/dist/views/BuyBond/components/BondCards/BondCards.js.map +1 -1
- package/dist/views/BuyBond/components/BondModalHeader.d.ts +1 -2
- package/dist/views/BuyBond/components/BondModalHeader.js +13 -5
- package/dist/views/BuyBond/components/BondModalHeader.js.map +1 -1
- package/dist/views/BuyBond/components/Estimations.js +1 -1
- package/dist/views/BuyBond/components/Estimations.js.map +1 -1
- package/dist/views/BuyBond/components/ExpandedViewButton.d.ts +2 -2
- package/dist/views/BuyBond/components/ExpandedViewButton.js +2 -2
- package/dist/views/BuyBond/components/ExpandedViewButton.js.map +1 -1
- package/dist/views/FullBondsView/FullBondsView.js +2 -1
- package/dist/views/FullBondsView/FullBondsView.js.map +1 -1
- package/dist/views/FullBondsView/YourBondsStatus.d.ts +3 -0
- package/dist/views/FullBondsView/YourBondsStatus.js +54 -0
- package/dist/views/FullBondsView/YourBondsStatus.js.map +1 -0
- package/dist/views/SingleBond/SoldOutBuyBondPlaceholder.js +2 -5
- package/dist/views/SingleBond/SoldOutBuyBondPlaceholder.js.map +1 -1
- package/dist/views/YourBonds/YourBonds.js +6 -1
- package/dist/views/YourBonds/YourBonds.js.map +1 -1
- package/dist/views/YourBonds/components/YourBondsMenu/YourBondsMenu.js +2 -1
- package/dist/views/YourBonds/components/YourBondsMenu/YourBondsMenu.js.map +1 -1
- package/dist/views/YourBondsModal/components/YourBondModalHeader/YourBondModalHeader.d.ts +2 -1
- package/dist/views/YourBondsModal/components/YourBondModalHeader/YourBondModalHeader.js +2 -2
- package/dist/views/YourBondsModal/components/YourBondModalHeader/YourBondModalHeader.js.map +1 -1
- package/package.json +2 -2
|
@@ -4,12 +4,13 @@ import YourBonds from '../YourBonds/YourBonds.js';
|
|
|
4
4
|
import Bonds from '../Bonds/Bonds.js';
|
|
5
5
|
import useActiveView, { BondsViewOptions } from '../../state/activeView/index.js';
|
|
6
6
|
import { useSDKConfig } from '../../state/useSDKConfig.js';
|
|
7
|
+
import YourBondsStatus from './YourBondsStatus.js';
|
|
7
8
|
import Toggle from '../../components/uikit-sdk/Toggle/index.js';
|
|
8
9
|
|
|
9
10
|
const FullBondsView = () => {
|
|
10
11
|
const { activeView, handleToogle } = useActiveView();
|
|
11
12
|
const SDKConfig = useSDKConfig();
|
|
12
|
-
return (jsxs("div", { className: "full-bonds-view-container ape:w-full ape:flex ape:flex-col ape:relative", children: [(SDKConfig.solAddress || SDKConfig.evmAddress) && (jsxs(Flex, { className: "ape:justify-center ape:my-[20px]", children: ["Debugger mode for address: ", SDKConfig.solAddress || SDKConfig.evmAddress] })),
|
|
13
|
+
return (jsxs("div", { className: "full-bonds-view-container ape:w-full ape:flex ape:flex-col ape:relative", children: [(SDKConfig.solAddress || SDKConfig.evmAddress) && (jsxs(Flex, { className: "ape:justify-center ape:my-[20px]", children: ["Debugger mode for address: ", SDKConfig.solAddress || SDKConfig.evmAddress] })), jsxs("div", { className: "ape:w-full ape:flex ape:flex-col ape:min-[1000px]:flex-row ape:min-[1000px]:items-center ape:min-[1000px]:gap-[20px] ape:min-[1000px]:absolute ape:min-[1000px]:left-[10px] ape:min-[1000px]:w-auto", children: [jsx("div", { className: "toggle-container ape:w-full ape:p-[10px] ape:min-[1000px]:p-0 ape:min-[1000px]:w-[300px]", children: jsx(Toggle, { options: [BondsViewOptions.BONDSMARKET, BondsViewOptions.YOURBONDS], activeOption: activeView, handleToggle: handleToogle }) }), activeView === BondsViewOptions.YOURBONDS && (jsx("div", { className: "ape:hidden ape:min-[1000px]:block", children: jsx(YourBondsStatus, {}) }))] }), jsx(Flex, { className: "ape:w-full", children: activeView === BondsViewOptions.BONDSMARKET ? jsx(Bonds, {}) : jsx(YourBonds, {}) })] }));
|
|
13
14
|
};
|
|
14
15
|
|
|
15
16
|
export { FullBondsView as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FullBondsView.js","sources":["../../../src/views/FullBondsView/FullBondsView.tsx"],"sourcesContent":["import React from 'react'\nimport Flex from '../../components/uikit-sdk/Flex'\nimport YourBonds from '../YourBonds/YourBonds'\nimport Bonds from '../Bonds/Bonds'\nimport useActiveView, { BondsViewOptions } from '../../state/activeView'\nimport { useSDKConfig } from '../../state/useSDKConfig'\nimport Toggle from '../../components/uikit-sdk/Toggle'\n\nconst FullBondsView = () => {\n const { activeView, handleToogle } = useActiveView()\n const SDKConfig = useSDKConfig()\n\n return (\n <div className=\"full-bonds-view-container ape:w-full ape:flex ape:flex-col ape:relative\">\n {(SDKConfig.solAddress || SDKConfig.evmAddress) && (\n <Flex className=\"ape:justify-center ape:my-[20px]\">\n Debugger mode for address: {SDKConfig.solAddress || SDKConfig.evmAddress}\n </Flex>\n )}\n <div className=\"
|
|
1
|
+
{"version":3,"file":"FullBondsView.js","sources":["../../../src/views/FullBondsView/FullBondsView.tsx"],"sourcesContent":["import React from 'react'\nimport Flex from '../../components/uikit-sdk/Flex'\nimport YourBonds from '../YourBonds/YourBonds'\nimport Bonds from '../Bonds/Bonds'\nimport useActiveView, { BondsViewOptions } from '../../state/activeView'\nimport { useSDKConfig } from '../../state/useSDKConfig'\nimport YourBondsStatus from './YourBondsStatus'\nimport Toggle from '../../components/uikit-sdk/Toggle'\n\nconst FullBondsView = () => {\n const { activeView, handleToogle } = useActiveView()\n const SDKConfig = useSDKConfig()\n\n return (\n <div className=\"full-bonds-view-container ape:w-full ape:flex ape:flex-col ape:relative\">\n {(SDKConfig.solAddress || SDKConfig.evmAddress) && (\n <Flex className=\"ape:justify-center ape:my-[20px]\">\n Debugger mode for address: {SDKConfig.solAddress || SDKConfig.evmAddress}\n </Flex>\n )}\n <div className=\"ape:w-full ape:flex ape:flex-col ape:min-[1000px]:flex-row ape:min-[1000px]:items-center ape:min-[1000px]:gap-[20px] ape:min-[1000px]:absolute ape:min-[1000px]:left-[10px] ape:min-[1000px]:w-auto\">\n <div className=\"toggle-container ape:w-full ape:p-[10px] ape:min-[1000px]:p-0 ape:min-[1000px]:w-[300px]\">\n <Toggle\n options={[BondsViewOptions.BONDSMARKET, BondsViewOptions.YOURBONDS]}\n activeOption={activeView}\n handleToggle={handleToogle}\n />\n </div>\n {activeView === BondsViewOptions.YOURBONDS && (\n <div className=\"ape:hidden ape:min-[1000px]:block\">\n <YourBondsStatus />\n </div>\n )}\n </div>\n <Flex className=\"ape:w-full\">{activeView === BondsViewOptions.BONDSMARKET ? <Bonds /> : <YourBonds />}</Flex>\n </div>\n )\n}\n\nexport default FullBondsView\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;;;;;AASA,MAAM,aAAa,GAAG,MAAK;IACzB,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,aAAa,EAAE;AACpD,IAAA,MAAM,SAAS,GAAG,YAAY,EAAE;IAEhC,QACEA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,yEAAyE,aACrF,CAAC,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,UAAU,MAC5CA,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,kCAAkC,EAAA,QAAA,EAAA,CAAA,6BAAA,EACpB,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,UAAU,CAAA,EAAA,CACnE,CACR,EACDA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,qMAAqM,EAAA,QAAA,EAAA,CAClNC,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,0FAA0F,EAAA,QAAA,EACvGA,GAAA,CAAC,MAAM,EAAA,EACL,OAAO,EAAE,CAAC,gBAAgB,CAAC,WAAW,EAAE,gBAAgB,CAAC,SAAS,CAAC,EACnE,YAAY,EAAE,UAAU,EACxB,YAAY,EAAE,YAAY,EAAA,CAC1B,EAAA,CACE,EACL,UAAU,KAAK,gBAAgB,CAAC,SAAS,KACxCA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,mCAAmC,EAAA,QAAA,EAChDA,GAAA,CAAC,eAAe,EAAA,EAAA,CAAG,EAAA,CACf,CACP,CAAA,EAAA,CACG,EACNA,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,YAAY,EAAA,QAAA,EAAE,UAAU,KAAK,gBAAgB,CAAC,WAAW,GAAGA,GAAA,CAAC,KAAK,EAAA,EAAA,CAAG,GAAGA,GAAA,CAAC,SAAS,EAAA,EAAA,CAAG,EAAA,CAAQ,CAAA,EAAA,CACzG;AAEV;;;;"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
import { useState, useEffect } from 'react';
|
|
3
|
+
import useUserBonds from '../../state/bonds/useUserBonds.js';
|
|
4
|
+
import useChainAccount from '../../state/chainAccount/useChainAccount.js';
|
|
5
|
+
import Flex from '../../components/uikit-sdk/Flex/index.js';
|
|
6
|
+
import TooltipBubble from '../../components/uikit-sdk/TooltipBubble/index.js';
|
|
7
|
+
import { NETWORK_LABEL } from '../../config/constants/chains.js';
|
|
8
|
+
|
|
9
|
+
const useYourBondsStatus = () => {
|
|
10
|
+
const { address: evm } = useChainAccount('evm');
|
|
11
|
+
const { address: sol } = useChainAccount('sol');
|
|
12
|
+
const { address: aptos } = useChainAccount('aptos');
|
|
13
|
+
const { address: sui } = useChainAccount('sui');
|
|
14
|
+
const { isError, isSuccess, isFetching, refetch, dataUpdatedAt, failedChains } = useUserBonds();
|
|
15
|
+
const status = !(evm || sol || aptos || sui)
|
|
16
|
+
? 'Disconnected'
|
|
17
|
+
: isError
|
|
18
|
+
? 'Error'
|
|
19
|
+
: isFetching
|
|
20
|
+
? 'Refreshing'
|
|
21
|
+
: isSuccess
|
|
22
|
+
? 'Finished'
|
|
23
|
+
: 'Refreshing';
|
|
24
|
+
return { status, refetch: () => void refetch(), dataUpdatedAt, failedChains };
|
|
25
|
+
};
|
|
26
|
+
const REFETCH_INTERVAL = 120000; // keep in sync with `refetchInterval` in useUserBonds
|
|
27
|
+
const CIRCLE_RADIUS = 6;
|
|
28
|
+
const CIRCLE_LENGTH = 2 * Math.PI * CIRCLE_RADIUS;
|
|
29
|
+
const getTimeLeft = (dataUpdatedAt) => Math.max(0, dataUpdatedAt + REFETCH_INTERVAL - Date.now());
|
|
30
|
+
/**
|
|
31
|
+
* Icon shown once the bonds are fetched: a warning emoji if some chains failed, otherwise a circle that empties as the
|
|
32
|
+
* next automatic refetch approaches. The tooltip lists the failed chains and the time left. Updated once per second.
|
|
33
|
+
*/
|
|
34
|
+
const StatusIcon = ({ dataUpdatedAt, failedChains, onClick, }) => {
|
|
35
|
+
const [timeLeft, setTimeLeft] = useState(() => getTimeLeft(dataUpdatedAt));
|
|
36
|
+
useEffect(() => {
|
|
37
|
+
setTimeLeft(getTimeLeft(dataUpdatedAt));
|
|
38
|
+
const id = setInterval(() => setTimeLeft(getTimeLeft(dataUpdatedAt)), 1000);
|
|
39
|
+
return () => clearInterval(id);
|
|
40
|
+
}, [dataUpdatedAt]);
|
|
41
|
+
const progress = Math.min(1, timeLeft / REFETCH_INTERVAL);
|
|
42
|
+
const secondsLeft = Math.ceil(timeLeft / 1000);
|
|
43
|
+
const hasFailedChains = failedChains.length > 0;
|
|
44
|
+
return (jsx(TooltipBubble, { placement: "bottomLeft", width: "220px", transformTip: "translate(-5%, 0%)", body: jsxs("div", { className: "ape:whitespace-normal", children: [hasFailedChains && (jsxs("div", { className: "ape:mb-2", children: ["The following chains failed:", failedChains.map((chainId) => (jsxs("div", { children: ["- ", NETWORK_LABEL[chainId] ?? `Chain ${chainId}`] }, chainId)))] })), jsxs("div", { children: ["Next refresh in ", secondsLeft, " seconds."] }), jsx("button", { type: "button", className: "your-bonds-refetch-now ape:mt-1 ape:p-0 ape:bg-transparent ape:border-0 ape:font-[inherit] ape:text-primary-button ape:cursor-pointer ape:hover:underline", onClick: onClick, children: "Refresh now." })] }), children: jsx(Flex, { className: "ape:items-center", children: hasFailedChains ? (jsx("span", { role: "img", "aria-label": "warning", className: "your-bonds-status-warning", children: "\u26A0\uFE0F" })) : (jsxs("svg", { className: "your-bonds-status-countdown", width: "16", height: "16", viewBox: "0 0 16 16", role: "img", "aria-label": `Next refresh in ${secondsLeft} seconds`, children: [jsx("circle", { cx: "8", cy: "8", r: CIRCLE_RADIUS, fill: "none", stroke: "currentColor", strokeOpacity: "0.25", strokeWidth: "2" }), jsx("circle", { cx: "8", cy: "8", r: CIRCLE_RADIUS, fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeDasharray: CIRCLE_LENGTH, strokeDashoffset: CIRCLE_LENGTH * (1 - progress), transform: "rotate(-90 8 8)", style: { transition: 'stroke-dashoffset 1s linear' } })] })) }) }));
|
|
45
|
+
};
|
|
46
|
+
/** Status of the Your Bonds data, driven by the `useUserBonds` query state. */
|
|
47
|
+
const YourBondsStatus = () => {
|
|
48
|
+
const { status, refetch, dataUpdatedAt, failedChains } = useYourBondsStatus();
|
|
49
|
+
const isFinished = status === 'Finished';
|
|
50
|
+
return (jsxs(Flex, { className: "your-bonds-status ape:text-[14px] ape:whitespace-nowrap ape:text-text-disabled-button ape:font-normal ape:items-center ape:gap-[4px]", children: ["Status: ", status, status === 'Refreshing' && jsx("span", { className: "ape-ellipsis" }), isFinished && (jsxs(Fragment, { children: [' ', jsx(StatusIcon, { dataUpdatedAt: dataUpdatedAt, failedChains: failedChains, onClick: refetch })] }))] }));
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
export { YourBondsStatus as default };
|
|
54
|
+
//# sourceMappingURL=YourBondsStatus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"YourBondsStatus.js","sources":["../../../src/views/FullBondsView/YourBondsStatus.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react'\nimport { ChainId } from '@ape.swap/apeswap-lists'\nimport useUserBonds from '../../state/bonds/useUserBonds'\nimport useChainAccount from '../../state/chainAccount/useChainAccount'\nimport Flex from '../../components/uikit-sdk/Flex'\nimport TooltipBubble from '../../components/uikit-sdk/TooltipBubble'\nimport { NETWORK_LABEL } from '../../config/constants/chains'\n\ntype YourBondsStatusType = 'Disconnected' | 'Error' | 'Refreshing' | 'Finished'\n\nconst useYourBondsStatus = (): {\n status: YourBondsStatusType\n refetch: () => void\n dataUpdatedAt: number\n failedChains: ChainId[]\n} => {\n const { address: evm } = useChainAccount('evm')\n const { address: sol } = useChainAccount('sol')\n const { address: aptos } = useChainAccount('aptos')\n const { address: sui } = useChainAccount('sui')\n const { isError, isSuccess, isFetching, refetch, dataUpdatedAt, failedChains } = useUserBonds()\n\n const status: YourBondsStatusType = !(evm || sol || aptos || sui)\n ? 'Disconnected'\n : isError\n ? 'Error'\n : isFetching\n ? 'Refreshing'\n : isSuccess\n ? 'Finished'\n : 'Refreshing'\n return { status, refetch: () => void refetch(), dataUpdatedAt, failedChains }\n}\n\nconst REFETCH_INTERVAL = 120000 // keep in sync with `refetchInterval` in useUserBonds\nconst CIRCLE_RADIUS = 6\nconst CIRCLE_LENGTH = 2 * Math.PI * CIRCLE_RADIUS\n\nconst getTimeLeft = (dataUpdatedAt: number) => Math.max(0, dataUpdatedAt + REFETCH_INTERVAL - Date.now())\n\n/**\n * Icon shown once the bonds are fetched: a warning emoji if some chains failed, otherwise a circle that empties as the\n * next automatic refetch approaches. The tooltip lists the failed chains and the time left. Updated once per second.\n */\nconst StatusIcon = ({\n dataUpdatedAt,\n failedChains,\n onClick,\n}: {\n dataUpdatedAt: number\n failedChains: ChainId[]\n onClick: () => void\n}) => {\n const [timeLeft, setTimeLeft] = useState(() => getTimeLeft(dataUpdatedAt))\n\n useEffect(() => {\n setTimeLeft(getTimeLeft(dataUpdatedAt))\n const id = setInterval(() => setTimeLeft(getTimeLeft(dataUpdatedAt)), 1000)\n return () => clearInterval(id)\n }, [dataUpdatedAt])\n\n const progress = Math.min(1, timeLeft / REFETCH_INTERVAL)\n const secondsLeft = Math.ceil(timeLeft / 1000)\n const hasFailedChains = failedChains.length > 0\n\n return (\n <TooltipBubble\n placement=\"bottomLeft\"\n width=\"220px\"\n transformTip=\"translate(-5%, 0%)\"\n body={\n <div className=\"ape:whitespace-normal\">\n {hasFailedChains && (\n <div className=\"ape:mb-2\">\n The following chains failed:\n {failedChains.map((chainId) => (\n <div key={chainId}>- {NETWORK_LABEL[chainId] ?? `Chain ${chainId}`}</div>\n ))}\n </div>\n )}\n <div>Next refresh in {secondsLeft} seconds.</div>\n <button\n type=\"button\"\n className=\"your-bonds-refetch-now ape:mt-1 ape:p-0 ape:bg-transparent ape:border-0 ape:font-[inherit] ape:text-primary-button ape:cursor-pointer ape:hover:underline\"\n onClick={onClick}\n >\n Refresh now.\n </button>\n </div>\n }\n >\n <Flex className=\"ape:items-center\">\n {hasFailedChains ? (\n <span role=\"img\" aria-label=\"warning\" className=\"your-bonds-status-warning\">\n ⚠️\n </span>\n ) : (\n <svg\n className=\"your-bonds-status-countdown\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n role=\"img\"\n aria-label={`Next refresh in ${secondsLeft} seconds`}\n >\n <circle\n cx=\"8\"\n cy=\"8\"\n r={CIRCLE_RADIUS}\n fill=\"none\"\n stroke=\"currentColor\"\n strokeOpacity=\"0.25\"\n strokeWidth=\"2\"\n />\n <circle\n cx=\"8\"\n cy=\"8\"\n r={CIRCLE_RADIUS}\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeDasharray={CIRCLE_LENGTH}\n strokeDashoffset={CIRCLE_LENGTH * (1 - progress)}\n transform=\"rotate(-90 8 8)\"\n style={{ transition: 'stroke-dashoffset 1s linear' }}\n />\n </svg>\n )}\n </Flex>\n </TooltipBubble>\n )\n}\n\n/** Status of the Your Bonds data, driven by the `useUserBonds` query state. */\nconst YourBondsStatus = () => {\n const { status, refetch, dataUpdatedAt, failedChains } = useYourBondsStatus()\n const isFinished = status === 'Finished'\n\n return (\n <Flex className=\"your-bonds-status ape:text-[14px] ape:whitespace-nowrap ape:text-text-disabled-button ape:font-normal ape:items-center ape:gap-[4px]\">\n Status: {status}\n {status === 'Refreshing' && <span className=\"ape-ellipsis\" />}\n {isFinished && (\n <>\n {' '}\n <StatusIcon dataUpdatedAt={dataUpdatedAt} failedChains={failedChains} onClick={refetch} />\n </>\n )}\n </Flex>\n )\n}\n\nexport default YourBondsStatus\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
|
|
@@ -5,7 +5,6 @@ import Flex from '../../components/uikit-sdk/Flex/index.js';
|
|
|
5
5
|
import TokenSelectorPanel from '../../components/TokenSelectorPanel/index.js';
|
|
6
6
|
import useCurrencyBalance from '../../state/balance/useCurrencyBalance.js';
|
|
7
7
|
import useTokenFromZapList from '../../hooks/useTokenFromZapList.js';
|
|
8
|
-
import { useSDKConfig } from '../../state/useSDKConfig.js';
|
|
9
8
|
import { zapSupported } from '../../config/constants/variables.js';
|
|
10
9
|
import { getSymbol } from '../../utils/getNativeTicker.js';
|
|
11
10
|
import useTierPoints from '../../state/tiers/useTierPoints.js';
|
|
@@ -17,7 +16,7 @@ import Estimations from '../BuyBond/components/Estimations.js';
|
|
|
17
16
|
import useChainAccount from '../../state/chainAccount/useChainAccount.js';
|
|
18
17
|
|
|
19
18
|
const SoldOutBuyBondPlaceholder = ({ bond }) => {
|
|
20
|
-
const SDKConfig = useSDKConfig()
|
|
19
|
+
// const SDKConfig = useSDKConfig()
|
|
21
20
|
// Hooks
|
|
22
21
|
const { address: account } = useChainAccount('evm');
|
|
23
22
|
const { data: tierState } = useTierPoints();
|
|
@@ -39,9 +38,7 @@ const SoldOutBuyBondPlaceholder = ({ bond }) => {
|
|
|
39
38
|
} }), jsx(Flex, { className: "ape:absolute ape:top-[50px] ape:left-[-50px] ape:text-white ape:p-[5px_20px] ape:text-[14px] ape:font-bold ape:rotate-[-45deg] ape:z-[1000] ape:w-[220px] ape:justify-center", style: {
|
|
40
39
|
backgroundColor: 'var(--ape-color-error)',
|
|
41
40
|
boxShadow: '0 2px 4px rgba(0,0,0,0.2)',
|
|
42
|
-
}, children: "SOLD OUT" })] }), jsx(BondModalHeader, { bondData: bondData,
|
|
43
|
-
// onDismiss={onDismiss}
|
|
44
|
-
showProjectInfoButton: SDKConfig?.referenceId === 'apebond' }), jsx(ProjectDescription, { description: bondData.shortDescription }), jsx(BondCards, { bondData: { ...bondData, bonusWithFee: -1 } }), jsx(Estimations, { depositAmount: '0', inputValue: '0', inputTokenPrice: 0,
|
|
41
|
+
}, children: "SOLD OUT" })] }), jsx(BondModalHeader, { bondData: bondData }), jsx(ProjectDescription, { description: bondData.shortDescription }), jsx(BondCards, { bondData: { ...bondData, bonusWithFee: -1 } }), jsx(Estimations, { depositAmount: '0', inputValue: '0', inputTokenPrice: 0,
|
|
45
42
|
/*@ts-ignore*/
|
|
46
43
|
bondData: bondData, youSpendString: '0', isZap: isZap, fetchingZapQuote: false, zapError: false }), jsx(TokenSelectorPanel, { typedValue: inputValue, setTypedValue: setInputValue, selectedToken: inputToken, handleValueBtn: () => null, handleCurrencySelect: () => null, bondChainId: bondData?.chainId, enableZap: zapSupported.includes(bondData?.chainId), bondPrincipalToken: bondData?.lpToken, tokenBalance: inputCurrencyBalance ?? undefined, selectedTokenPrice: 0, inputDisabled: true, isConnected: false }), jsxs(Flex, { className: "modaltable-container button-container ape:w-full ape:flex ape:relative ape:flex-row ape:pt-[10px] ape:justify-between", children: [account && (minTier === null || (userTier !== null && userTier >= minTier)) && (jsx(Flex, { className: "button-container get", children: jsxs(Button, { className: "action-button", variant: "secondary", fullWidth: true, disabled: true, children: ["Get ", getSymbol(bondData?.lpToken)] }) })), jsx(Flex, { className: "button-container buy ape:justify-center ape:items-center ape:cursor-pointer ape:w-full", children: jsx(Button, { className: "action-button", fullWidth: true, disabled: true, children: "Buy" }) })] })] }) })) : (jsx(Fragment, {}));
|
|
47
44
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SoldOutBuyBondPlaceholder.js","sources":["../../../src/views/SingleBond/SoldOutBuyBondPlaceholder.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport Button from '../../components/uikit-sdk/Button/Button'\nimport Flex from '../../components/uikit-sdk/Flex'\nimport { BillsConfig } from '@ape.swap/apeswap-lists'\nimport TokenSelectorPanel from '../../components/TokenSelectorPanel'\nimport useCurrencyBalance from '../../state/balance/useCurrencyBalance'\nimport useTokenFromZapList from '../../hooks/useTokenFromZapList'\nimport {
|
|
1
|
+
{"version":3,"file":"SoldOutBuyBondPlaceholder.js","sources":["../../../src/views/SingleBond/SoldOutBuyBondPlaceholder.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport Button from '../../components/uikit-sdk/Button/Button'\nimport Flex from '../../components/uikit-sdk/Flex'\nimport { BillsConfig } from '@ape.swap/apeswap-lists'\nimport TokenSelectorPanel from '../../components/TokenSelectorPanel'\nimport useCurrencyBalance from '../../state/balance/useCurrencyBalance'\nimport useTokenFromZapList from '../../hooks/useTokenFromZapList'\nimport { zapSupported, ZapSupportedChainId } from '../../config/constants/variables'\nimport { getSymbol } from '../../utils/getNativeTicker'\nimport useTierPoints from '../../state/tiers/useTierPoints'\nimport { getUserTier } from '../../state/tiers/tiers'\nimport BondModalHeader from '../BuyBond/components/BondModalHeader'\nimport { BondsData } from '../../types/bonds'\nimport ProjectDescription from '../BuyBond/components/ProjectDescription'\nimport BondCards from '../BuyBond/components/BondCards/BondCards'\nimport Estimations from '../BuyBond/components/Estimations'\nimport useChainAccount from '../../state/chainAccount/useChainAccount'\n\ninterface SoldOutProps {\n onDismiss?: () => void\n bond: BillsConfig\n}\n\nconst SoldOutBuyBondPlaceholder: React.FC<SoldOutProps> = ({ bond }) => {\n // const SDKConfig = useSDKConfig()\n // Hooks\n const { address: account } = useChainAccount('evm')\n const { data: tierState } = useTierPoints()\n const { promotionalPoints } = tierState || {}\n const userTier = getUserTier(promotionalPoints ?? '0')\n\n // State\n const bondData = bond\n const minTier = bondData?.minTier !== undefined ? bondData.minTier : null\n const [inputValue, setInputValue] = useState('')\n const [inputTokenString] = useState(bondData?.lpToken?.address?.[bondData.chainId])\n\n // Data\n const inputToken = useTokenFromZapList(inputTokenString, bondData?.chainId, bondData?.lpToken)\n const isZap = inputTokenString?.toLowerCase() !== bondData?.lpToken?.address?.[bondData?.chainId]?.toLowerCase()\n\n const { data: inputCurrencyBalance } = useCurrencyBalance(\n inputToken ?? null,\n account ?? null,\n bondData?.chainId ?? null,\n )\n\n return bondData ? (\n <Flex className=\"modal-content ape:flex ape:flex-col ape:rounded-[10px] ape:bg-white2 ape:w-full ape:p-[15px] ape:min-[800px]:p-[20px]\">\n <Flex className=\"modaltable-container ape:w-full ape:flex ape:flex-col ape:relative\">\n <Flex className=\"ape:absolute ape:w-[calc(100%+40px)] ape:h-[calc(100%+20px)] ape:top-0 ape:left-[-20px] ape:overflow-hidden ape:rounded-normal\">\n <Flex\n className=\"ape:absolute ape:w-full ape:h-full ape:z-[999]\"\n style={{\n backgroundColor: 'rgba(255,255,255,0.1)',\n backdropFilter: 'blur(1px)',\n WebkitBackdropFilter: 'blur(1px)', // Ensure compatibility with Safari\n }}\n ></Flex>\n <Flex\n className=\"ape:absolute ape:top-[50px] ape:left-[-50px] ape:text-white ape:p-[5px_20px] ape:text-[14px] ape:font-bold ape:rotate-[-45deg] ape:z-[1000] ape:w-[220px] ape:justify-center\"\n style={{\n backgroundColor: 'var(--ape-color-error)',\n boxShadow: '0 2px 4px rgba(0,0,0,0.2)',\n }}\n >\n SOLD OUT\n </Flex>\n </Flex>\n <BondModalHeader bondData={bondData as unknown as BondsData} />\n <ProjectDescription description={bondData.shortDescription} />\n {/*@ts-ignore*/}\n <BondCards bondData={{ ...bondData, bonusWithFee: -1 }} />\n <Estimations\n depositAmount={'0'}\n inputValue={'0'}\n inputTokenPrice={0}\n /*@ts-ignore*/\n bondData={bondData}\n youSpendString={'0'}\n isZap={isZap}\n fetchingZapQuote={false}\n zapError={false}\n />\n <TokenSelectorPanel\n typedValue={inputValue}\n setTypedValue={setInputValue}\n selectedToken={inputToken}\n handleValueBtn={() => null}\n handleCurrencySelect={() => null}\n bondChainId={bondData?.chainId}\n enableZap={zapSupported.includes(bondData?.chainId as ZapSupportedChainId)}\n bondPrincipalToken={bondData?.lpToken}\n tokenBalance={inputCurrencyBalance ?? undefined}\n selectedTokenPrice={0}\n inputDisabled={true}\n isConnected={false}\n />\n <Flex className=\"modaltable-container button-container ape:w-full ape:flex ape:relative ape:flex-row ape:pt-[10px] ape:justify-between\">\n {account && (minTier === null || (userTier !== null && userTier >= minTier)) && (\n <Flex className=\"button-container get\">\n <Button className=\"action-button\" variant=\"secondary\" fullWidth disabled>\n Get {getSymbol(bondData?.lpToken)}\n </Button>\n </Flex>\n )}\n <Flex className=\"button-container buy ape:justify-center ape:items-center ape:cursor-pointer ape:w-full\">\n <Button className=\"action-button\" fullWidth disabled>\n Buy\n </Button>\n </Flex>\n </Flex>\n </Flex>\n </Flex>\n ) : (\n <></>\n )\n}\nexport default SoldOutBuyBondPlaceholder\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
|
|
@@ -160,7 +160,12 @@ const YourBonds = ({ showOnly }) => {
|
|
|
160
160
|
const adapter = getAdapterForChain(chainId);
|
|
161
161
|
if (!adapter)
|
|
162
162
|
return null;
|
|
163
|
-
|
|
163
|
+
const key = `${adapter.ecosystem}-${bond?.id}-${bond?.billNftAddress}`;
|
|
164
|
+
if (bond.bond?.billType === 'lpStaking') {
|
|
165
|
+
if (adapter.lpStaking)
|
|
166
|
+
return jsx(adapter.lpStaking.UserBondRow, { bill: bond }, key);
|
|
167
|
+
}
|
|
168
|
+
return jsx(adapter.UserBondRow, { bill: bond }, key);
|
|
164
169
|
})] })) : inputValue !== '' || !chainFilterOption.includes('All Chains') ? (jsx(Flex, { className: "placeholder-monkey-wrapper ape:w-full ape:flex-col ape:pt-[100px] ape:pb-[100px] ape:bg-white2 ape:items-center ape:rounded-[10px] ape:mt-[15px] ape:justify-center ape:h-[400px]", children: jsx(PlaceholderMonkey, { text: 'No results, change filters.' }) })) : hasFetched && !hasBonds ? (jsx(Flex, { className: "placeholder-monkey-wrapper ape:w-full ape:flex-col ape:pt-[100px] ape:pb-[100px] ape:bg-white2 ape:items-center ape:rounded-[10px] ape:mt-[15px] ape:justify-center ape:h-[400px]", children: jsx(PlaceholderMonkey, { text: `You do not own any ${[account && 'EVM', solanaAccount && 'SOL', aptosAccount && 'Aptos', suiAccount && 'Sui'].filter(Boolean).join(' nor ') || 'EVM'} Bonds.` }) })) : (jsx(Flex, { className: "placeholder-monkey-wrapper ape:w-full ape:flex-col ape:pt-[100px] ape:pb-[100px] ape:bg-white2 ape:items-center ape:rounded-[10px] ape:mt-[15px] ape:justify-center ape:h-[400px]", children: jsx(Spinner, { size: 100 }) })), jsx(Flex, { className: "ape:w-full ape:flex-col ape:xl:flex-row ape:gap-[10px] ape:my-[10px]", children: getRegisteredAdapters().map((adapter) => (jsx(AdapterConnectBanner, { adapter: adapter, chains: SDKConfig.chains ?? [] }, adapter.ecosystem))) })] }));
|
|
165
170
|
};
|
|
166
171
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YourBonds.js","sources":["../../../src/views/YourBonds/YourBonds.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useState } from 'react'\nimport Spinner from '../../components/uikit-sdk/Spinner'\nimport Flex from '../../components/uikit-sdk/Flex'\nimport { UserBill } from '../../types/yourbonds'\nimport { claimableUSD, pendingUSD, getTimeLeftForFullyVested } from '../../utils/displayHelpers'\nimport useUserBonds from '../../state/bonds/useUserBonds'\nimport useTokenPrices from '../../state/tokenPrices/useTokenPrices'\nimport PlaceholderMonkey from '../../components/PlaceholderMonkey'\nimport useChainFilterOption from '../../state/chainFilterOption/useChainFilterOption'\nimport YourBondsMenu from './components/YourBondsMenu/YourBondsMenu'\nimport { useSDKConfig } from '../../state/useSDKConfig'\nimport { ChainId } from '@ape.swap/apeswap-lists'\nimport useUserBondsPreTGE from '../../state/bonds/useUserBondsPreTGE'\nimport useChainAccount from '../../state/chainAccount/useChainAccount'\nimport { getAdapterForChain, getRegisteredAdapters } from '../../adapters/registry'\nimport type { ChainAdapter } from '../../adapters/types'\nimport useBondsData from '../../state/bonds/useBondsData'\n\ntype SortDirection = 'asc' | 'desc'\n\n/** The adapter's \"connect your wallet\" banner, while its family is configured but not connected. */\nconst AdapterConnectBanner = ({ adapter, chains }: { adapter: ChainAdapter; chains: number[] }) => {\n const { address } = useChainAccount(adapter.ecosystem)\n if (address || !chains.some((chainId) => adapter.supportsChain(chainId))) return null\n return (\n <Flex className=\"ape:w-full ape:mt-[5px]\">\n <adapter.ConnectBanner />\n </Flex>\n )\n}\nexport type SortableKeys = 'claimable' | 'pending' | 'terms'\n\nconst YourBonds = ({ showOnly }: { showOnly?: string }) => {\n useTokenPrices()\n useBondsData()\n // Hooks\n const SDKConfig = useSDKConfig()\n const { address: account } = useChainAccount('evm')\n const { address: solanaAccount } = useChainAccount('sol')\n const { address: aptosAccount } = useChainAccount('aptos')\n const { address: suiAccount } = useChainAccount('sui')\n const { data: userBonds, isFetched: userBondsFetched } = useUserBonds()\n const { data: chainFilterOption, setChainFilterOption } = useChainFilterOption()\n const { data: preTGEUserBonds, isFetched: preTGEFetched } = useUserBondsPreTGE()\n const hasFetched = userBondsFetched && (preTGEFetched || !account)\n\n // State\n const [sortConfig, setSortConfig] = useState<{ key: SortableKeys; direction: SortDirection } | null>({\n key: 'claimable',\n direction: 'desc',\n })\n\n const [inputValue, setInputValue] = useState('')\n const filterOptions = ['CLAIMABLE', 'ALL']\n const [filterOption, setFilterOption] = useState(filterOptions[0])\n\n const preTGEBondsToRender = preTGEUserBonds\n ?.filter((userBond) => {\n if (!userBond?.accountInfo?.hasRedeemed) {\n return parseFloat(userBond?.accountInfo?.depositAmount ?? '0') > 0\n } else if (userBond.yieldBond && parseFloat(userBond?.accountInfo?.depositAmount ?? '0') > 0) {\n return (userBond?.yieldData?.depositedAssets ?? 0) > 0\n } else {\n return userBond?.userOwnedBillsData?.payout !== '0'\n }\n })\n .filter(\n (userBond) =>\n chainFilterOption.includes(userBond.chainId?.toString() ?? '') || chainFilterOption.includes('All Chains'),\n )\n .filter((userBond) => userBond.earnToken.symbol?.toLowerCase().includes(inputValue.toLowerCase()))\n\n const handleSort = (key: SortableKeys) => {\n let direction: SortDirection = 'desc'\n if (sortConfig?.key === key && sortConfig?.direction === 'desc') {\n direction = 'asc'\n }\n setSortConfig({ key, direction })\n }\n\n const bondsToRender = useMemo((): UserBill[] => {\n if (!userBonds) return []\n let bondsToReturn = userBonds\n\n // Handle Filtering //\n\n bondsToReturn = bondsToReturn?.filter((bond) => {\n return bond.bond?.onlyPartner ? bond.bond.bondPartner === SDKConfig.bondPartner : true\n })\n\n if (SDKConfig.bondPartner) {\n bondsToReturn = bondsToReturn?.filter((bond) => {\n return bond.bond?.bondPartner === SDKConfig.bondPartner\n })\n }\n\n // Filter Single Token View\n if (showOnly) {\n bondsToReturn = bondsToReturn?.filter((bond) => {\n return bond?.bond?.earnToken?.symbol?.toLowerCase() === showOnly.toLowerCase()\n })\n }\n\n // Filter by search query\n if (inputValue !== '') {\n bondsToReturn = bondsToReturn?.filter((bond) => {\n return [\n bond?.bond?.showcaseTokenName?.toLowerCase(),\n bond?.bond?.earnToken?.symbol?.toLowerCase(),\n bond?.bond?.lpToken?.symbol?.toLowerCase(),\n ].some((property) => property?.includes(inputValue.toLowerCase()))\n })\n }\n\n // Filter by chain selector\n if (!chainFilterOption.includes('All Chains')) {\n bondsToReturn = bondsToReturn?.filter((bond) => {\n return chainFilterOption.includes(bond?.bond?.chainId?.toString() ?? '')\n })\n }\n\n // Filter by filter option (claimable or all buttons)\n if (filterOption === 'CLAIMABLE') {\n bondsToReturn = bondsToReturn?.filter((bond) => {\n if (bond?.bond?.vestingCliff) {\n return bond.payout !== '0'\n }\n return bond.pendingRewards !== '0'\n })\n }\n\n // Handle sorting //\n if (sortConfig !== null) {\n bondsToReturn = bondsToReturn?.sort((a, b) => {\n let aValue: number, bValue: number\n\n if (sortConfig.key === 'claimable') {\n aValue = claimableUSD(a)\n bValue = claimableUSD(b)\n } else if (sortConfig.key === 'pending') {\n aValue = pendingUSD(a)\n bValue = pendingUSD(b)\n } else if (sortConfig.key === 'terms') {\n // little nasty trick to have the lowest time (closest to being fully vested) show up first when sorting ascending\n const aRemainingTime = getTimeLeftForFullyVested(b)\n const bRemainingTime = getTimeLeftForFullyVested(a)\n\n aValue = aRemainingTime\n bValue = bRemainingTime\n } else {\n aValue = a[sortConfig.key]\n bValue = b[sortConfig.key]\n }\n\n if (aValue < bValue) {\n return sortConfig.direction === 'asc' ? -1 : 1\n }\n if (aValue > bValue) {\n return sortConfig.direction === 'asc' ? 1 : -1\n }\n return 0\n })\n }\n return bondsToReturn\n /* eslint-disable react-hooks/exhaustive-deps */\n }, [userBonds, sortConfig, inputValue, chainFilterOption, filterOption, userBondsFetched])\n\n const handleFilterOption = useCallback((newOption: string) => {\n setFilterOption(newOption)\n }, [])\n\n const hasBonds = useMemo(() => {\n return (bondsToRender && bondsToRender.length > 0) || !!preTGEBondsToRender?.length\n }, [bondsToRender, preTGEBondsToRender])\n\n return (\n <Flex className=\"yourbonds table-container ape:w-full ape:flex ape:flex-col ape:px-[10px]\">\n {!showOnly && (\n <YourBondsMenu\n chainFilterOption={chainFilterOption}\n setChainFilterOption={setChainFilterOption}\n filterOptions={filterOptions}\n filterOption={filterOption}\n setFilterOption={handleFilterOption}\n setInputValue={setInputValue}\n inputValue={inputValue}\n handleSort={handleSort}\n />\n )}\n {!account && !solanaAccount && !aptosAccount && !suiAccount ? (\n <Flex className=\"placeholder-monkey-wrapper ape:w-full ape:flex-col ape:pt-[100px] ape:pb-[100px] ape:bg-white2 ape:items-center ape:rounded-[10px] ape:mt-[15px] ape:justify-center ape:h-[400px]\">\n <PlaceholderMonkey text={'You are not connected.'} />\n </Flex>\n ) : hasBonds && hasFetched ? (\n <>\n {preTGEBondsToRender?.map((userBond, index) => {\n // PreTGE / launch / Yield bonds come from the chain's adapter (EVM only today)\n const preTGE = getAdapterForChain(userBond.chainId)?.preTGE\n if (!preTGE) return null\n return userBond.yieldBond ? (\n <preTGE.YieldRow userBond={userBond} key={index} />\n ) : (\n <preTGE.UserBondRow userBond={userBond} key={index} />\n )\n })}\n {bondsToRender.map((bond) => {\n const chainId = bond.bond?.chainId as ChainId\n // Chains without a registered adapter are unsupported\n const adapter = getAdapterForChain(chainId)\n if (!adapter) return null\n return <adapter.UserBondRow bill={bond} key={`${adapter.ecosystem}-${bond?.id}-${bond?.billNftAddress}`} />\n })}\n </>\n ) : inputValue !== '' || !chainFilterOption.includes('All Chains') ? (\n <Flex className=\"placeholder-monkey-wrapper ape:w-full ape:flex-col ape:pt-[100px] ape:pb-[100px] ape:bg-white2 ape:items-center ape:rounded-[10px] ape:mt-[15px] ape:justify-center ape:h-[400px]\">\n <PlaceholderMonkey text={'No results, change filters.'} />\n </Flex>\n ) : hasFetched && !hasBonds ? (\n <Flex className=\"placeholder-monkey-wrapper ape:w-full ape:flex-col ape:pt-[100px] ape:pb-[100px] ape:bg-white2 ape:items-center ape:rounded-[10px] ape:mt-[15px] ape:justify-center ape:h-[400px]\">\n <PlaceholderMonkey\n text={`You do not own any ${[account && 'EVM', solanaAccount && 'SOL', aptosAccount && 'Aptos', suiAccount && 'Sui'].filter(Boolean).join(' nor ') || 'EVM'} Bonds.`}\n />\n </Flex>\n ) : (\n <Flex className=\"placeholder-monkey-wrapper ape:w-full ape:flex-col ape:pt-[100px] ape:pb-[100px] ape:bg-white2 ape:items-center ape:rounded-[10px] ape:mt-[15px] ape:justify-center ape:h-[400px]\">\n <Spinner size={100} />\n </Flex>\n )}\n <Flex className=\"ape:w-full ape:flex-col ape:xl:flex-row ape:gap-[10px] ape:my-[10px]\">\n {getRegisteredAdapters().map((adapter) => (\n <AdapterConnectBanner key={adapter.ecosystem} adapter={adapter} chains={SDKConfig.chains ?? []} />\n ))}\n </Flex>\n </Flex>\n )\n}\n\nexport default YourBonds\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"YourBonds.js","sources":["../../../src/views/YourBonds/YourBonds.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useState } from 'react'\nimport Spinner from '../../components/uikit-sdk/Spinner'\nimport Flex from '../../components/uikit-sdk/Flex'\nimport { UserBill } from '../../types/yourbonds'\nimport { claimableUSD, pendingUSD, getTimeLeftForFullyVested } from '../../utils/displayHelpers'\nimport useUserBonds from '../../state/bonds/useUserBonds'\nimport useTokenPrices from '../../state/tokenPrices/useTokenPrices'\nimport PlaceholderMonkey from '../../components/PlaceholderMonkey'\nimport useChainFilterOption from '../../state/chainFilterOption/useChainFilterOption'\nimport YourBondsMenu from './components/YourBondsMenu/YourBondsMenu'\nimport { useSDKConfig } from '../../state/useSDKConfig'\nimport { ChainId } from '@ape.swap/apeswap-lists'\nimport useUserBondsPreTGE from '../../state/bonds/useUserBondsPreTGE'\nimport useChainAccount from '../../state/chainAccount/useChainAccount'\nimport { getAdapterForChain, getRegisteredAdapters } from '../../adapters/registry'\nimport type { ChainAdapter } from '../../adapters/types'\nimport useBondsData from '../../state/bonds/useBondsData'\n\ntype SortDirection = 'asc' | 'desc'\n\n/** The adapter's \"connect your wallet\" banner, while its family is configured but not connected. */\nconst AdapterConnectBanner = ({ adapter, chains }: { adapter: ChainAdapter; chains: number[] }) => {\n const { address } = useChainAccount(adapter.ecosystem)\n if (address || !chains.some((chainId) => adapter.supportsChain(chainId))) return null\n return (\n <Flex className=\"ape:w-full ape:mt-[5px]\">\n <adapter.ConnectBanner />\n </Flex>\n )\n}\nexport type SortableKeys = 'claimable' | 'pending' | 'terms'\n\nconst YourBonds = ({ showOnly }: { showOnly?: string }) => {\n useTokenPrices()\n useBondsData()\n // Hooks\n const SDKConfig = useSDKConfig()\n const { address: account } = useChainAccount('evm')\n const { address: solanaAccount } = useChainAccount('sol')\n const { address: aptosAccount } = useChainAccount('aptos')\n const { address: suiAccount } = useChainAccount('sui')\n const { data: userBonds, isFetched: userBondsFetched } = useUserBonds()\n const { data: chainFilterOption, setChainFilterOption } = useChainFilterOption()\n const { data: preTGEUserBonds, isFetched: preTGEFetched } = useUserBondsPreTGE()\n const hasFetched = userBondsFetched && (preTGEFetched || !account)\n\n // State\n const [sortConfig, setSortConfig] = useState<{ key: SortableKeys; direction: SortDirection } | null>({\n key: 'claimable',\n direction: 'desc',\n })\n\n const [inputValue, setInputValue] = useState('')\n const filterOptions = ['CLAIMABLE', 'ALL']\n const [filterOption, setFilterOption] = useState(filterOptions[0])\n\n const preTGEBondsToRender = preTGEUserBonds\n ?.filter((userBond) => {\n if (!userBond?.accountInfo?.hasRedeemed) {\n return parseFloat(userBond?.accountInfo?.depositAmount ?? '0') > 0\n } else if (userBond.yieldBond && parseFloat(userBond?.accountInfo?.depositAmount ?? '0') > 0) {\n return (userBond?.yieldData?.depositedAssets ?? 0) > 0\n } else {\n return userBond?.userOwnedBillsData?.payout !== '0'\n }\n })\n .filter(\n (userBond) =>\n chainFilterOption.includes(userBond.chainId?.toString() ?? '') || chainFilterOption.includes('All Chains'),\n )\n .filter((userBond) => userBond.earnToken.symbol?.toLowerCase().includes(inputValue.toLowerCase()))\n\n const handleSort = (key: SortableKeys) => {\n let direction: SortDirection = 'desc'\n if (sortConfig?.key === key && sortConfig?.direction === 'desc') {\n direction = 'asc'\n }\n setSortConfig({ key, direction })\n }\n\n const bondsToRender = useMemo((): UserBill[] => {\n if (!userBonds) return []\n let bondsToReturn = userBonds\n\n // Handle Filtering //\n\n bondsToReturn = bondsToReturn?.filter((bond) => {\n return bond.bond?.onlyPartner ? bond.bond.bondPartner === SDKConfig.bondPartner : true\n })\n\n if (SDKConfig.bondPartner) {\n bondsToReturn = bondsToReturn?.filter((bond) => {\n return bond.bond?.bondPartner === SDKConfig.bondPartner\n })\n }\n\n // Filter Single Token View\n if (showOnly) {\n bondsToReturn = bondsToReturn?.filter((bond) => {\n return bond?.bond?.earnToken?.symbol?.toLowerCase() === showOnly.toLowerCase()\n })\n }\n\n // Filter by search query\n if (inputValue !== '') {\n bondsToReturn = bondsToReturn?.filter((bond) => {\n return [\n bond?.bond?.showcaseTokenName?.toLowerCase(),\n bond?.bond?.earnToken?.symbol?.toLowerCase(),\n bond?.bond?.lpToken?.symbol?.toLowerCase(),\n ].some((property) => property?.includes(inputValue.toLowerCase()))\n })\n }\n\n // Filter by chain selector\n if (!chainFilterOption.includes('All Chains')) {\n bondsToReturn = bondsToReturn?.filter((bond) => {\n return chainFilterOption.includes(bond?.bond?.chainId?.toString() ?? '')\n })\n }\n\n // Filter by filter option (claimable or all buttons)\n if (filterOption === 'CLAIMABLE') {\n bondsToReturn = bondsToReturn?.filter((bond) => {\n if (bond?.bond?.vestingCliff) {\n return bond.payout !== '0'\n }\n return bond.pendingRewards !== '0'\n })\n }\n\n // Handle sorting //\n if (sortConfig !== null) {\n bondsToReturn = bondsToReturn?.sort((a, b) => {\n let aValue: number, bValue: number\n\n if (sortConfig.key === 'claimable') {\n aValue = claimableUSD(a)\n bValue = claimableUSD(b)\n } else if (sortConfig.key === 'pending') {\n aValue = pendingUSD(a)\n bValue = pendingUSD(b)\n } else if (sortConfig.key === 'terms') {\n // little nasty trick to have the lowest time (closest to being fully vested) show up first when sorting ascending\n const aRemainingTime = getTimeLeftForFullyVested(b)\n const bRemainingTime = getTimeLeftForFullyVested(a)\n\n aValue = aRemainingTime\n bValue = bRemainingTime\n } else {\n aValue = a[sortConfig.key]\n bValue = b[sortConfig.key]\n }\n\n if (aValue < bValue) {\n return sortConfig.direction === 'asc' ? -1 : 1\n }\n if (aValue > bValue) {\n return sortConfig.direction === 'asc' ? 1 : -1\n }\n return 0\n })\n }\n return bondsToReturn\n /* eslint-disable react-hooks/exhaustive-deps */\n }, [userBonds, sortConfig, inputValue, chainFilterOption, filterOption, userBondsFetched])\n\n const handleFilterOption = useCallback((newOption: string) => {\n setFilterOption(newOption)\n }, [])\n\n const hasBonds = useMemo(() => {\n return (bondsToRender && bondsToRender.length > 0) || !!preTGEBondsToRender?.length\n }, [bondsToRender, preTGEBondsToRender])\n\n return (\n <Flex className=\"yourbonds table-container ape:w-full ape:flex ape:flex-col ape:px-[10px]\">\n {!showOnly && (\n <YourBondsMenu\n chainFilterOption={chainFilterOption}\n setChainFilterOption={setChainFilterOption}\n filterOptions={filterOptions}\n filterOption={filterOption}\n setFilterOption={handleFilterOption}\n setInputValue={setInputValue}\n inputValue={inputValue}\n handleSort={handleSort}\n />\n )}\n {!account && !solanaAccount && !aptosAccount && !suiAccount ? (\n <Flex className=\"placeholder-monkey-wrapper ape:w-full ape:flex-col ape:pt-[100px] ape:pb-[100px] ape:bg-white2 ape:items-center ape:rounded-[10px] ape:mt-[15px] ape:justify-center ape:h-[400px]\">\n <PlaceholderMonkey text={'You are not connected.'} />\n </Flex>\n ) : hasBonds && hasFetched ? (\n <>\n {preTGEBondsToRender?.map((userBond, index) => {\n // PreTGE / launch / Yield bonds come from the chain's adapter (EVM only today)\n const preTGE = getAdapterForChain(userBond.chainId)?.preTGE\n if (!preTGE) return null\n return userBond.yieldBond ? (\n <preTGE.YieldRow userBond={userBond} key={index} />\n ) : (\n <preTGE.UserBondRow userBond={userBond} key={index} />\n )\n })}\n {bondsToRender.map((bond) => {\n const chainId = bond.bond?.chainId as ChainId\n // Chains without a registered adapter are unsupported\n const adapter = getAdapterForChain(chainId)\n if (!adapter) return null\n const key = `${adapter.ecosystem}-${bond?.id}-${bond?.billNftAddress}`\n if (bond.bond?.billType === 'lpStaking') {\n if (adapter.lpStaking) return <adapter.lpStaking.UserBondRow bill={bond} key={key} />\n }\n return <adapter.UserBondRow bill={bond} key={key} />\n })}\n </>\n ) : inputValue !== '' || !chainFilterOption.includes('All Chains') ? (\n <Flex className=\"placeholder-monkey-wrapper ape:w-full ape:flex-col ape:pt-[100px] ape:pb-[100px] ape:bg-white2 ape:items-center ape:rounded-[10px] ape:mt-[15px] ape:justify-center ape:h-[400px]\">\n <PlaceholderMonkey text={'No results, change filters.'} />\n </Flex>\n ) : hasFetched && !hasBonds ? (\n <Flex className=\"placeholder-monkey-wrapper ape:w-full ape:flex-col ape:pt-[100px] ape:pb-[100px] ape:bg-white2 ape:items-center ape:rounded-[10px] ape:mt-[15px] ape:justify-center ape:h-[400px]\">\n <PlaceholderMonkey\n text={`You do not own any ${[account && 'EVM', solanaAccount && 'SOL', aptosAccount && 'Aptos', suiAccount && 'Sui'].filter(Boolean).join(' nor ') || 'EVM'} Bonds.`}\n />\n </Flex>\n ) : (\n <Flex className=\"placeholder-monkey-wrapper ape:w-full ape:flex-col ape:pt-[100px] ape:pb-[100px] ape:bg-white2 ape:items-center ape:rounded-[10px] ape:mt-[15px] ape:justify-center ape:h-[400px]\">\n <Spinner size={100} />\n </Flex>\n )}\n <Flex className=\"ape:w-full ape:flex-col ape:xl:flex-row ape:gap-[10px] ape:my-[10px]\">\n {getRegisteredAdapters().map((adapter) => (\n <AdapterConnectBanner key={adapter.ecosystem} adapter={adapter} chains={SDKConfig.chains ?? []} />\n ))}\n </Flex>\n </Flex>\n )\n}\n\nexport default YourBonds\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":";;;;;;;;;;;;;;;;AAoBA;AACA,MAAM,oBAAoB,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,EAA+C,KAAI;IAChG,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC;AACtD,IAAA,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAAE,QAAA,OAAO,IAAI;AACrF,IAAA,QACEA,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,yBAAyB,EAAA,QAAA,EACvCA,GAAA,CAAC,OAAO,CAAC,aAAa,EAAA,EAAA,CAAG,EAAA,CACpB;AAEX,CAAC;AAGD,MAAM,SAAS,GAAG,CAAC,EAAE,QAAQ,EAAyB,KAAI;AACxD,IAAA,cAAc,EAAE;AAChB,IAAA,YAAY,EAAE;;AAEd,IAAA,MAAM,SAAS,GAAG,YAAY,EAAE;IAChC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC;IACnD,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC;IACzD,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC;IAC1D,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC;AACtD,IAAA,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,YAAY,EAAE;IACvE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,GAAG,oBAAoB,EAAE;AAChF,IAAA,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,kBAAkB,EAAE;IAChF,MAAM,UAAU,GAAG,gBAAgB,KAAK,aAAa,IAAI,CAAC,OAAO,CAAC;;AAGlE,IAAA,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAyD;AACnG,QAAA,GAAG,EAAE,WAAW;AAChB,QAAA,SAAS,EAAE,MAAM;AAClB,KAAA,CAAC;IAEF,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC;AAChD,IAAA,MAAM,aAAa,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC;AAC1C,IAAA,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAElE,MAAM,mBAAmB,GAAG;AAC1B,UAAE,MAAM,CAAC,CAAC,QAAQ,KAAI;AACpB,QAAA,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE;AACvC,YAAA,OAAO,UAAU,CAAC,QAAQ,EAAE,WAAW,EAAE,aAAa,IAAI,GAAG,CAAC,GAAG,CAAC;QACpE;AAAO,aAAA,IAAI,QAAQ,CAAC,SAAS,IAAI,UAAU,CAAC,QAAQ,EAAE,WAAW,EAAE,aAAa,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE;YAC5F,OAAO,CAAC,QAAQ,EAAE,SAAS,EAAE,eAAe,IAAI,CAAC,IAAI,CAAC;QACxD;aAAO;AACL,YAAA,OAAO,QAAQ,EAAE,kBAAkB,EAAE,MAAM,KAAK,GAAG;QACrD;AACF,IAAA,CAAC;SACA,MAAM,CACL,CAAC,QAAQ,KACP,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,YAAY,CAAC;SAE7G,MAAM,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;AAEpG,IAAA,MAAM,UAAU,GAAG,CAAC,GAAiB,KAAI;QACvC,IAAI,SAAS,GAAkB,MAAM;AACrC,QAAA,IAAI,UAAU,EAAE,GAAG,KAAK,GAAG,IAAI,UAAU,EAAE,SAAS,KAAK,MAAM,EAAE;YAC/D,SAAS,GAAG,KAAK;QACnB;AACA,QAAA,aAAa,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;AACnC,IAAA,CAAC;AAED,IAAA,MAAM,aAAa,GAAG,OAAO,CAAC,MAAiB;AAC7C,QAAA,IAAI,CAAC,SAAS;AAAE,YAAA,OAAO,EAAE;QACzB,IAAI,aAAa,GAAG,SAAS;;QAI7B,aAAa,GAAG,aAAa,EAAE,MAAM,CAAC,CAAC,IAAI,KAAI;YAC7C,OAAO,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,WAAW,GAAG,IAAI;AACxF,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,SAAS,CAAC,WAAW,EAAE;YACzB,aAAa,GAAG,aAAa,EAAE,MAAM,CAAC,CAAC,IAAI,KAAI;gBAC7C,OAAO,IAAI,CAAC,IAAI,EAAE,WAAW,KAAK,SAAS,CAAC,WAAW;AACzD,YAAA,CAAC,CAAC;QACJ;;QAGA,IAAI,QAAQ,EAAE;YACZ,aAAa,GAAG,aAAa,EAAE,MAAM,CAAC,CAAC,IAAI,KAAI;AAC7C,gBAAA,OAAO,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,QAAQ,CAAC,WAAW,EAAE;AAChF,YAAA,CAAC,CAAC;QACJ;;AAGA,QAAA,IAAI,UAAU,KAAK,EAAE,EAAE;YACrB,aAAa,GAAG,aAAa,EAAE,MAAM,CAAC,CAAC,IAAI,KAAI;gBAC7C,OAAO;AACL,oBAAA,IAAI,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE;oBAC5C,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE;oBAC5C,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE;AAC3C,iBAAA,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;AACpE,YAAA,CAAC,CAAC;QACJ;;QAGA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;YAC7C,aAAa,GAAG,aAAa,EAAE,MAAM,CAAC,CAAC,IAAI,KAAI;AAC7C,gBAAA,OAAO,iBAAiB,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAC1E,YAAA,CAAC,CAAC;QACJ;;AAGA,QAAA,IAAI,YAAY,KAAK,WAAW,EAAE;YAChC,aAAa,GAAG,aAAa,EAAE,MAAM,CAAC,CAAC,IAAI,KAAI;AAC7C,gBAAA,IAAI,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE;AAC5B,oBAAA,OAAO,IAAI,CAAC,MAAM,KAAK,GAAG;gBAC5B;AACA,gBAAA,OAAO,IAAI,CAAC,cAAc,KAAK,GAAG;AACpC,YAAA,CAAC,CAAC;QACJ;;AAGA,QAAA,IAAI,UAAU,KAAK,IAAI,EAAE;YACvB,aAAa,GAAG,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;gBAC3C,IAAI,MAAc,EAAE,MAAc;AAElC,gBAAA,IAAI,UAAU,CAAC,GAAG,KAAK,WAAW,EAAE;AAClC,oBAAA,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC;AACxB,oBAAA,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC;gBAC1B;AAAO,qBAAA,IAAI,UAAU,CAAC,GAAG,KAAK,SAAS,EAAE;AACvC,oBAAA,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC;AACtB,oBAAA,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC;gBACxB;AAAO,qBAAA,IAAI,UAAU,CAAC,GAAG,KAAK,OAAO,EAAE;;AAErC,oBAAA,MAAM,cAAc,GAAG,yBAAyB,CAAC,CAAC,CAAC;AACnD,oBAAA,MAAM,cAAc,GAAG,yBAAyB,CAAC,CAAC,CAAC;oBAEnD,MAAM,GAAG,cAAc;oBACvB,MAAM,GAAG,cAAc;gBACzB;qBAAO;AACL,oBAAA,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;AAC1B,oBAAA,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;gBAC5B;AAEA,gBAAA,IAAI,MAAM,GAAG,MAAM,EAAE;AACnB,oBAAA,OAAO,UAAU,CAAC,SAAS,KAAK,KAAK,GAAG,EAAE,GAAG,CAAC;gBAChD;AACA,gBAAA,IAAI,MAAM,GAAG,MAAM,EAAE;AACnB,oBAAA,OAAO,UAAU,CAAC,SAAS,KAAK,KAAK,GAAG,CAAC,GAAG,EAAE;gBAChD;AACA,gBAAA,OAAO,CAAC;AACV,YAAA,CAAC,CAAC;QACJ;AACA,QAAA,OAAO,aAAa;;AAEtB,IAAA,CAAC,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC;AAE1F,IAAA,MAAM,kBAAkB,GAAG,WAAW,CAAC,CAAC,SAAiB,KAAI;QAC3D,eAAe,CAAC,SAAS,CAAC;IAC5B,CAAC,EAAE,EAAE,CAAC;AAEN,IAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAK;AAC5B,QAAA,OAAO,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,mBAAmB,EAAE,MAAM;AACrF,IAAA,CAAC,EAAE,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC;IAExC,QACEC,KAAC,IAAI,EAAA,EAAC,SAAS,EAAC,0EAA0E,EAAA,QAAA,EAAA,CACvF,CAAC,QAAQ,KACRD,GAAA,CAAC,aAAa,IACZ,iBAAiB,EAAE,iBAAiB,EACpC,oBAAoB,EAAE,oBAAoB,EAC1C,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,kBAAkB,EACnC,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,EAAA,CACtB,CACH,EACA,CAAC,OAAO,IAAI,CAAC,aAAa,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,IACzDA,GAAA,CAAC,IAAI,IAAC,SAAS,EAAC,mLAAmL,EAAA,QAAA,EACjMA,GAAA,CAAC,iBAAiB,EAAA,EAAC,IAAI,EAAE,wBAAwB,EAAA,CAAI,EAAA,CAChD,IACL,QAAQ,IAAI,UAAU,IACxBC,IAAA,CAAAC,QAAA,EAAA,EAAA,QAAA,EAAA,CACG,mBAAmB,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,KAAI;;wBAE5C,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM;AAC3D,wBAAA,IAAI,CAAC,MAAM;AAAE,4BAAA,OAAO,IAAI;AACxB,wBAAA,OAAO,QAAQ,CAAC,SAAS,IACvBF,GAAA,CAAC,MAAM,CAAC,QAAQ,EAAA,EAAC,QAAQ,EAAE,QAAQ,EAAA,EAAO,KAAK,CAAI,KAEnDA,GAAA,CAAC,MAAM,CAAC,WAAW,EAAA,EAAC,QAAQ,EAAE,QAAQ,EAAA,EAAO,KAAK,CAAI,CACvD;oBACH,CAAC,CAAC,EACD,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,KAAI;AAC1B,wBAAA,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,OAAkB;;AAE7C,wBAAA,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC;AAC3C,wBAAA,IAAI,CAAC,OAAO;AAAE,4BAAA,OAAO,IAAI;AACzB,wBAAA,MAAM,GAAG,GAAG,CAAA,EAAG,OAAO,CAAC,SAAS,CAAA,CAAA,EAAI,IAAI,EAAE,EAAE,CAAA,CAAA,EAAI,IAAI,EAAE,cAAc,EAAE;wBACtE,IAAI,IAAI,CAAC,IAAI,EAAE,QAAQ,KAAK,WAAW,EAAE;4BACvC,IAAI,OAAO,CAAC,SAAS;AAAE,gCAAA,OAAOA,GAAA,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,EAAA,EAAC,IAAI,EAAE,IAAI,EAAA,EAAO,GAAG,CAAI;wBACvF;wBACA,OAAOA,GAAA,CAAC,OAAO,CAAC,WAAW,EAAA,EAAC,IAAI,EAAE,IAAI,EAAA,EAAO,GAAG,CAAI;AACtD,oBAAA,CAAC,CAAC,CAAA,EAAA,CACD,IACD,UAAU,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,YAAY,CAAC,IAChEA,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,mLAAmL,EAAA,QAAA,EACjMA,GAAA,CAAC,iBAAiB,IAAC,IAAI,EAAE,6BAA6B,EAAA,CAAI,GACrD,IACL,UAAU,IAAI,CAAC,QAAQ,IACzBA,GAAA,CAAC,IAAI,IAAC,SAAS,EAAC,mLAAmL,EAAA,QAAA,EACjMA,IAAC,iBAAiB,EAAA,EAChB,IAAI,EAAE,sBAAsB,CAAC,OAAO,IAAI,KAAK,EAAE,aAAa,IAAI,KAAK,EAAE,YAAY,IAAI,OAAO,EAAE,UAAU,IAAI,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,EAAA,CACpK,EAAA,CACG,KAEPA,GAAA,CAAC,IAAI,IAAC,SAAS,EAAC,mLAAmL,EAAA,QAAA,EACjMA,IAAC,OAAO,EAAA,EAAC,IAAI,EAAE,GAAG,EAAA,CAAI,EAAA,CACjB,CACR,EACDA,IAAC,IAAI,EAAA,EAAC,SAAS,EAAC,sEAAsE,EAAA,QAAA,EACnF,qBAAqB,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,MACnCA,GAAA,CAAC,oBAAoB,IAAyB,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,IAAI,EAAE,EAAA,EAAnE,OAAO,CAAC,SAAS,CAAsD,CACnG,CAAC,EAAA,CACG,CAAA,EAAA,CACF;AAEX;;;;"}
|
|
@@ -4,11 +4,12 @@ import BondFilters from '../../../../components/BondFilters/BondFilters.js';
|
|
|
4
4
|
import Input from '../../../../components/uikit-sdk/Input/Input.js';
|
|
5
5
|
import ClaimAll from '../ClaimAll/index.js';
|
|
6
6
|
import { useSDKConfig } from '../../../../state/useSDKConfig.js';
|
|
7
|
+
import YourBondsStatus from '../../../FullBondsView/YourBondsStatus.js';
|
|
7
8
|
import Sort from '../../../../components/uikit-sdk/Svg/Icons/Sort.js';
|
|
8
9
|
|
|
9
10
|
const YourBondsMenu = ({ chainFilterOption, setChainFilterOption, filterOptions, filterOption, setFilterOption, setInputValue, inputValue, handleSort, }) => {
|
|
10
11
|
const SDKConfig = useSDKConfig();
|
|
11
|
-
return (jsxs("div", { className: "bonds-menu ape:flex ape:justify-around ape:items-center ape:flex-col ape:w-full ape:text-[11px]", children: [jsx(BondFilters, { chainFilterOption: chainFilterOption ?? ['All Chains'], setChainFilterOption: setChainFilterOption, filterOptions: filterOptions, filterOption: filterOption, setFilterOption: setFilterOption, onHandleQueryChange: () => setInputValue('') }), jsxs("div", { className: "table-header-container ape:flex ape:w-full ape:justify-between ape:overflow-hidden ape:py-[10px] ape:min-[1000px]:p-[20px_0_10px_0]", children: [jsx("div", { className: "search-container ape:flex ape:flex-row ape:w-[49%] ape:lg:w-[30%] ape:min-w-[unset] ape:lg:min-w-75!", children: jsx(Flex, { className: "ape:w-full ape:
|
|
12
|
+
return (jsxs("div", { className: "bonds-menu ape:flex ape:justify-around ape:items-center ape:flex-col ape:w-full ape:text-[11px]", children: [jsx(BondFilters, { chainFilterOption: chainFilterOption ?? ['All Chains'], setChainFilterOption: setChainFilterOption, filterOptions: filterOptions, filterOption: filterOption, setFilterOption: setFilterOption, onHandleQueryChange: () => setInputValue('') }), jsxs("div", { className: "table-header-container ape:flex ape:w-full ape:justify-between ape:overflow-hidden ape:py-[10px] ape:min-[1000px]:p-[20px_0_10px_0]", children: [jsx("div", { className: "search-container ape:flex ape:flex-row ape:w-[49%] ape:lg:w-[30%] ape:min-w-[unset] ape:lg:min-w-75!", children: jsx(Flex, { className: "ape:w-full ape:lg:w-[300px]", children: jsx(Input, { className: "search-input ape:font-normal ape:h-7.5 ape:text-[14px] ape:w-[calc(50vw-25px)] ape:pl-5!", value: inputValue, onChange: (event) => setInputValue(event.target.value), variant: "search", width: '100%', placeholder: 'Search...' }) }) }), jsxs("div", { className: "headers-container ape:flex ape:w-[49%] ape:justify-end ape:items-center ape:min-[1000px]:justify-between ape:min-[1000px]:w-[70%] ape:pr-0 ape:md:pr-[20px]", children: [jsx(Flex, { className: "ape:hidden ape:md:flex ape:w-[125px]" }), jsxs("div", { className: "your-bonds-table-headers ape:hidden ape:w-[130px] ape:items-center ape:justify-center ape:cursor-pointer ape:opacity-60 ape:leading-[12px] ape:min-[1000px]:flex", onClick: () => handleSort('claimable'), children: ["CLAIMABLE", jsx(Flex, { className: "ape:ml-[5px]", children: jsx(Sort, { width: "12px", color: "textDisabledButton" }) })] }), jsxs("div", { className: "your-bonds-table-headers ape:hidden ape:w-[130px] ape:items-center ape:justify-center ape:cursor-pointer ape:opacity-60 ape:leading-[12px] ape:min-[1000px]:flex", onClick: () => handleSort('pending'), children: ["PENDING", jsx(Flex, { className: "ape:ml-[5px]", children: jsx(Sort, { width: "12px", color: "textDisabledButton" }) })] }), jsxs("div", { className: "your-bonds-table-headers ape:hidden ape:w-[130px] ape:items-center ape:justify-center ape:cursor-pointer ape:opacity-60 ape:leading-[12px] ape:min-[1000px]:flex", onClick: () => handleSort('terms'), children: ["VESTING PROGRESS", jsx(Flex, { className: "ape:ml-[5px]", children: jsx(Sort, { width: "12px", color: "textDisabledButton" }) })] }), jsx(Flex, { className: "claim-all-button-container ape:flex ape:w-full ape:lg:w-[210px] ape:items-end ape:justify-center ape:cursor-pointer", children: SDKConfig.referenceId === 'apebond' && jsx(ClaimAll, {}) })] })] }), jsx("div", { className: "your-bonds-status-mobile ape:w-full ape:pb-[5px] ape:min-[1000px]:hidden ape:mb-2", children: jsx(YourBondsStatus, {}) })] }));
|
|
12
13
|
};
|
|
13
14
|
|
|
14
15
|
export { YourBondsMenu as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YourBondsMenu.js","sources":["../../../../../src/views/YourBonds/components/YourBondsMenu/YourBondsMenu.tsx"],"sourcesContent":["import React from 'react'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport BondFilters from '../../../../components/BondFilters/BondFilters'\nimport Input from '../../../../components/uikit-sdk/Input/Input'\nimport { SortableKeys } from '../../YourBonds'\nimport ClaimAll from '../ClaimAll'\nimport { useSDKConfig } from '../../../../state/useSDKConfig'\nimport Sort from '../../../../components/uikit-sdk/Svg/Icons/Sort'\n\nconst YourBondsMenu = ({\n chainFilterOption,\n setChainFilterOption,\n filterOptions,\n filterOption,\n setFilterOption,\n setInputValue,\n inputValue,\n handleSort,\n}: {\n chainFilterOption: string[]\n setChainFilterOption: (newValue: string[]) => void\n filterOptions: string[]\n filterOption: string\n setFilterOption: (newValue: string) => void\n setInputValue: (newValue: string) => void\n inputValue: string\n handleSort: (key: SortableKeys) => void\n}) => {\n const SDKConfig = useSDKConfig()\n\n return (\n <div className=\"bonds-menu ape:flex ape:justify-around ape:items-center ape:flex-col ape:w-full ape:text-[11px]\">\n <BondFilters\n chainFilterOption={chainFilterOption ?? ['All Chains']}\n setChainFilterOption={setChainFilterOption}\n filterOptions={filterOptions}\n filterOption={filterOption}\n setFilterOption={setFilterOption}\n onHandleQueryChange={() => setInputValue('')}\n />\n <div className=\"table-header-container ape:flex ape:w-full ape:justify-between ape:overflow-hidden ape:py-[10px] ape:min-[1000px]:p-[20px_0_10px_0]\">\n <div className=\"search-container ape:flex ape:flex-row ape:w-[49%] ape:lg:w-[30%] ape:min-w-[unset] ape:lg:min-w-75!\">\n <Flex className=\"ape:w-full ape:
|
|
1
|
+
{"version":3,"file":"YourBondsMenu.js","sources":["../../../../../src/views/YourBonds/components/YourBondsMenu/YourBondsMenu.tsx"],"sourcesContent":["import React from 'react'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport BondFilters from '../../../../components/BondFilters/BondFilters'\nimport Input from '../../../../components/uikit-sdk/Input/Input'\nimport { SortableKeys } from '../../YourBonds'\nimport ClaimAll from '../ClaimAll'\nimport { useSDKConfig } from '../../../../state/useSDKConfig'\nimport YourBondsStatus from '../../../FullBondsView/YourBondsStatus'\nimport Sort from '../../../../components/uikit-sdk/Svg/Icons/Sort'\n\nconst YourBondsMenu = ({\n chainFilterOption,\n setChainFilterOption,\n filterOptions,\n filterOption,\n setFilterOption,\n setInputValue,\n inputValue,\n handleSort,\n}: {\n chainFilterOption: string[]\n setChainFilterOption: (newValue: string[]) => void\n filterOptions: string[]\n filterOption: string\n setFilterOption: (newValue: string) => void\n setInputValue: (newValue: string) => void\n inputValue: string\n handleSort: (key: SortableKeys) => void\n}) => {\n const SDKConfig = useSDKConfig()\n\n return (\n <div className=\"bonds-menu ape:flex ape:justify-around ape:items-center ape:flex-col ape:w-full ape:text-[11px]\">\n <BondFilters\n chainFilterOption={chainFilterOption ?? ['All Chains']}\n setChainFilterOption={setChainFilterOption}\n filterOptions={filterOptions}\n filterOption={filterOption}\n setFilterOption={setFilterOption}\n onHandleQueryChange={() => setInputValue('')}\n />\n <div className=\"table-header-container ape:flex ape:w-full ape:justify-between ape:overflow-hidden ape:py-[10px] ape:min-[1000px]:p-[20px_0_10px_0]\">\n <div className=\"search-container ape:flex ape:flex-row ape:w-[49%] ape:lg:w-[30%] ape:min-w-[unset] ape:lg:min-w-75!\">\n <Flex className=\"ape:w-full ape:lg:w-[300px]\">\n <Input\n className=\"search-input ape:font-normal ape:h-7.5 ape:text-[14px] ape:w-[calc(50vw-25px)] ape:pl-5!\"\n value={inputValue}\n onChange={(event: React.ChangeEvent<HTMLInputElement>) => setInputValue(event.target.value)}\n variant=\"search\"\n width={'100%'}\n placeholder={'Search...'}\n />\n </Flex>\n </div>\n <div className=\"headers-container ape:flex ape:w-[49%] ape:justify-end ape:items-center ape:min-[1000px]:justify-between ape:min-[1000px]:w-[70%] ape:pr-0 ape:md:pr-[20px]\">\n <Flex className=\"ape:hidden ape:md:flex ape:w-[125px]\" />\n <div\n className=\"your-bonds-table-headers ape:hidden ape:w-[130px] ape:items-center ape:justify-center ape:cursor-pointer ape:opacity-60 ape:leading-[12px] ape:min-[1000px]:flex\"\n onClick={() => handleSort('claimable')}\n >\n CLAIMABLE\n <Flex className=\"ape:ml-[5px]\">\n <Sort width=\"12px\" color=\"textDisabledButton\" />\n </Flex>\n </div>\n <div\n className=\"your-bonds-table-headers ape:hidden ape:w-[130px] ape:items-center ape:justify-center ape:cursor-pointer ape:opacity-60 ape:leading-[12px] ape:min-[1000px]:flex\"\n onClick={() => handleSort('pending')}\n >\n PENDING\n <Flex className=\"ape:ml-[5px]\">\n <Sort width=\"12px\" color=\"textDisabledButton\" />\n </Flex>\n </div>\n <div\n className=\"your-bonds-table-headers ape:hidden ape:w-[130px] ape:items-center ape:justify-center ape:cursor-pointer ape:opacity-60 ape:leading-[12px] ape:min-[1000px]:flex\"\n onClick={() => handleSort('terms')}\n >\n VESTING PROGRESS\n <Flex className=\"ape:ml-[5px]\">\n <Sort width=\"12px\" color=\"textDisabledButton\" />\n </Flex>\n </div>\n <Flex className=\"claim-all-button-container ape:flex ape:w-full ape:lg:w-[210px] ape:items-end ape:justify-center ape:cursor-pointer\">\n {SDKConfig.referenceId === 'apebond' && <ClaimAll />}\n </Flex>\n </div>\n </div>\n {/* Below 1000px the status sits under the search bar; from 1000px it's next to the toggle (FullBondsView). */}\n <div className=\"your-bonds-status-mobile ape:w-full ape:pb-[5px] ape:min-[1000px]:hidden ape:mb-2\">\n <YourBondsStatus />\n </div>\n </div>\n )\n}\n\nexport default YourBondsMenu\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { UserBill } from '../../../../types/yourbonds';
|
|
2
|
-
declare const YourBondModalHeader: ({ userBill, onDismiss }: {
|
|
2
|
+
declare const YourBondModalHeader: ({ userBill, onDismiss, disableTransfers, }: {
|
|
3
3
|
userBill?: UserBill;
|
|
4
4
|
onDismiss?: () => void;
|
|
5
|
+
disableTransfers?: boolean;
|
|
5
6
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
6
7
|
export default YourBondModalHeader;
|
|
@@ -10,14 +10,14 @@ import Button from '../../../../components/uikit-sdk/Button/Button.js';
|
|
|
10
10
|
import Text from '../../../../components/uikit-sdk/Text/index.js';
|
|
11
11
|
import Close from '../../../../components/uikit-sdk/Svg/Icons/Close.js';
|
|
12
12
|
|
|
13
|
-
const YourBondModalHeader = ({ userBill, onDismiss }) => {
|
|
13
|
+
const YourBondModalHeader = ({ userBill, onDismiss, disableTransfers, }) => {
|
|
14
14
|
// Hooks
|
|
15
15
|
const isMobile = useIsMobile();
|
|
16
16
|
// Static Data
|
|
17
17
|
const payoutTokenSymbol = userBill?.bond?.showcaseTokenName ?? userBill?.bond?.earnToken.symbol;
|
|
18
18
|
// Modals
|
|
19
19
|
const [onTransferBondModal] = useModal(jsx(TransferBondModal, { userBill: userBill }), true, true, `transferModal${userBill?.id}}`);
|
|
20
|
-
return (jsxs(Flex, { className: "ape:w-full ape:justify-between ape:items-center", children: [jsxs(Flex, { className: "ape:items-center ape:gap-[7px]", children: [payoutTokenSymbol ? (jsxs(Fragment, { children: [jsx(TokenImage, { symbol: payoutTokenSymbol, size: 30, chain: userBill?.bond?.chainId }), jsx("div", { className: "ape:text-[16px] ape:md:text-[18px] ape:font-bold ape:opacity-70 ape:overflow-hidden ape:whitespace-nowrap ape:text-ellipsis ape:max-w-[100px]", children: payoutTokenSymbol })] })) : (jsxs(Fragment, { children: [jsx(Skeleton, { animation: "waves", style: { width: '30px', height: '30px', borderRadius: '55px', marginRight: '10px' } }), jsx(Skeleton, { animation: "waves", style: { width: '100px', borderRadius: 'var(--ape-radius-normal)' } })] })), jsx(ProfitCard, { userBond: userBill }), jsx(Text, { className: "ape:opacity-60 ape:text-[11px] ape:md:text-[14px] ape:hidden ape:md:flex", children: userBill?.id && `#${userBill.id}` })] }), jsxs(Flex, { className: "ape:gap-[7px]", children: [jsx(Button, { onClick: onTransferBondModal, disabled: !userBill, className: "ape:h-[22px] ape:text-[12px]! ape:font-semibold ape:p-[2px_6px]", children: "TRANSFER" }), jsx(Flex, { className: "svg-close ape:cursor-pointer ape:p-[2px_5px]", onClick: onDismiss, children: jsx(Close, { width: isMobile ? '12px' : '18px' }) })] })] }));
|
|
20
|
+
return (jsxs(Flex, { className: "ape:w-full ape:justify-between ape:items-center", children: [jsxs(Flex, { className: "ape:items-center ape:gap-[7px]", children: [payoutTokenSymbol ? (jsxs(Fragment, { children: [jsx(TokenImage, { symbol: payoutTokenSymbol, size: 30, chain: userBill?.bond?.chainId }), jsx("div", { className: "ape:text-[16px] ape:md:text-[18px] ape:font-bold ape:opacity-70 ape:overflow-hidden ape:whitespace-nowrap ape:text-ellipsis ape:max-w-[100px]", children: payoutTokenSymbol })] })) : (jsxs(Fragment, { children: [jsx(Skeleton, { animation: "waves", style: { width: '30px', height: '30px', borderRadius: '55px', marginRight: '10px' } }), jsx(Skeleton, { animation: "waves", style: { width: '100px', borderRadius: 'var(--ape-radius-normal)' } })] })), jsx(ProfitCard, { userBond: userBill }), jsx(Text, { className: "ape:opacity-60 ape:text-[11px] ape:md:text-[14px] ape:hidden ape:md:flex", children: userBill?.id && `#${userBill.id}` })] }), jsxs(Flex, { className: "ape:gap-[7px]", children: [!disableTransfers && (jsx(Button, { onClick: onTransferBondModal, disabled: !userBill, className: "ape:h-[22px] ape:text-[12px]! ape:font-semibold ape:p-[2px_6px]", children: "TRANSFER" })), jsx(Flex, { className: "svg-close ape:cursor-pointer ape:p-[2px_5px]", onClick: onDismiss, children: jsx(Close, { width: isMobile ? '12px' : '18px' }) })] })] }));
|
|
21
21
|
};
|
|
22
22
|
|
|
23
23
|
export { YourBondModalHeader as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YourBondModalHeader.js","sources":["../../../../../src/views/YourBondsModal/components/YourBondModalHeader/YourBondModalHeader.tsx"],"sourcesContent":["import React from 'react'\nimport TokenImage from '../../../../components/uikit-sdk/TokenImage'\nimport { UserBill } from '../../../../types/yourbonds'\nimport { useIsMobile } from '../../../../hooks/useIsMobile'\nimport ProfitCard from '../../../YourBonds/components/ProfitCard/ProfitCard'\nimport useModal from '../../../../hooks/useModal'\nimport TransferBondModal from '../TransferBondModal'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport Skeleton from '../../../../components/uikit-sdk/Skeleton'\nimport Button from '../../../../components/uikit-sdk/Button/Button'\nimport Text from '../../../../components/uikit-sdk/Text'\nimport Close from '../../../../components/uikit-sdk/Svg/Icons/Close'\n\nconst YourBondModalHeader = ({
|
|
1
|
+
{"version":3,"file":"YourBondModalHeader.js","sources":["../../../../../src/views/YourBondsModal/components/YourBondModalHeader/YourBondModalHeader.tsx"],"sourcesContent":["import React from 'react'\nimport TokenImage from '../../../../components/uikit-sdk/TokenImage'\nimport { UserBill } from '../../../../types/yourbonds'\nimport { useIsMobile } from '../../../../hooks/useIsMobile'\nimport ProfitCard from '../../../YourBonds/components/ProfitCard/ProfitCard'\nimport useModal from '../../../../hooks/useModal'\nimport TransferBondModal from '../TransferBondModal'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport Skeleton from '../../../../components/uikit-sdk/Skeleton'\nimport Button from '../../../../components/uikit-sdk/Button/Button'\nimport Text from '../../../../components/uikit-sdk/Text'\nimport Close from '../../../../components/uikit-sdk/Svg/Icons/Close'\n\nconst YourBondModalHeader = ({\n userBill,\n onDismiss,\n disableTransfers,\n}: {\n userBill?: UserBill\n onDismiss?: () => void\n disableTransfers?: boolean\n}) => {\n // Hooks\n const isMobile = useIsMobile()\n\n // Static Data\n const payoutTokenSymbol = userBill?.bond?.showcaseTokenName ?? userBill?.bond?.earnToken.symbol\n\n // Modals\n const [onTransferBondModal] = useModal(\n <TransferBondModal userBill={userBill} />,\n true,\n true,\n `transferModal${userBill?.id}}`,\n )\n\n return (\n <Flex className=\"ape:w-full ape:justify-between ape:items-center\">\n <Flex className=\"ape:items-center ape:gap-[7px]\">\n {payoutTokenSymbol ? (\n <>\n <TokenImage symbol={payoutTokenSymbol} size={30} chain={userBill?.bond?.chainId} />\n <div className=\"ape:text-[16px] ape:md:text-[18px] ape:font-bold ape:opacity-70 ape:overflow-hidden ape:whitespace-nowrap ape:text-ellipsis ape:max-w-[100px]\">\n {payoutTokenSymbol}\n </div>\n </>\n ) : (\n <>\n <Skeleton\n animation=\"waves\"\n style={{ width: '30px', height: '30px', borderRadius: '55px', marginRight: '10px' }}\n />\n <Skeleton animation=\"waves\" style={{ width: '100px', borderRadius: 'var(--ape-radius-normal)' }} />\n </>\n )}\n <ProfitCard userBond={userBill} />\n <Text className=\"ape:opacity-60 ape:text-[11px] ape:md:text-[14px] ape:hidden ape:md:flex\">\n {userBill?.id && `#${userBill.id}`}\n </Text>\n </Flex>\n <Flex className=\"ape:gap-[7px]\">\n {!disableTransfers && (\n <Button\n onClick={onTransferBondModal}\n disabled={!userBill}\n className=\"ape:h-[22px] ape:text-[12px]! ape:font-semibold ape:p-[2px_6px]\"\n >\n TRANSFER\n </Button>\n )}\n <Flex className=\"svg-close ape:cursor-pointer ape:p-[2px_5px]\" onClick={onDismiss}>\n <Close width={isMobile ? '12px' : '18px'} />\n </Flex>\n </Flex>\n </Flex>\n )\n}\n\nexport default YourBondModalHeader\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":";;;;;;;;;;;;AAaA,MAAM,mBAAmB,GAAG,CAAC,EAC3B,QAAQ,EACR,SAAS,EACT,gBAAgB,GAKjB,KAAI;;AAEH,IAAA,MAAM,QAAQ,GAAG,WAAW,EAAE;;AAG9B,IAAA,MAAM,iBAAiB,GAAG,QAAQ,EAAE,IAAI,EAAE,iBAAiB,IAAI,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM;;IAG/F,MAAM,CAAC,mBAAmB,CAAC,GAAG,QAAQ,CACpCA,GAAA,CAAC,iBAAiB,EAAA,EAAC,QAAQ,EAAE,QAAQ,GAAI,EACzC,IAAI,EACJ,IAAI,EACJ,CAAA,aAAA,EAAgB,QAAQ,EAAE,EAAE,CAAA,CAAA,CAAG,CAChC;IAED,QACEC,KAAC,IAAI,EAAA,EAAC,SAAS,EAAC,iDAAiD,aAC/DA,IAAA,CAAC,IAAI,IAAC,SAAS,EAAC,gCAAgC,EAAA,QAAA,EAAA,CAC7C,iBAAiB,IAChBA,IAAA,CAAAC,QAAA,EAAA,EAAA,QAAA,EAAA,CACEF,GAAA,CAAC,UAAU,EAAA,EAAC,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAA,CAAI,EACnFA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,+IAA+I,EAAA,QAAA,EAC3J,iBAAiB,EAAA,CACd,CAAA,EAAA,CACL,KAEHC,IAAA,CAAAC,QAAA,EAAA,EAAA,QAAA,EAAA,CACEF,IAAC,QAAQ,EAAA,EACP,SAAS,EAAC,OAAO,EACjB,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,EAAA,CACnF,EACFA,GAAA,CAAC,QAAQ,IAAC,SAAS,EAAC,OAAO,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,0BAA0B,EAAE,GAAI,CAAA,EAAA,CAClG,CACJ,EACDA,GAAA,CAAC,UAAU,IAAC,QAAQ,EAAE,QAAQ,EAAA,CAAI,EAClCA,IAAC,IAAI,EAAA,EAAC,SAAS,EAAC,0EAA0E,YACvF,QAAQ,EAAE,EAAE,IAAI,CAAA,CAAA,EAAI,QAAQ,CAAC,EAAE,EAAE,EAAA,CAC7B,CAAA,EAAA,CACF,EACPC,IAAA,CAAC,IAAI,IAAC,SAAS,EAAC,eAAe,EAAA,QAAA,EAAA,CAC5B,CAAC,gBAAgB,KAChBD,GAAA,CAAC,MAAM,EAAA,EACL,OAAO,EAAE,mBAAmB,EAC5B,QAAQ,EAAE,CAAC,QAAQ,EACnB,SAAS,EAAC,iEAAiE,EAAA,QAAA,EAAA,UAAA,EAAA,CAGpE,CACV,EACDA,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,8CAA8C,EAAC,OAAO,EAAE,SAAS,YAC/EA,GAAA,CAAC,KAAK,IAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAI,EAAA,CACvC,CAAA,EAAA,CACF,CAAA,EAAA,CACF;AAEX;;;;"}
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"description": "Ape Bond SDK",
|
|
4
4
|
"author": "Ape Bond",
|
|
5
5
|
"license": "MIT",
|
|
6
|
-
"version": "7.0.
|
|
6
|
+
"version": "7.0.4-test.1",
|
|
7
7
|
"module": "dist/main.js",
|
|
8
8
|
"type": "module",
|
|
9
9
|
"types": "dist/main.d.ts",
|
|
@@ -187,7 +187,7 @@
|
|
|
187
187
|
}
|
|
188
188
|
},
|
|
189
189
|
"dependencies": {
|
|
190
|
-
"@ape.swap/apeswap-lists": "5.0.
|
|
190
|
+
"@ape.swap/apeswap-lists": "5.0.1-test.6",
|
|
191
191
|
"@jup-ag/api": "6.0.45",
|
|
192
192
|
"buffer": "6.0.3",
|
|
193
193
|
"clsx": "2.1.1",
|