@ape.swap/bonds-sdk 6.1.11 → 6.1.12
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.
|
@@ -167,7 +167,7 @@ const Bonds = () => {
|
|
|
167
167
|
alignItems: 'center',
|
|
168
168
|
flexDirection: 'column',
|
|
169
169
|
mt: '10px',
|
|
170
|
-
}, children: [jsx(Svg, { icon: "StarFilled", width: 75, height: 75 }), jsx(Flex, { sx: { mt: '10px' }, children: `You don't have any Favorite Bonds yet!` }), jsx(Flex, { sx: { fontSize: '12px', fontWeight: 400, color: 'textDisabledButton', mt: '10px' }, children: `Click on the 'star' or 'fire' icon to add Bonds to the list.` })] })) : (jsx(LoadingSkeleton, {})), SDKConfig.useHotBonds && jsx(RecommendationCards, {}), jsx(Flex, { sx: { width: '100%', justifyContent: 'center', my: '15px' }, children: jsx("img", { src: "https://res.cloudinary.com/dswmrqgwy/image/upload/v1741643990/poweredbyapebondsdk_cxiouj.png", alt: "powered-by-apebond", style: { width: '200px', height: 'auto' } }) })] }));
|
|
170
|
+
}, children: [jsx(Svg, { icon: "StarFilled", width: 75, height: 75 }), jsx(Flex, { sx: { mt: '10px' }, children: `You don't have any Favorite Bonds yet!` }), jsx(Flex, { sx: { fontSize: '12px', fontWeight: 400, color: 'textDisabledButton', mt: '10px' }, children: `Click on the 'star' or 'fire' icon to add Bonds to the list.` })] })) : (jsx(LoadingSkeleton, {})), SDKConfig.useHotBonds && jsx(RecommendationCards, {}), jsx(Flex, { sx: { width: '100%', justifyContent: 'center', my: '15px' }, className: "powered-by-apebond", children: jsx("img", { src: "https://res.cloudinary.com/dswmrqgwy/image/upload/v1741643990/poweredbyapebondsdk_cxiouj.png", alt: "powered-by-apebond", style: { width: '200px', height: 'auto' } }) })] }));
|
|
171
171
|
};
|
|
172
172
|
|
|
173
173
|
export { Bonds as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Bonds.js","sources":["../../../src/views/Bonds/Bonds.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from 'react'\nimport { BondsData } from '../../types/bonds'\nimport { useTopTags } from '../../hooks/useTopTags'\nimport { isBondSoldOut, isBondSupported, sortBonds } from './utils'\nimport useBondsData from '../../state/bonds/useBondsData'\nimport CheckURL from './components/CheckURL'\nimport PlaceholderMonkey from '../../components/PlaceholderMonkey'\nimport useFavoriteTokens from '../../state/favoriteTokens/useFavoriteTokens'\nimport useChainFilterOption from '../../state/chainFilterOption/useChainFilterOption'\nimport useBondsList from '../../state/bonds/useBondsList'\nimport { BaseBondConfig } from '@ape.swap/apeswap-lists'\nimport RecommendationCards from './components/RecommendationCards'\nimport BondsMenu from './components/BondsMenu/BondsMenu'\nimport { useSDKConfig } from '../../state/useSDKConfig'\nimport BuyAgainRow from './components/BuyAgainRow'\nimport LoadingSkeleton from './components/LoadingSkeleton/LoadingSkeleton'\nimport useHotBonds from '../../state/hotBonds/useHotBonds'\nimport useBondsListPreTGE from '../../state/bonds/useBondsListPreTGE'\nimport { MAINNET_CHAINS } from '../../config/constants/chains'\nimport ActiveBondRows from './components/BondRows/ActiveBondRows'\nimport SoldOutRows from './components/BondRows/SoldOutRows'\nimport Flex from '../../components/uikit-sdk/Flex'\nimport Svg from '../../components/uikit-sdk/Svg'\n\ntype SortableKeys = 'bonus' | 'arr' | 'terms' | 'tokensRemaining'\ntype SortDirection = 'asc' | 'desc'\n\nexport interface SortOptions {\n key: SortableKeys\n direction: SortDirection\n}\n\nexport type GroupedByChain = Record<number, (BondsData | BaseBondConfig)[]>\nexport type GroupedBySymbol = Record<number, Record<string, (BondsData | BaseBondConfig)[]>>\n\nconst Bonds = () => {\n // Fetch data\n useHotBonds()\n const SDKConfig = useSDKConfig()\n const { favTokens } = useFavoriteTokens()\n const { data: bondData } = useBondsData()\n const { data: allBonds } = useBondsList()\n const { data: allPreBonds } = useBondsListPreTGE()\n const { data: chainFilterOption, setChainFilterOption } = useChainFilterOption()\n const topTags = useTopTags()\n\n // State\n const [sortConfig, setSortConfig] = useState<SortOptions | undefined>({ key: 'bonus', direction: 'desc' })\n const [searchQuery, setSearchQuery] = useState('')\n const [filterOption, setFilterOption] = useState('ALL')\n\n // Static data\n const filterOptions = ['ALL', 'FAVORITES', ...topTags, 'SOLD OUT']\n const validatedChains = SDKConfig?.chains?.filter((chain) => MAINNET_CHAINS.includes(chain))\n\n const billsToRender: GroupedByChain | GroupedBySymbol = useMemo(() => {\n let bondsToUse\n\n if (filterOption === 'SOLD OUT') {\n if (!allBonds || !allPreBonds) return {}\n bondsToUse = [...allPreBonds, ...allBonds]\n } else {\n bondsToUse = sortBonds(sortConfig, bondData)\n }\n\n const filteredBonds = bondsToUse?.filter((bill) => {\n // filter incompatible bonds\n if (!isBondSupported(SDKConfig.highestCompatibleVersion!, bill.version)) return false\n\n // filter onlyPartner Bonds\n if (bill.onlyPartner && SDKConfig.bondPartner !== bill.bondPartner) return false\n\n // filter searchQuery\n if (searchQuery) {\n const matchesSearch = [\n //@ts-ignore\n `${bill?.underlyingEarnToken?.symbol?.toUpperCase()}`,\n `${bill?.earnToken?.symbol.toUpperCase()}`,\n `${bill?.lpToken?.symbol.toUpperCase()}`,\n ].some((property) => property?.includes(searchQuery.toUpperCase()))\n if (!matchesSearch) return false\n }\n\n // filter tiers\n if (!SDKConfig?.useTiers && 'minTier' in bill) {\n if (bill.minTier !== null && bill.minTier !== undefined) return false\n }\n\n // filter bondPartner\n if (SDKConfig?.bondPartner && bill.bondPartner !== SDKConfig.bondPartner) return false\n\n // filter topTags\n if (topTags.includes(filterOption) && !bill?.tags?.includes(filterOption)) return false\n\n // filter chainFilterOption\n if (chainFilterOption && !chainFilterOption?.includes('All Chains')) {\n if (!chainFilterOption?.includes(bill?.chainId?.toString())) return false\n }\n\n // filter SOLD OUT\n if (filterOption === 'SOLD OUT' && !isBondSoldOut(bill as BondsData, SDKConfig.showLowValueBonds)) return false\n\n // filter not SOLD OUT\n if (filterOption !== 'SOLD OUT' && isBondSoldOut(bill as BondsData, SDKConfig.showLowValueBonds)) return false\n\n // filter FAVORITES\n if (filterOption === 'FAVORITES' && !favTokens.includes(bill?.earnToken?.symbol?.toLowerCase())) return false\n\n return true\n })\n\n if (filterOption === 'SOLD OUT') {\n return filteredBonds?.reduce<GroupedBySymbol>((acc, bond) => {\n const symbol = bond?.earnToken?.symbol\n const chainId = bond.chainId\n\n if (!acc[chainId]) acc[chainId] = {}\n\n if (!acc[chainId][symbol]) acc[chainId][symbol] = []\n\n acc[chainId][symbol].push(bond)\n return acc\n }, {})\n } else {\n return filteredBonds?.reduce<GroupedByChain>((acc, bond) => {\n const { chainId } = bond\n if (!acc[chainId]) acc[chainId] = []\n acc[chainId].push(bond)\n return acc\n }, {})\n }\n }, [\n allBonds,\n allPreBonds,\n sortConfig,\n bondData,\n filterOption,\n SDKConfig.highestCompatibleVersion,\n SDKConfig.bondPartner,\n SDKConfig?.useTiers,\n SDKConfig.showLowValueBonds,\n searchQuery,\n topTags,\n chainFilterOption,\n favTokens,\n ])\n\n // Handlers\n const handleSortOptions = useCallback(\n (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 [sortConfig?.key, sortConfig?.direction],\n )\n\n const handleChangeFilterOption = useCallback((newOption: string) => {\n setFilterOption(newOption)\n }, [])\n\n useEffect(() => {\n const hash = window.location.hash\n //@ts-ignore\n if (bondData?.length > 0 && hash) {\n const tryScroll = () => {\n const normalizedHash = decodeURIComponent(hash).replace(/\\s+/g, '')\n const element = document.querySelector(normalizedHash)\n if (element) {\n const y = element.getBoundingClientRect().top + window.scrollY - 70\n window.scrollTo({ top: y, behavior: 'smooth' })\n } else {\n setTimeout(tryScroll, 50)\n }\n }\n tryScroll()\n }\n }, [bondData?.length])\n\n return (\n <Flex className=\"bonds-container\">\n <CheckURL />\n <BondsMenu\n searchQuery={searchQuery}\n setSearchQuery={setSearchQuery}\n setChainFilterOption={setChainFilterOption}\n chainFilterOption={chainFilterOption ?? ['All Chains']}\n filterOptions={filterOptions}\n filterOption={filterOption}\n setFilterOption={handleChangeFilterOption}\n onSort={handleSortOptions}\n />\n {SDKConfig.useHotBonds && !SDKConfig.bondPartner && filterOption !== 'SOLD OUT' && <BuyAgainRow />}\n {Object.keys(billsToRender)?.length > 0 ? (\n <Flex className=\"bondrowsbychain\">\n {validatedChains?.map((chain) =>\n filterOption === 'SOLD OUT' ? (\n Object.entries(billsToRender[chain] ?? {}).map((groupedBonds) => (\n <SoldOutRows bonds={groupedBonds[1]} key={groupedBonds[0]} />\n ))\n ) : (\n <ActiveBondRows\n chain={chain}\n bonds={(billsToRender[chain] ?? []) as (BondsData | BaseBondConfig)[]}\n key={chain}\n hideTitles={searchQuery !== ''}\n showHotBonds={!searchQuery && SDKConfig.useHotBonds && SDKConfig?.hotBondChains?.includes(chain)}\n />\n ),\n )}\n </Flex>\n ) : searchQuery || !chainFilterOption.includes('All Chains') ? (\n <Flex className=\"placeholder-monkey-wrapper\">\n <PlaceholderMonkey text={'No results, change filters.'} />\n </Flex>\n ) : filterOption === 'FAVORITES' ? (\n <Flex\n sx={{\n width: '100%',\n height: '300px',\n background: 'white2',\n borderRadius: 'normal',\n justifyContent: 'center',\n alignItems: 'center',\n flexDirection: 'column',\n mt: '10px',\n }}\n >\n <Svg icon=\"StarFilled\" width={75} height={75} />\n <Flex sx={{ mt: '10px' }}>{`You don't have any Favorite Bonds yet!`}</Flex>\n <Flex sx={{ fontSize: '12px', fontWeight: 400, color: 'textDisabledButton', mt: '10px' }}>\n {`Click on the 'star' or 'fire' icon to add Bonds to the list.`}\n </Flex>\n </Flex>\n ) : (\n <LoadingSkeleton />\n )}\n {SDKConfig.useHotBonds && <RecommendationCards />}\n <Flex sx={{ width: '100%', justifyContent: 'center', my: '15px' }}>\n <img\n src=\"https://res.cloudinary.com/dswmrqgwy/image/upload/v1741643990/poweredbyapebondsdk_cxiouj.png\"\n alt=\"powered-by-apebond\"\n style={{ width: '200px', height: 'auto' }}\n />\n </Flex>\n </Flex>\n )\n}\n\nexport default Bonds\n"],"names":["_jsxs","_jsx","CheckURL"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Bonds.js","sources":["../../../src/views/Bonds/Bonds.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from 'react'\nimport { BondsData } from '../../types/bonds'\nimport { useTopTags } from '../../hooks/useTopTags'\nimport { isBondSoldOut, isBondSupported, sortBonds } from './utils'\nimport useBondsData from '../../state/bonds/useBondsData'\nimport CheckURL from './components/CheckURL'\nimport PlaceholderMonkey from '../../components/PlaceholderMonkey'\nimport useFavoriteTokens from '../../state/favoriteTokens/useFavoriteTokens'\nimport useChainFilterOption from '../../state/chainFilterOption/useChainFilterOption'\nimport useBondsList from '../../state/bonds/useBondsList'\nimport { BaseBondConfig } from '@ape.swap/apeswap-lists'\nimport RecommendationCards from './components/RecommendationCards'\nimport BondsMenu from './components/BondsMenu/BondsMenu'\nimport { useSDKConfig } from '../../state/useSDKConfig'\nimport BuyAgainRow from './components/BuyAgainRow'\nimport LoadingSkeleton from './components/LoadingSkeleton/LoadingSkeleton'\nimport useHotBonds from '../../state/hotBonds/useHotBonds'\nimport useBondsListPreTGE from '../../state/bonds/useBondsListPreTGE'\nimport { MAINNET_CHAINS } from '../../config/constants/chains'\nimport ActiveBondRows from './components/BondRows/ActiveBondRows'\nimport SoldOutRows from './components/BondRows/SoldOutRows'\nimport Flex from '../../components/uikit-sdk/Flex'\nimport Svg from '../../components/uikit-sdk/Svg'\n\ntype SortableKeys = 'bonus' | 'arr' | 'terms' | 'tokensRemaining'\ntype SortDirection = 'asc' | 'desc'\n\nexport interface SortOptions {\n key: SortableKeys\n direction: SortDirection\n}\n\nexport type GroupedByChain = Record<number, (BondsData | BaseBondConfig)[]>\nexport type GroupedBySymbol = Record<number, Record<string, (BondsData | BaseBondConfig)[]>>\n\nconst Bonds = () => {\n // Fetch data\n useHotBonds()\n const SDKConfig = useSDKConfig()\n const { favTokens } = useFavoriteTokens()\n const { data: bondData } = useBondsData()\n const { data: allBonds } = useBondsList()\n const { data: allPreBonds } = useBondsListPreTGE()\n const { data: chainFilterOption, setChainFilterOption } = useChainFilterOption()\n const topTags = useTopTags()\n\n // State\n const [sortConfig, setSortConfig] = useState<SortOptions | undefined>({ key: 'bonus', direction: 'desc' })\n const [searchQuery, setSearchQuery] = useState('')\n const [filterOption, setFilterOption] = useState('ALL')\n\n // Static data\n const filterOptions = ['ALL', 'FAVORITES', ...topTags, 'SOLD OUT']\n const validatedChains = SDKConfig?.chains?.filter((chain) => MAINNET_CHAINS.includes(chain))\n\n const billsToRender: GroupedByChain | GroupedBySymbol = useMemo(() => {\n let bondsToUse\n\n if (filterOption === 'SOLD OUT') {\n if (!allBonds || !allPreBonds) return {}\n bondsToUse = [...allPreBonds, ...allBonds]\n } else {\n bondsToUse = sortBonds(sortConfig, bondData)\n }\n\n const filteredBonds = bondsToUse?.filter((bill) => {\n // filter incompatible bonds\n if (!isBondSupported(SDKConfig.highestCompatibleVersion!, bill.version)) return false\n\n // filter onlyPartner Bonds\n if (bill.onlyPartner && SDKConfig.bondPartner !== bill.bondPartner) return false\n\n // filter searchQuery\n if (searchQuery) {\n const matchesSearch = [\n //@ts-ignore\n `${bill?.underlyingEarnToken?.symbol?.toUpperCase()}`,\n `${bill?.earnToken?.symbol.toUpperCase()}`,\n `${bill?.lpToken?.symbol.toUpperCase()}`,\n ].some((property) => property?.includes(searchQuery.toUpperCase()))\n if (!matchesSearch) return false\n }\n\n // filter tiers\n if (!SDKConfig?.useTiers && 'minTier' in bill) {\n if (bill.minTier !== null && bill.minTier !== undefined) return false\n }\n\n // filter bondPartner\n if (SDKConfig?.bondPartner && bill.bondPartner !== SDKConfig.bondPartner) return false\n\n // filter topTags\n if (topTags.includes(filterOption) && !bill?.tags?.includes(filterOption)) return false\n\n // filter chainFilterOption\n if (chainFilterOption && !chainFilterOption?.includes('All Chains')) {\n if (!chainFilterOption?.includes(bill?.chainId?.toString())) return false\n }\n\n // filter SOLD OUT\n if (filterOption === 'SOLD OUT' && !isBondSoldOut(bill as BondsData, SDKConfig.showLowValueBonds)) return false\n\n // filter not SOLD OUT\n if (filterOption !== 'SOLD OUT' && isBondSoldOut(bill as BondsData, SDKConfig.showLowValueBonds)) return false\n\n // filter FAVORITES\n if (filterOption === 'FAVORITES' && !favTokens.includes(bill?.earnToken?.symbol?.toLowerCase())) return false\n\n return true\n })\n\n if (filterOption === 'SOLD OUT') {\n return filteredBonds?.reduce<GroupedBySymbol>((acc, bond) => {\n const symbol = bond?.earnToken?.symbol\n const chainId = bond.chainId\n\n if (!acc[chainId]) acc[chainId] = {}\n\n if (!acc[chainId][symbol]) acc[chainId][symbol] = []\n\n acc[chainId][symbol].push(bond)\n return acc\n }, {})\n } else {\n return filteredBonds?.reduce<GroupedByChain>((acc, bond) => {\n const { chainId } = bond\n if (!acc[chainId]) acc[chainId] = []\n acc[chainId].push(bond)\n return acc\n }, {})\n }\n }, [\n allBonds,\n allPreBonds,\n sortConfig,\n bondData,\n filterOption,\n SDKConfig.highestCompatibleVersion,\n SDKConfig.bondPartner,\n SDKConfig?.useTiers,\n SDKConfig.showLowValueBonds,\n searchQuery,\n topTags,\n chainFilterOption,\n favTokens,\n ])\n\n // Handlers\n const handleSortOptions = useCallback(\n (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 [sortConfig?.key, sortConfig?.direction],\n )\n\n const handleChangeFilterOption = useCallback((newOption: string) => {\n setFilterOption(newOption)\n }, [])\n\n useEffect(() => {\n const hash = window.location.hash\n //@ts-ignore\n if (bondData?.length > 0 && hash) {\n const tryScroll = () => {\n const normalizedHash = decodeURIComponent(hash).replace(/\\s+/g, '')\n const element = document.querySelector(normalizedHash)\n if (element) {\n const y = element.getBoundingClientRect().top + window.scrollY - 70\n window.scrollTo({ top: y, behavior: 'smooth' })\n } else {\n setTimeout(tryScroll, 50)\n }\n }\n tryScroll()\n }\n }, [bondData?.length])\n\n return (\n <Flex className=\"bonds-container\">\n <CheckURL />\n <BondsMenu\n searchQuery={searchQuery}\n setSearchQuery={setSearchQuery}\n setChainFilterOption={setChainFilterOption}\n chainFilterOption={chainFilterOption ?? ['All Chains']}\n filterOptions={filterOptions}\n filterOption={filterOption}\n setFilterOption={handleChangeFilterOption}\n onSort={handleSortOptions}\n />\n {SDKConfig.useHotBonds && !SDKConfig.bondPartner && filterOption !== 'SOLD OUT' && <BuyAgainRow />}\n {Object.keys(billsToRender)?.length > 0 ? (\n <Flex className=\"bondrowsbychain\">\n {validatedChains?.map((chain) =>\n filterOption === 'SOLD OUT' ? (\n Object.entries(billsToRender[chain] ?? {}).map((groupedBonds) => (\n <SoldOutRows bonds={groupedBonds[1]} key={groupedBonds[0]} />\n ))\n ) : (\n <ActiveBondRows\n chain={chain}\n bonds={(billsToRender[chain] ?? []) as (BondsData | BaseBondConfig)[]}\n key={chain}\n hideTitles={searchQuery !== ''}\n showHotBonds={!searchQuery && SDKConfig.useHotBonds && SDKConfig?.hotBondChains?.includes(chain)}\n />\n ),\n )}\n </Flex>\n ) : searchQuery || !chainFilterOption.includes('All Chains') ? (\n <Flex className=\"placeholder-monkey-wrapper\">\n <PlaceholderMonkey text={'No results, change filters.'} />\n </Flex>\n ) : filterOption === 'FAVORITES' ? (\n <Flex\n sx={{\n width: '100%',\n height: '300px',\n background: 'white2',\n borderRadius: 'normal',\n justifyContent: 'center',\n alignItems: 'center',\n flexDirection: 'column',\n mt: '10px',\n }}\n >\n <Svg icon=\"StarFilled\" width={75} height={75} />\n <Flex sx={{ mt: '10px' }}>{`You don't have any Favorite Bonds yet!`}</Flex>\n <Flex sx={{ fontSize: '12px', fontWeight: 400, color: 'textDisabledButton', mt: '10px' }}>\n {`Click on the 'star' or 'fire' icon to add Bonds to the list.`}\n </Flex>\n </Flex>\n ) : (\n <LoadingSkeleton />\n )}\n {SDKConfig.useHotBonds && <RecommendationCards />}\n <Flex sx={{ width: '100%', justifyContent: 'center', my: '15px' }} className=\"powered-by-apebond\">\n <img\n src=\"https://res.cloudinary.com/dswmrqgwy/image/upload/v1741643990/poweredbyapebondsdk_cxiouj.png\"\n alt=\"powered-by-apebond\"\n style={{ width: '200px', height: 'auto' }}\n />\n </Flex>\n </Flex>\n )\n}\n\nexport default Bonds\n"],"names":["_jsxs","_jsx","CheckURL"],"mappings":"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"}
|