@bosonprotocol/react-kit 0.30.0-alpha.1 → 0.30.0-alpha.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (251) hide show
  1. package/dist/cjs/components/Loading.js +1 -1
  2. package/dist/cjs/components/Loading.js.map +1 -1
  3. package/dist/cjs/components/modal/components/Commit/OfferVariantView.d.ts.map +1 -1
  4. package/dist/cjs/components/modal/components/Commit/OfferVariantView.js +4 -1
  5. package/dist/cjs/components/modal/components/Commit/OfferVariantView.js.map +1 -1
  6. package/dist/cjs/components/modal/components/Redeem/Confirmation/Confirmation.d.ts.map +1 -1
  7. package/dist/cjs/components/modal/components/Redeem/Confirmation/Confirmation.js +4 -1
  8. package/dist/cjs/components/modal/components/Redeem/Confirmation/Confirmation.js.map +1 -1
  9. package/dist/cjs/components/modal/components/Redeem/RedeemForm/RedeemForm.d.ts +4 -1
  10. package/dist/cjs/components/modal/components/Redeem/RedeemForm/RedeemForm.d.ts.map +1 -1
  11. package/dist/cjs/components/modal/components/Redeem/RedeemForm/RedeemForm.js +13 -2
  12. package/dist/cjs/components/modal/components/Redeem/RedeemForm/RedeemForm.js.map +1 -1
  13. package/dist/cjs/components/modal/components/Redeem/RedeemForm/RedeemFormView.d.ts +2 -1
  14. package/dist/cjs/components/modal/components/Redeem/RedeemForm/RedeemFormView.d.ts.map +1 -1
  15. package/dist/cjs/components/modal/components/Redeem/RedeemForm/RedeemFormView.js +2 -2
  16. package/dist/cjs/components/modal/components/Redeem/RedeemForm/RedeemFormView.js.map +1 -1
  17. package/dist/cjs/components/modal/components/Redeem/RedeemFormModel.d.ts +7 -1
  18. package/dist/cjs/components/modal/components/Redeem/RedeemFormModel.d.ts.map +1 -1
  19. package/dist/cjs/components/modal/components/Redeem/RedeemFormModel.js +6 -0
  20. package/dist/cjs/components/modal/components/Redeem/RedeemFormModel.js.map +1 -1
  21. package/dist/cjs/components/modal/components/Redeem/RedeemNonModal.d.ts.map +1 -1
  22. package/dist/cjs/components/modal/components/Redeem/RedeemNonModal.js +22 -3
  23. package/dist/cjs/components/modal/components/Redeem/RedeemNonModal.js.map +1 -1
  24. package/dist/cjs/components/modal/components/common/OfferFullDescription/DigitalProductData.d.ts.map +1 -1
  25. package/dist/cjs/components/modal/components/common/OfferFullDescription/DigitalProductData.js +41 -13
  26. package/dist/cjs/components/modal/components/common/OfferFullDescription/DigitalProductData.js.map +1 -1
  27. package/dist/cjs/components/modal/components/common/detail/Detail.style.d.ts +36 -1
  28. package/dist/cjs/components/modal/components/common/detail/Detail.style.d.ts.map +1 -1
  29. package/dist/cjs/components/modal/components/common/detail/PhygitalProduct.d.ts.map +1 -1
  30. package/dist/cjs/components/modal/components/common/detail/PhygitalProduct.js +48 -33
  31. package/dist/cjs/components/modal/components/common/detail/PhygitalProduct.js.map +1 -1
  32. package/dist/cjs/components/modal/components/common/detail/TokenGatedItem.d.ts.map +1 -1
  33. package/dist/cjs/components/modal/components/common/detail/TokenGatedItem.js +28 -16
  34. package/dist/cjs/components/modal/components/common/detail/TokenGatedItem.js.map +1 -1
  35. package/dist/cjs/components/productCard/ProductCard.d.ts +3 -1
  36. package/dist/cjs/components/productCard/ProductCard.d.ts.map +1 -1
  37. package/dist/cjs/components/productCard/ProductCard.js +14 -2
  38. package/dist/cjs/components/productCard/ProductCard.js.map +1 -1
  39. package/dist/cjs/components/productCard/ProductCard.styles.d.ts +1 -0
  40. package/dist/cjs/components/productCard/ProductCard.styles.d.ts.map +1 -1
  41. package/dist/cjs/components/productCard/ProductCard.styles.js +43 -3
  42. package/dist/cjs/components/productCard/ProductCard.styles.js.map +1 -1
  43. package/dist/cjs/components/tooltip/Tooltip.d.ts +3 -2
  44. package/dist/cjs/components/tooltip/Tooltip.d.ts.map +1 -1
  45. package/dist/cjs/components/tooltip/Tooltip.js.map +1 -1
  46. package/dist/cjs/components/ui/DetailsSummary.js +1 -1
  47. package/dist/cjs/components/ui/DetailsSummary.js.map +1 -1
  48. package/dist/cjs/components/ui/IpfsImage.d.ts +3 -0
  49. package/dist/cjs/components/ui/IpfsImage.d.ts.map +1 -1
  50. package/dist/cjs/components/ui/IpfsImage.js +13 -3
  51. package/dist/cjs/components/ui/IpfsImage.js.map +1 -1
  52. package/dist/cjs/components/ui/Typography.d.ts +7 -1
  53. package/dist/cjs/components/ui/Typography.d.ts.map +1 -1
  54. package/dist/cjs/components/ui/Typography.js.map +1 -1
  55. package/dist/cjs/hooks/bundles/useBundleItemsImages.d.ts +10 -0
  56. package/dist/cjs/hooks/bundles/useBundleItemsImages.d.ts.map +1 -0
  57. package/dist/cjs/hooks/bundles/useBundleItemsImages.js +56 -0
  58. package/dist/cjs/hooks/bundles/useBundleItemsImages.js.map +1 -0
  59. package/dist/cjs/hooks/contracts/erc1155/useErc1155Uris.d.ts +11 -0
  60. package/dist/cjs/hooks/contracts/erc1155/useErc1155Uris.d.ts.map +1 -0
  61. package/dist/cjs/hooks/contracts/erc1155/useErc1155Uris.js +37 -0
  62. package/dist/cjs/hooks/contracts/erc1155/useErc1155Uris.js.map +1 -0
  63. package/dist/cjs/hooks/contracts/erc721/useErc721TokenUris.d.ts +11 -0
  64. package/dist/cjs/hooks/contracts/erc721/useErc721TokenUris.d.ts.map +1 -0
  65. package/dist/cjs/hooks/contracts/erc721/useErc721TokenUris.js +37 -0
  66. package/dist/cjs/hooks/contracts/erc721/useErc721TokenUris.js.map +1 -0
  67. package/dist/cjs/hooks/contracts/useGetTokenUriImages.d.ts +10 -0
  68. package/dist/cjs/hooks/contracts/useGetTokenUriImages.d.ts.map +1 -0
  69. package/dist/cjs/hooks/contracts/useGetTokenUriImages.js +103 -0
  70. package/dist/cjs/hooks/contracts/useGetTokenUriImages.js.map +1 -0
  71. package/dist/cjs/hooks/index.d.ts +3 -3
  72. package/dist/cjs/hooks/index.d.ts.map +1 -1
  73. package/dist/cjs/hooks/index.js +3 -3
  74. package/dist/cjs/hooks/index.js.map +1 -1
  75. package/dist/cjs/hooks/transactions/usePendingTransactionsWithContext.d.ts +1 -1
  76. package/dist/cjs/lib/address/address.d.ts +1 -0
  77. package/dist/cjs/lib/address/address.d.ts.map +1 -1
  78. package/dist/cjs/lib/address/address.js +8 -1
  79. package/dist/cjs/lib/address/address.js.map +1 -1
  80. package/dist/cjs/lib/bundle/const.d.ts +19 -5
  81. package/dist/cjs/lib/bundle/const.d.ts.map +1 -1
  82. package/dist/cjs/lib/bundle/const.js +18 -3
  83. package/dist/cjs/lib/bundle/const.js.map +1 -1
  84. package/dist/cjs/lib/ipfs/ipfs.d.ts.map +1 -1
  85. package/dist/cjs/lib/ipfs/ipfs.js +9 -4
  86. package/dist/cjs/lib/ipfs/ipfs.js.map +1 -1
  87. package/dist/cjs/lib/offer/filter.d.ts +3 -0
  88. package/dist/cjs/lib/offer/filter.d.ts.map +1 -1
  89. package/dist/cjs/lib/offer/filter.js +21 -1
  90. package/dist/cjs/lib/offer/filter.js.map +1 -1
  91. package/dist/cjs/lib/offer/getOfferDetails.d.ts.map +1 -1
  92. package/dist/cjs/lib/offer/getOfferDetails.js +21 -9
  93. package/dist/cjs/lib/offer/getOfferDetails.js.map +1 -1
  94. package/dist/esm/components/Loading.js +1 -1
  95. package/dist/esm/components/Loading.js.map +1 -1
  96. package/dist/esm/components/modal/components/Commit/OfferVariantView.d.ts.map +1 -1
  97. package/dist/esm/components/modal/components/Commit/OfferVariantView.js +4 -1
  98. package/dist/esm/components/modal/components/Commit/OfferVariantView.js.map +1 -1
  99. package/dist/esm/components/modal/components/Redeem/Confirmation/Confirmation.d.ts.map +1 -1
  100. package/dist/esm/components/modal/components/Redeem/Confirmation/Confirmation.js +4 -1
  101. package/dist/esm/components/modal/components/Redeem/Confirmation/Confirmation.js.map +1 -1
  102. package/dist/esm/components/modal/components/Redeem/RedeemForm/RedeemForm.d.ts +4 -1
  103. package/dist/esm/components/modal/components/Redeem/RedeemForm/RedeemForm.d.ts.map +1 -1
  104. package/dist/esm/components/modal/components/Redeem/RedeemForm/RedeemForm.js +13 -2
  105. package/dist/esm/components/modal/components/Redeem/RedeemForm/RedeemForm.js.map +1 -1
  106. package/dist/esm/components/modal/components/Redeem/RedeemForm/RedeemFormView.d.ts +2 -1
  107. package/dist/esm/components/modal/components/Redeem/RedeemForm/RedeemFormView.d.ts.map +1 -1
  108. package/dist/esm/components/modal/components/Redeem/RedeemForm/RedeemFormView.js +2 -2
  109. package/dist/esm/components/modal/components/Redeem/RedeemForm/RedeemFormView.js.map +1 -1
  110. package/dist/esm/components/modal/components/Redeem/RedeemFormModel.d.ts +7 -1
  111. package/dist/esm/components/modal/components/Redeem/RedeemFormModel.d.ts.map +1 -1
  112. package/dist/esm/components/modal/components/Redeem/RedeemFormModel.js +6 -0
  113. package/dist/esm/components/modal/components/Redeem/RedeemFormModel.js.map +1 -1
  114. package/dist/esm/components/modal/components/Redeem/RedeemNonModal.d.ts.map +1 -1
  115. package/dist/esm/components/modal/components/Redeem/RedeemNonModal.js +22 -3
  116. package/dist/esm/components/modal/components/Redeem/RedeemNonModal.js.map +1 -1
  117. package/dist/esm/components/modal/components/common/OfferFullDescription/DigitalProductData.d.ts.map +1 -1
  118. package/dist/esm/components/modal/components/common/OfferFullDescription/DigitalProductData.js +44 -11
  119. package/dist/esm/components/modal/components/common/OfferFullDescription/DigitalProductData.js.map +1 -1
  120. package/dist/esm/components/modal/components/common/detail/Detail.style.d.ts +36 -1
  121. package/dist/esm/components/modal/components/common/detail/Detail.style.d.ts.map +1 -1
  122. package/dist/esm/components/modal/components/common/detail/PhygitalProduct.d.ts.map +1 -1
  123. package/dist/esm/components/modal/components/common/detail/PhygitalProduct.js +40 -26
  124. package/dist/esm/components/modal/components/common/detail/PhygitalProduct.js.map +1 -1
  125. package/dist/esm/components/modal/components/common/detail/TokenGatedItem.d.ts.map +1 -1
  126. package/dist/esm/components/modal/components/common/detail/TokenGatedItem.js +28 -16
  127. package/dist/esm/components/modal/components/common/detail/TokenGatedItem.js.map +1 -1
  128. package/dist/esm/components/productCard/ProductCard.d.ts +3 -1
  129. package/dist/esm/components/productCard/ProductCard.d.ts.map +1 -1
  130. package/dist/esm/components/productCard/ProductCard.js +3 -3
  131. package/dist/esm/components/productCard/ProductCard.js.map +1 -1
  132. package/dist/esm/components/productCard/ProductCard.styles.d.ts +1 -0
  133. package/dist/esm/components/productCard/ProductCard.styles.d.ts.map +1 -1
  134. package/dist/esm/components/productCard/ProductCard.styles.js +42 -2
  135. package/dist/esm/components/productCard/ProductCard.styles.js.map +1 -1
  136. package/dist/esm/components/tooltip/Tooltip.d.ts +3 -2
  137. package/dist/esm/components/tooltip/Tooltip.d.ts.map +1 -1
  138. package/dist/esm/components/tooltip/Tooltip.js.map +1 -1
  139. package/dist/esm/components/ui/DetailsSummary.js +1 -1
  140. package/dist/esm/components/ui/DetailsSummary.js.map +1 -1
  141. package/dist/esm/components/ui/IpfsImage.d.ts +3 -0
  142. package/dist/esm/components/ui/IpfsImage.d.ts.map +1 -1
  143. package/dist/esm/components/ui/IpfsImage.js +14 -4
  144. package/dist/esm/components/ui/IpfsImage.js.map +1 -1
  145. package/dist/esm/components/ui/Typography.d.ts +7 -1
  146. package/dist/esm/components/ui/Typography.d.ts.map +1 -1
  147. package/dist/esm/components/ui/Typography.js.map +1 -1
  148. package/dist/esm/hooks/bundles/useBundleItemsImages.d.ts +10 -0
  149. package/dist/esm/hooks/bundles/useBundleItemsImages.d.ts.map +1 -0
  150. package/dist/esm/hooks/bundles/useBundleItemsImages.js +48 -0
  151. package/dist/esm/hooks/bundles/useBundleItemsImages.js.map +1 -0
  152. package/dist/esm/hooks/contracts/erc1155/useErc1155Uris.d.ts +11 -0
  153. package/dist/esm/hooks/contracts/erc1155/useErc1155Uris.d.ts.map +1 -0
  154. package/dist/esm/hooks/contracts/erc1155/useErc1155Uris.js +22 -0
  155. package/dist/esm/hooks/contracts/erc1155/useErc1155Uris.js.map +1 -0
  156. package/dist/esm/hooks/contracts/erc721/useErc721TokenUris.d.ts +11 -0
  157. package/dist/esm/hooks/contracts/erc721/useErc721TokenUris.d.ts.map +1 -0
  158. package/dist/esm/hooks/contracts/erc721/useErc721TokenUris.js +22 -0
  159. package/dist/esm/hooks/contracts/erc721/useErc721TokenUris.js.map +1 -0
  160. package/dist/esm/hooks/contracts/useGetTokenUriImages.d.ts +10 -0
  161. package/dist/esm/hooks/contracts/useGetTokenUriImages.d.ts.map +1 -0
  162. package/dist/esm/hooks/contracts/useGetTokenUriImages.js +90 -0
  163. package/dist/esm/hooks/contracts/useGetTokenUriImages.js.map +1 -0
  164. package/dist/esm/hooks/index.d.ts +3 -3
  165. package/dist/esm/hooks/index.d.ts.map +1 -1
  166. package/dist/esm/hooks/index.js +3 -3
  167. package/dist/esm/hooks/index.js.map +1 -1
  168. package/dist/esm/hooks/transactions/usePendingTransactionsWithContext.d.ts +1 -1
  169. package/dist/esm/lib/address/address.d.ts +1 -0
  170. package/dist/esm/lib/address/address.d.ts.map +1 -1
  171. package/dist/esm/lib/address/address.js +6 -0
  172. package/dist/esm/lib/address/address.js.map +1 -1
  173. package/dist/esm/lib/bundle/const.d.ts +19 -5
  174. package/dist/esm/lib/bundle/const.d.ts.map +1 -1
  175. package/dist/esm/lib/bundle/const.js +17 -2
  176. package/dist/esm/lib/bundle/const.js.map +1 -1
  177. package/dist/esm/lib/ipfs/ipfs.d.ts.map +1 -1
  178. package/dist/esm/lib/ipfs/ipfs.js +9 -4
  179. package/dist/esm/lib/ipfs/ipfs.js.map +1 -1
  180. package/dist/esm/lib/offer/filter.d.ts +3 -0
  181. package/dist/esm/lib/offer/filter.d.ts.map +1 -1
  182. package/dist/esm/lib/offer/filter.js +18 -0
  183. package/dist/esm/lib/offer/filter.js.map +1 -1
  184. package/dist/esm/lib/offer/getOfferDetails.d.ts.map +1 -1
  185. package/dist/esm/lib/offer/getOfferDetails.js +17 -5
  186. package/dist/esm/lib/offer/getOfferDetails.js.map +1 -1
  187. package/package.json +4 -4
  188. package/src/components/Loading.tsx +1 -1
  189. package/src/components/modal/components/Commit/OfferVariantView.tsx +4 -1
  190. package/src/components/modal/components/Redeem/Confirmation/Confirmation.tsx +6 -1
  191. package/src/components/modal/components/Redeem/RedeemForm/RedeemForm.tsx +32 -3
  192. package/src/components/modal/components/Redeem/RedeemForm/RedeemFormView.tsx +5 -1
  193. package/src/components/modal/components/Redeem/RedeemFormModel.ts +7 -1
  194. package/src/components/modal/components/Redeem/RedeemNonModal.tsx +29 -2
  195. package/src/components/modal/components/common/OfferFullDescription/DigitalProductData.tsx +166 -99
  196. package/src/components/modal/components/common/detail/PhygitalProduct.tsx +75 -34
  197. package/src/components/modal/components/common/detail/TokenGatedItem.tsx +27 -15
  198. package/src/components/productCard/ProductCard.styles.ts +43 -2
  199. package/src/components/productCard/ProductCard.tsx +3 -2
  200. package/src/components/tooltip/Tooltip.tsx +3 -2
  201. package/src/components/ui/DetailsSummary.tsx +1 -1
  202. package/src/components/ui/IpfsImage.tsx +19 -4
  203. package/src/components/ui/Typography.tsx +1 -4
  204. package/src/components/widgets/commit/CommitWidget.tsx +1 -1
  205. package/src/hooks/bundles/useBundleItemsImages.ts +71 -0
  206. package/src/hooks/contracts/erc1155/useErc1155Uris.ts +52 -0
  207. package/src/hooks/contracts/erc721/useErc721TokenUris.ts +52 -0
  208. package/src/hooks/contracts/useGetTokenUriImages.ts +126 -0
  209. package/src/hooks/index.ts +3 -3
  210. package/src/lib/address/address.ts +8 -1
  211. package/src/lib/bundle/const.ts +20 -3
  212. package/src/lib/ipfs/ipfs.ts +15 -5
  213. package/src/lib/offer/filter.ts +28 -0
  214. package/src/lib/offer/getOfferDetails.ts +30 -16
  215. package/src/stories/widgets/Commit.stories.tsx +3 -3
  216. package/dist/cjs/components/nftItem/NftItemIcon.d.ts +0 -8
  217. package/dist/cjs/components/nftItem/NftItemIcon.d.ts.map +0 -1
  218. package/dist/cjs/components/nftItem/NftItemIcon.js +0 -14
  219. package/dist/cjs/components/nftItem/NftItemIcon.js.map +0 -1
  220. package/dist/cjs/hooks/contracts/erc1155/useErc1155Uri.d.ts +0 -9
  221. package/dist/cjs/hooks/contracts/erc1155/useErc1155Uri.d.ts.map +0 -1
  222. package/dist/cjs/hooks/contracts/erc1155/useErc1155Uri.js +0 -29
  223. package/dist/cjs/hooks/contracts/erc1155/useErc1155Uri.js.map +0 -1
  224. package/dist/cjs/hooks/contracts/erc721/useErc721TokenUri.d.ts +0 -9
  225. package/dist/cjs/hooks/contracts/erc721/useErc721TokenUri.d.ts.map +0 -1
  226. package/dist/cjs/hooks/contracts/erc721/useErc721TokenUri.js +0 -29
  227. package/dist/cjs/hooks/contracts/erc721/useErc721TokenUri.js.map +0 -1
  228. package/dist/cjs/hooks/contracts/useGetTokenUriImage.d.ts +0 -8
  229. package/dist/cjs/hooks/contracts/useGetTokenUriImage.d.ts.map +0 -1
  230. package/dist/cjs/hooks/contracts/useGetTokenUriImage.js +0 -93
  231. package/dist/cjs/hooks/contracts/useGetTokenUriImage.js.map +0 -1
  232. package/dist/esm/components/nftItem/NftItemIcon.d.ts +0 -8
  233. package/dist/esm/components/nftItem/NftItemIcon.d.ts.map +0 -1
  234. package/dist/esm/components/nftItem/NftItemIcon.js +0 -7
  235. package/dist/esm/components/nftItem/NftItemIcon.js.map +0 -1
  236. package/dist/esm/hooks/contracts/erc1155/useErc1155Uri.d.ts +0 -9
  237. package/dist/esm/hooks/contracts/erc1155/useErc1155Uri.d.ts.map +0 -1
  238. package/dist/esm/hooks/contracts/erc1155/useErc1155Uri.js +0 -16
  239. package/dist/esm/hooks/contracts/erc1155/useErc1155Uri.js.map +0 -1
  240. package/dist/esm/hooks/contracts/erc721/useErc721TokenUri.d.ts +0 -9
  241. package/dist/esm/hooks/contracts/erc721/useErc721TokenUri.d.ts.map +0 -1
  242. package/dist/esm/hooks/contracts/erc721/useErc721TokenUri.js +0 -16
  243. package/dist/esm/hooks/contracts/erc721/useErc721TokenUri.js.map +0 -1
  244. package/dist/esm/hooks/contracts/useGetTokenUriImage.d.ts +0 -8
  245. package/dist/esm/hooks/contracts/useGetTokenUriImage.d.ts.map +0 -1
  246. package/dist/esm/hooks/contracts/useGetTokenUriImage.js +0 -80
  247. package/dist/esm/hooks/contracts/useGetTokenUriImage.js.map +0 -1
  248. package/src/components/nftItem/NftItemIcon.tsx +0 -16
  249. package/src/hooks/contracts/erc1155/useErc1155Uri.ts +0 -31
  250. package/src/hooks/contracts/erc721/useErc721TokenUri.ts +0 -31
  251. package/src/hooks/contracts/useGetTokenUriImage.ts +0 -102
@@ -0,0 +1,126 @@
1
+ import { getImageUrl } from "../../lib/images/images";
2
+ import { useQuery } from "react-query";
3
+
4
+ const replaceUrlWithId = ({
5
+ tokenId,
6
+ url
7
+ }: {
8
+ url: string;
9
+ tokenId: string;
10
+ }) => {
11
+ const urlWithIdReplaced = url.replace("{id}", tokenId);
12
+ return urlWithIdReplaced;
13
+ };
14
+
15
+ export const useGetTokenUriImages = (
16
+ props: {
17
+ pairsTokenUrisIds:
18
+ | ({
19
+ tokenUris: (string | null | undefined)[] | undefined | null;
20
+ tokenIds: (string | null | undefined)[] | undefined | null;
21
+ } | null)[]
22
+ | undefined;
23
+
24
+ ipfsGateway?: string;
25
+ },
26
+ { enabled }: { enabled: boolean }
27
+ ) => {
28
+ const { pairsTokenUrisIds, ipfsGateway = "https://ipfs.io/ipfs" } = props;
29
+ return useQuery(
30
+ ["useGetTokenUriImages", props],
31
+ async () => {
32
+ if (!pairsTokenUrisIds) {
33
+ return [];
34
+ }
35
+ try {
36
+ return await Promise.all(
37
+ pairsTokenUrisIds.map(async (pair): Promise<string[]> => {
38
+ if (!pair) {
39
+ return Promise.resolve([]);
40
+ }
41
+ const { tokenIds, tokenUris } = pair;
42
+ if (
43
+ !tokenIds ||
44
+ !tokenUris ||
45
+ tokenUris.length !== tokenIds.length
46
+ ) {
47
+ return Promise.resolve([]);
48
+ }
49
+ return await Promise.all(
50
+ tokenUris.map(async (tokenUri, index): Promise<string> => {
51
+ const tokenId = tokenIds[index];
52
+ if (!tokenUri || !tokenId) {
53
+ return "";
54
+ }
55
+ if (tokenUri.startsWith("data:application/json")) {
56
+ const base64Data = tokenUri.substring(
57
+ tokenUri.indexOf(",") + 1
58
+ );
59
+ const jsonValue = window.atob(base64Data);
60
+ const parsedJson = JSON.parse(jsonValue);
61
+ const image = parsedJson.image;
62
+ const imageUrl = getImageUrl(image, ipfsGateway);
63
+ const urlWithIdReplaced = replaceUrlWithId({
64
+ url: imageUrl,
65
+ tokenId
66
+ });
67
+ return urlWithIdReplaced;
68
+ }
69
+ if (tokenUri.startsWith("ipfs")) {
70
+ const imageUrl = getImageUrl(tokenUri, ipfsGateway);
71
+ const urlWithIdReplaced = replaceUrlWithId({
72
+ url: imageUrl,
73
+ tokenId
74
+ });
75
+
76
+ const fetchedMetadata = await fetch(urlWithIdReplaced);
77
+ try {
78
+ const jsonMetadata = await fetchedMetadata.json();
79
+ const imageUrl = getImageUrl(
80
+ jsonMetadata.image,
81
+ ipfsGateway
82
+ );
83
+ return imageUrl;
84
+ } catch (error) {
85
+ console.debug(error);
86
+ }
87
+
88
+ return urlWithIdReplaced;
89
+ }
90
+ if (tokenUri.startsWith("http")) {
91
+ const urlWithIdReplaced = replaceUrlWithId({
92
+ url: tokenUri,
93
+ tokenId
94
+ });
95
+ const fetchedMetadata = await fetch(urlWithIdReplaced);
96
+ try {
97
+ const jsonMetadata = await fetchedMetadata.json();
98
+ const image = jsonMetadata.image;
99
+ const imageUrl = getImageUrl(image, ipfsGateway);
100
+ return imageUrl;
101
+ } catch (error) {
102
+ console.debug(error);
103
+ }
104
+
105
+ return urlWithIdReplaced;
106
+ }
107
+
108
+ if (tokenUri.startsWith("data:image")) {
109
+ return tokenUri;
110
+ }
111
+
112
+ return "";
113
+ })
114
+ );
115
+ })
116
+ );
117
+ } catch (err) {
118
+ console.error(err);
119
+ throw err;
120
+ }
121
+ },
122
+ {
123
+ enabled
124
+ }
125
+ );
126
+ };
@@ -8,12 +8,12 @@ export * from "./useHandleText";
8
8
  export * from "./useExchanges";
9
9
  export * from "./useMetaTx";
10
10
  export * from "../components/widgets/finance/useOffersBacked";
11
- export * from "./contracts/useGetTokenUriImage";
11
+ export * from "./contracts/useGetTokenUriImages";
12
12
  export * from "./products/useProductByUuid";
13
13
  export * from "./bundles/useBundleByUuid";
14
- export * from "./contracts/erc721/useErc721TokenUri";
14
+ export * from "./contracts/erc721/useErc721TokenUris";
15
15
  export * from "./contracts/erc721/useErc721Name";
16
16
  export * from "./contracts/erc721/useErc721OwnerOf";
17
17
  export * from "./contracts/erc1155/useErc1155Name";
18
- export * from "./contracts/erc1155/useErc1155Uri";
18
+ export * from "./contracts/erc1155/useErc1155Uris";
19
19
  export * from "./uniswap/useIsWindowVisible";
@@ -1,5 +1,12 @@
1
1
  import { getAddress } from "@ethersproject/address";
2
-
2
+ export function formatAddress(address: string): string {
3
+ if (!address) {
4
+ return address;
5
+ }
6
+ return `${address.substring(0, 5)}...${address.substring(
7
+ address.length - 4
8
+ )}`;
9
+ }
3
10
  // returns the checksummed address if the address is valid, otherwise returns false
4
11
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
5
12
  export function isAddress(value: any): string | false {
@@ -1,5 +1,5 @@
1
1
  export const digitalTypeMappingDisplay = {
2
- "digital-nft": "Digital NFT",
2
+ "digital-nft": "NFT",
3
3
  "digital-file": "Digital File",
4
4
  experiential: "Experiential"
5
5
  } as const;
@@ -13,6 +13,23 @@ export const digitalTypeMapping = {
13
13
  export const digitalNftTypeMapping = {
14
14
  wearable: "Wearable",
15
15
  image: "Image",
16
- event: "Event",
16
+ event: "Event access pass or ticket",
17
17
  other: "Other"
18
- };
18
+ } as const;
19
+
20
+ export const buyerTransferInfoMapping = {
21
+ email: "E-mail",
22
+ walletAddress: "Wallet address"
23
+ } as const;
24
+
25
+ export const ercTokenMapping = {
26
+ erc20: "ERC20",
27
+ erc721: "ERC721",
28
+ erc1155: "ERC1155"
29
+ } as const;
30
+
31
+ export const BUYER_TRANSFER_INFO_KEY = "buyerTransferInfo";
32
+ export enum BuyerTransferInfo {
33
+ "email" = "email",
34
+ "walletAddress" = "walletAddress"
35
+ }
@@ -1,6 +1,8 @@
1
1
  import { CID } from "multiformats/cid";
2
2
  import { sanitizeUrl } from "../url/url";
3
3
 
4
+ const lensIpfs = "https://lens.infura-ipfs.io/ipfs/";
5
+
4
6
  export function getIpfsGatewayUrl(
5
7
  uri: string,
6
8
  opts: {
@@ -10,18 +12,26 @@ export function getIpfsGatewayUrl(
10
12
  if (!uri) {
11
13
  return uri;
12
14
  }
15
+ if (uri.startsWith(lensIpfs)) {
16
+ return uri;
17
+ }
13
18
  const { gateway } = opts;
14
- const cidAndRest = uri.replaceAll("ipfs://", ""); // it may be ipfs://CID/123
15
-
16
19
  try {
17
- const [cid] = cidAndRest.split("/", 1); // it may be CID/123
20
+ const url = new URL(
21
+ uri.startsWith("ipfs://") ? uri.replace("ipfs://", "https://") : uri
22
+ );
23
+ const hostIndex = uri.toLowerCase().indexOf(url.host.toLowerCase());
24
+ const cid = uri.substring(hostIndex, hostIndex + url.host.length); // we cannot use url.host because the browser changes it to lowercase so a lowercased CID would not be valid
18
25
  CID.parse(cid);
19
- return `${gateway}/${cidAndRest}`.replace(/([^:]\/)\/+/g, "$1"); // remove double slash
26
+ return `${gateway}/${cid}${url.pathname === "/" ? "" : url.pathname}${url.search}`.replace(
27
+ /([^:]\/)\/+/g,
28
+ "$1"
29
+ ); // remove double slash
20
30
  } catch (error) {
21
31
  // If CID.parse throws, then it is either not a valid CID or just an URL
22
32
  const cidFromUrl = uri.split("/ipfs/")[1];
23
33
  if (cidFromUrl) {
24
- return getIpfsGatewayUrl(cidFromUrl.split("?")[0], opts);
34
+ return getIpfsGatewayUrl(`ipfs://${cidFromUrl}`, opts);
25
35
  }
26
36
 
27
37
  return sanitizeUrl(uri);
@@ -1,5 +1,8 @@
1
1
  import { subgraph } from "@bosonprotocol/core-sdk";
2
2
  import type { Offer } from "../../types/offer";
3
+ import { NftItem, isNftItem } from "../bundle/filter";
4
+ import { BUYER_TRANSFER_INFO_KEY, BuyerTransferInfo } from "../bundle/const";
5
+ import { isTruthy } from "../../types/helpers";
3
6
 
4
7
  export type BundleMetadata = Extract<
5
8
  Offer["metadata"],
@@ -30,3 +33,28 @@ export const isProductV1 = (
30
33
  ): offer is ProductV1 =>
31
34
  offer.metadata?.__typename === "ProductV1MetadataEntity" ||
32
35
  offer.metadata?.type === subgraph.MetadataType.PRODUCT_V1;
36
+
37
+ const getBuyerTransferInfoTerm = (item: NftItem) =>
38
+ item.terms?.find((term) => term.key === BUYER_TRANSFER_INFO_KEY);
39
+ export const getBuyerTransferInfos = (
40
+ offer: Offer | subgraph.OfferFieldsFragment
41
+ ): Set<string> => {
42
+ return isBundle(offer)
43
+ ? new Set(
44
+ offer.metadata.items
45
+ .filter(isNftItem)
46
+ .map((item) => getBuyerTransferInfoTerm(item)?.value)
47
+ .filter(isTruthy)
48
+ )
49
+ : new Set();
50
+ };
51
+
52
+ export const getHasBuyerTransferInfos = (
53
+ offer: Offer | subgraph.OfferFieldsFragment,
54
+ valuesToFind: BuyerTransferInfo[]
55
+ ): boolean => {
56
+ const buyerTransferInfos = getBuyerTransferInfos(offer);
57
+ return valuesToFind.every((buyerTransferInfoValue) => {
58
+ return buyerTransferInfos.has(buyerTransferInfoValue);
59
+ });
60
+ };
@@ -76,10 +76,10 @@ export const getOfferDetails = (
76
76
  | undefined = isProductV1(offer)
77
77
  ? (offer.metadata as ProductV1Sub)
78
78
  : isBundle(offer)
79
- ? (offer.metadata?.items?.find((item) => isProductV1Item(item)) as
80
- | ProductV1Subitem
81
- | undefined)
82
- : undefined;
79
+ ? (offer.metadata?.items?.find((item) => isProductV1Item(item)) as
80
+ | ProductV1Subitem
81
+ | undefined)
82
+ : undefined;
83
83
  const name =
84
84
  productV1ItemMetadataEntity?.product?.title ||
85
85
  offer.metadata?.name ||
@@ -89,30 +89,44 @@ export const getOfferDetails = (
89
89
  const animationUrl = getOfferAnimationUrl(offer);
90
90
  const shippingInfo = {
91
91
  returnPeriodInDays:
92
- productV1ItemMetadataEntity?.shipping?.returnPeriodInDays,
92
+ productV1ItemMetadataEntity?.shipping?.returnPeriodInDays ||
93
+ isProductV1(offer)
94
+ ? (offer.metadata as ProductV1Sub).shipping?.returnPeriodInDays
95
+ : undefined,
93
96
  shippingTable:
94
- productV1ItemMetadataEntity?.shipping?.supportedJurisdictions?.map(
95
- (jurisdiction: any) => ({
96
- name: jurisdiction.label,
97
- value: jurisdiction.deliveryTime
98
- })
99
- ) || []
97
+ (productV1ItemMetadataEntity?.shipping || isProductV1(offer)
98
+ ? (offer.metadata as ProductV1Sub).shipping
99
+ : undefined
100
+ )?.supportedJurisdictions?.map((jurisdiction: any) => ({
101
+ name: jurisdiction.label,
102
+ value: jurisdiction.deliveryTime
103
+ })) || []
100
104
  };
101
105
  const description =
102
106
  productV1ItemMetadataEntity?.product?.description ||
103
107
  offer.metadata?.description ||
104
108
  "";
105
- const artist = productV1ItemMetadataEntity?.productV1Seller || null;
109
+ const artist =
110
+ productV1ItemMetadataEntity?.productV1Seller ||
111
+ (isProductV1(offer)
112
+ ? (offer.metadata as ProductV1Sub).productV1Seller
113
+ : null);
106
114
  const artistDescription =
107
115
  artist?.description ||
108
116
  productV1ItemMetadataEntity?.product.productV1Seller?.description ||
109
117
  "";
110
118
  const images =
111
- productV1ItemMetadataEntity?.product?.visuals_images?.map(
112
- ({ url }: { url: string }) => url
113
- ) || [];
119
+ (
120
+ productV1ItemMetadataEntity?.product ||
121
+ (isProductV1(offer)
122
+ ? (offer.metadata as ProductV1Sub).product
123
+ : undefined)
124
+ )?.visuals_images?.map(({ url }: { url: string }) => url) || [];
114
125
  const variantsImages =
115
- productV1ItemMetadataEntity?.productOverrides?.visuals_images?.map(
126
+ (
127
+ productV1ItemMetadataEntity ||
128
+ (isProductV1(offer) ? (offer.metadata as ProductV1Sub) : undefined)
129
+ )?.productOverrides?.visuals_images?.map(
116
130
  ({ url }: { url: string }) => url
117
131
  ) || [];
118
132
  const bundleItems = isBundle(offer) ? offer.metadata.items : undefined;
@@ -264,7 +264,7 @@ export const CommitBundle: ComponentStory<typeof CommitWidget> = Template.bind(
264
264
  // More on args: https://storybook.js.org/docs/react/writing-stories/args
265
265
  CommitBundle.args = {
266
266
  envName,
267
- configId: envConfig[0].configId,
267
+ configId: envConfig[1].configId,
268
268
  walletConnectProjectId: process.env.REACT_APP_WALLET_CONNECT_PROJECT_ID,
269
269
  dateFormat: "YYYY/MM/DD",
270
270
  defaultCurrencySymbol: "$",
@@ -278,9 +278,9 @@ CommitBundle.args = {
278
278
  offerId: "",
279
279
  defaultSelectedOfferId: "",
280
280
  disableVariationsSelects: false,
281
- bundleUuid: "efc1ca63-c816-4636-bb09-0202ed5e75c3",
281
+ bundleUuid: "e637fb4-32b2-dd-c0ba-e178826513a3",
282
282
  productUuid: undefined,
283
- sellerId: "138",
283
+ sellerId: "5",
284
284
  metaTx: {
285
285
  apiKey: process.env.STORYBOOK_DATA_META_TX_API_KEY as string,
286
286
  apiIds: process.env.STORYBOOK_DATA_META_TX_API_IDS as string
@@ -1,8 +0,0 @@
1
- import { NftItemMetadataEntity } from "@bosonprotocol/core-sdk/dist/cjs/subgraph";
2
- import React from "react";
3
- type NftItemIconProps = {
4
- nftItem: NftItemMetadataEntity;
5
- };
6
- export declare const NftItemIcon: React.FC<NftItemIconProps>;
7
- export {};
8
- //# sourceMappingURL=NftItemIcon.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NftItemIcon.d.ts","sourceRoot":"","sources":["../../../../src/components/nftItem/NftItemIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,KAAK,gBAAgB,GAAG;IACtB,OAAO,EAAE,qBAAqB,CAAC;CAChC,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAMlD,CAAC"}
@@ -1,14 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.NftItemIcon = void 0;
7
- const react_1 = __importDefault(require("react"));
8
- const IpfsImage_1 = __importDefault(require("../ui/IpfsImage"));
9
- const Video_1 = __importDefault(require("../ui/Video"));
10
- const NftItemIcon = ({ nftItem }) => {
11
- return nftItem.image ? (react_1.default.createElement(IpfsImage_1.default, { src: nftItem.image })) : nftItem.animationUrl ? (react_1.default.createElement(Video_1.default, { src: nftItem.animationUrl })) : null;
12
- };
13
- exports.NftItemIcon = NftItemIcon;
14
- //# sourceMappingURL=NftItemIcon.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NftItemIcon.js","sourceRoot":"","sources":["../../../../src/components/nftItem/NftItemIcon.tsx"],"names":[],"mappings":";;;;;;AACA,kDAA0B;AAC1B,gEAAwC;AACxC,wDAAgC;AAMzB,MAAM,WAAW,GAA+B,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;IACrE,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CACrB,8BAAC,mBAAS,IAAC,GAAG,EAAE,OAAO,CAAC,KAAK,GAAI,CAClC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CACzB,8BAAC,eAAK,IAAC,GAAG,EAAE,OAAO,CAAC,YAAY,GAAI,CACrC,CAAC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC,CAAC;AANW,QAAA,WAAW,eAMtB"}
@@ -1,9 +0,0 @@
1
- import { CoreSDK } from "@bosonprotocol/core-sdk";
2
- export declare const useErc1155Uri: (props: {
3
- contractAddress: string | undefined;
4
- tokenIds: (string | null | undefined)[] | undefined;
5
- }, { enabled, coreSDK }: {
6
- enabled: boolean | undefined;
7
- coreSDK: CoreSDK;
8
- }) => import("react-query").UseQueryResult<(string | null)[] | undefined, unknown>;
9
- //# sourceMappingURL=useErc1155Uri.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useErc1155Uri.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/contracts/erc1155/useErc1155Uri.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAGlD,eAAO,MAAM,aAAa,UACjB;IACL,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,EAAE,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC;CACrD;aACgC,OAAO,GAAG,SAAS;aAAW,OAAO;kFAsBvE,CAAC"}
@@ -1,29 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.useErc1155Uri = void 0;
13
- const react_query_1 = require("react-query");
14
- const useErc1155Uri = (props, { enabled, coreSDK }) => {
15
- return (0, react_query_1.useQuery)(["useErc1155Uri", coreSDK.uuid, props], () => __awaiter(void 0, void 0, void 0, function* () {
16
- const { contractAddress, tokenIds } = props;
17
- if (!contractAddress || !tokenIds) {
18
- return;
19
- }
20
- return Promise.all(tokenIds.map((tokenId) => tokenId
21
- ? coreSDK.erc1155Uri({
22
- contractAddress,
23
- tokenId
24
- })
25
- : null));
26
- }), { enabled });
27
- };
28
- exports.useErc1155Uri = useErc1155Uri;
29
- //# sourceMappingURL=useErc1155Uri.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useErc1155Uri.js","sourceRoot":"","sources":["../../../../../src/hooks/contracts/erc1155/useErc1155Uri.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,6CAAuC;AAEhC,MAAM,aAAa,GAAG,CAC3B,KAGC,EACD,EAAE,OAAO,EAAE,OAAO,EAAsD,EACxE,EAAE;IACF,OAAO,IAAA,sBAAQ,EACb,CAAC,eAAe,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,EACtC,GAAS,EAAE;QACT,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;QAC5C,IAAI,CAAC,eAAe,IAAI,CAAC,QAAQ,EAAE;YACjC,OAAO;SACR;QACD,OAAO,OAAO,CAAC,GAAG,CAChB,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACvB,OAAO;YACL,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;gBACjB,eAAe;gBACf,OAAO;aACR,CAAC;YACJ,CAAC,CAAC,IAAI,CACT,CACF,CAAC;IACJ,CAAC,CAAA,EACD,EAAE,OAAO,EAAE,CACZ,CAAC;AACJ,CAAC,CAAC;AA3BW,QAAA,aAAa,iBA2BxB"}
@@ -1,9 +0,0 @@
1
- import { CoreSDK } from "@bosonprotocol/core-sdk";
2
- export declare const useErc721TokenUri: (props: {
3
- contractAddress: string | undefined;
4
- tokenIds: (string | null | undefined)[] | undefined;
5
- }, { enabled, coreSDK }: {
6
- enabled: boolean | undefined;
7
- coreSDK: CoreSDK;
8
- }) => import("react-query").UseQueryResult<(string | null)[] | undefined, unknown>;
9
- //# sourceMappingURL=useErc721TokenUri.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useErc721TokenUri.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/contracts/erc721/useErc721TokenUri.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAGlD,eAAO,MAAM,iBAAiB,UACrB;IACL,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,EAAE,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC;CACrD;aACgC,OAAO,GAAG,SAAS;aAAW,OAAO;kFAsBvE,CAAC"}
@@ -1,29 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.useErc721TokenUri = void 0;
13
- const react_query_1 = require("react-query");
14
- const useErc721TokenUri = (props, { enabled, coreSDK }) => {
15
- return (0, react_query_1.useQuery)(["useErc721TokenUri", coreSDK.uuid, props], () => __awaiter(void 0, void 0, void 0, function* () {
16
- const { contractAddress, tokenIds } = props;
17
- if (!contractAddress || !tokenIds) {
18
- return;
19
- }
20
- return Promise.all(tokenIds.map((tokenId) => tokenId
21
- ? coreSDK.erc721TokenUri({
22
- contractAddress,
23
- tokenId
24
- })
25
- : null));
26
- }), { enabled });
27
- };
28
- exports.useErc721TokenUri = useErc721TokenUri;
29
- //# sourceMappingURL=useErc721TokenUri.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useErc721TokenUri.js","sourceRoot":"","sources":["../../../../../src/hooks/contracts/erc721/useErc721TokenUri.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,6CAAuC;AAEhC,MAAM,iBAAiB,GAAG,CAC/B,KAGC,EACD,EAAE,OAAO,EAAE,OAAO,EAAsD,EACxE,EAAE;IACF,OAAO,IAAA,sBAAQ,EACb,CAAC,mBAAmB,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,EAC1C,GAAS,EAAE;QACT,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;QAC5C,IAAI,CAAC,eAAe,IAAI,CAAC,QAAQ,EAAE;YACjC,OAAO;SACR;QACD,OAAO,OAAO,CAAC,GAAG,CAChB,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACvB,OAAO;YACL,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;gBACrB,eAAe;gBACf,OAAO;aACR,CAAC;YACJ,CAAC,CAAC,IAAI,CACT,CACF,CAAC;IACJ,CAAC,CAAA,EACD,EAAE,OAAO,EAAE,CACZ,CAAC;AACJ,CAAC,CAAC;AA3BW,QAAA,iBAAiB,qBA2B5B"}
@@ -1,8 +0,0 @@
1
- export declare const useGetTokenUriImage: (props: {
2
- tokenUris: (string | null | undefined)[] | undefined | null;
3
- ipfsGateway?: string;
4
- tokenIds: (string | null | undefined)[] | undefined | null;
5
- }, { enabled }: {
6
- enabled: boolean;
7
- }) => import("react-query").UseQueryResult<string[], unknown>;
8
- //# sourceMappingURL=useGetTokenUriImage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useGetTokenUriImage.d.ts","sourceRoot":"","sources":["../../../../src/hooks/contracts/useGetTokenUriImage.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,mBAAmB,UACvB;IACL,SAAS,EAAE,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC;IAC5D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC;CAC5D;aACuB,OAAO;6DAiFhC,CAAC"}
@@ -1,93 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.useGetTokenUriImage = void 0;
13
- const images_1 = require("../../lib/images/images");
14
- const react_query_1 = require("react-query");
15
- const replaceUrlWithId = ({ tokenId, url }) => {
16
- const urlWithIdReplaced = url.replace("{id}", tokenId);
17
- return urlWithIdReplaced;
18
- };
19
- const useGetTokenUriImage = (props, { enabled }) => {
20
- const { tokenUris, ipfsGateway = "https://ipfs.io/ipfs", tokenIds } = props;
21
- return (0, react_query_1.useQuery)(["useGetTokenUriImage", props], () => __awaiter(void 0, void 0, void 0, function* () {
22
- if (!tokenUris || !tokenIds || tokenUris.length !== tokenIds.length) {
23
- return [];
24
- }
25
- try {
26
- return Promise.all(tokenUris.map((tokenUri, index) => __awaiter(void 0, void 0, void 0, function* () {
27
- const tokenId = tokenIds[index];
28
- if (!tokenUri || !tokenId) {
29
- return "";
30
- }
31
- if (tokenUri.startsWith("data:application/json")) {
32
- const base64Data = tokenUri.substring(tokenUri.indexOf(",") + 1);
33
- const jsonValue = window.atob(base64Data);
34
- const parsedJson = JSON.parse(jsonValue);
35
- const image = parsedJson.image;
36
- const imageUrl = (0, images_1.getImageUrl)(image, ipfsGateway);
37
- const urlWithIdReplaced = replaceUrlWithId({
38
- url: imageUrl,
39
- tokenId
40
- });
41
- return urlWithIdReplaced;
42
- }
43
- if (tokenUri.startsWith("ipfs")) {
44
- const imageUrl = (0, images_1.getImageUrl)(tokenUri, ipfsGateway);
45
- const urlWithIdReplaced = replaceUrlWithId({
46
- url: imageUrl,
47
- tokenId
48
- });
49
- const fetchedMetadata = yield fetch(urlWithIdReplaced);
50
- try {
51
- const jsonMetadata = yield fetchedMetadata.json();
52
- const image = jsonMetadata.image;
53
- const imageUrl = (0, images_1.getImageUrl)(image, ipfsGateway);
54
- return imageUrl;
55
- }
56
- catch (error) {
57
- console.debug(error);
58
- }
59
- return urlWithIdReplaced;
60
- }
61
- if (tokenUri.startsWith("http")) {
62
- const urlWithIdReplaced = replaceUrlWithId({
63
- url: tokenUri,
64
- tokenId
65
- });
66
- const fetchedMetadata = yield fetch(urlWithIdReplaced);
67
- try {
68
- const jsonMetadata = yield fetchedMetadata.json();
69
- const image = jsonMetadata.image;
70
- const imageUrl = (0, images_1.getImageUrl)(image, ipfsGateway);
71
- return imageUrl;
72
- }
73
- catch (error) {
74
- console.debug(error);
75
- }
76
- return urlWithIdReplaced;
77
- }
78
- if (tokenUri.startsWith("data:image")) {
79
- return tokenUri;
80
- }
81
- return "";
82
- })));
83
- }
84
- catch (err) {
85
- console.error(err);
86
- throw err;
87
- }
88
- }), {
89
- enabled
90
- });
91
- };
92
- exports.useGetTokenUriImage = useGetTokenUriImage;
93
- //# sourceMappingURL=useGetTokenUriImage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useGetTokenUriImage.js","sourceRoot":"","sources":["../../../../src/hooks/contracts/useGetTokenUriImage.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- import { NftItemMetadataEntity } from "@bosonprotocol/core-sdk/dist/cjs/subgraph";
2
- import React from "react";
3
- type NftItemIconProps = {
4
- nftItem: NftItemMetadataEntity;
5
- };
6
- export declare const NftItemIcon: React.FC<NftItemIconProps>;
7
- export {};
8
- //# sourceMappingURL=NftItemIcon.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NftItemIcon.d.ts","sourceRoot":"","sources":["../../../../src/components/nftItem/NftItemIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,KAAK,gBAAgB,GAAG;IACtB,OAAO,EAAE,qBAAqB,CAAC;CAChC,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAMlD,CAAC"}
@@ -1,7 +0,0 @@
1
- import React from "react";
2
- import IpfsImage from "../ui/IpfsImage";
3
- import Video from "../ui/Video";
4
- export const NftItemIcon = ({ nftItem }) => {
5
- return nftItem.image ? (React.createElement(IpfsImage, { src: nftItem.image })) : nftItem.animationUrl ? (React.createElement(Video, { src: nftItem.animationUrl })) : null;
6
- };
7
- //# sourceMappingURL=NftItemIcon.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NftItemIcon.js","sourceRoot":"","sources":["../../../../src/components/nftItem/NftItemIcon.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,SAAS,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,MAAM,aAAa,CAAC;AAMhC,MAAM,CAAC,MAAM,WAAW,GAA+B,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;IACrE,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CACrB,oBAAC,SAAS,IAAC,GAAG,EAAE,OAAO,CAAC,KAAK,GAAI,CAClC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CACzB,oBAAC,KAAK,IAAC,GAAG,EAAE,OAAO,CAAC,YAAY,GAAI,CACrC,CAAC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC,CAAC"}
@@ -1,9 +0,0 @@
1
- import { CoreSDK } from "@bosonprotocol/core-sdk";
2
- export declare const useErc1155Uri: (props: {
3
- contractAddress: string | undefined;
4
- tokenIds: (string | null | undefined)[] | undefined;
5
- }, { enabled, coreSDK }: {
6
- enabled: boolean | undefined;
7
- coreSDK: CoreSDK;
8
- }) => import("react-query").UseQueryResult<(string | null)[] | undefined, unknown>;
9
- //# sourceMappingURL=useErc1155Uri.d.ts.map