@bosonprotocol/react-kit 0.36.0-alpha.17 → 0.36.0-alpha.2

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 (247) hide show
  1. package/dist/cjs/colors.d.ts +3 -5
  2. package/dist/cjs/colors.d.ts.map +1 -1
  3. package/dist/cjs/colors.js +3 -5
  4. package/dist/cjs/colors.js.map +1 -1
  5. package/dist/cjs/components/connection/index.d.ts.map +1 -1
  6. package/dist/cjs/components/connection/index.js +2 -4
  7. package/dist/cjs/components/connection/index.js.map +1 -1
  8. package/dist/cjs/components/form/Field.styles.d.ts +0 -1
  9. package/dist/cjs/components/form/Field.styles.d.ts.map +1 -1
  10. package/dist/cjs/components/form/Field.styles.js +5 -8
  11. package/dist/cjs/components/form/Field.styles.js.map +1 -1
  12. package/dist/cjs/components/form/Upload/BaseUpload.d.ts +0 -2
  13. package/dist/cjs/components/form/Upload/BaseUpload.d.ts.map +1 -1
  14. package/dist/cjs/components/image/Image.js +1 -1
  15. package/dist/cjs/components/image/Image.js.map +1 -1
  16. package/dist/cjs/components/image/Image.styles.d.ts +1 -1
  17. package/dist/cjs/components/image/Image.styles.d.ts.map +1 -1
  18. package/dist/cjs/components/image/Image.styles.js +2 -2
  19. package/dist/cjs/components/image/Image.styles.js.map +1 -1
  20. package/dist/cjs/components/modal/components/Redeem/RedeemNonModal.js +1 -2
  21. package/dist/cjs/components/modal/components/Redeem/RedeemNonModal.js.map +1 -1
  22. package/dist/cjs/components/modal/components/SellerFinance/FinanceWithdraw.js +1 -1
  23. package/dist/cjs/components/modal/components/SellerFinance/FinanceWithdraw.js.map +1 -1
  24. package/dist/cjs/components/modal/components/SellerFinance/FinancesStyles.d.ts.map +1 -1
  25. package/dist/cjs/components/modal/components/SellerFinance/FinancesStyles.js +8 -37
  26. package/dist/cjs/components/modal/components/SellerFinance/FinancesStyles.js.map +1 -1
  27. package/dist/cjs/components/ui/IpfsImage.d.ts.map +1 -1
  28. package/dist/cjs/components/ui/IpfsImage.js +31 -41
  29. package/dist/cjs/components/ui/IpfsImage.js.map +1 -1
  30. package/dist/cjs/components/ui/SvgImage.d.ts.map +1 -1
  31. package/dist/cjs/components/ui/SvgImage.js +1 -2
  32. package/dist/cjs/components/ui/SvgImage.js.map +1 -1
  33. package/dist/cjs/components/widgets/commit/CommitWidgetProviders.d.ts +2 -2
  34. package/dist/cjs/components/widgets/commit/CommitWidgetProviders.d.ts.map +1 -1
  35. package/dist/cjs/components/widgets/commit/CommitWidgetProviders.js +3 -3
  36. package/dist/cjs/components/widgets/commit/CommitWidgetProviders.js.map +1 -1
  37. package/dist/cjs/components/widgets/finance/FinanceWidgetProviders.d.ts +1 -3
  38. package/dist/cjs/components/widgets/finance/FinanceWidgetProviders.d.ts.map +1 -1
  39. package/dist/cjs/components/widgets/finance/FinanceWidgetProviders.js +12 -17
  40. package/dist/cjs/components/widgets/finance/FinanceWidgetProviders.js.map +1 -1
  41. package/dist/cjs/components/widgets/finance/useSellerRoles.d.ts +8 -1
  42. package/dist/cjs/components/widgets/finance/useSellerRoles.d.ts.map +1 -1
  43. package/dist/cjs/components/widgets/finance/useSellerRoles.js +25 -3
  44. package/dist/cjs/components/widgets/finance/useSellerRoles.js.map +1 -1
  45. package/dist/cjs/components/widgets/index.d.ts +0 -2
  46. package/dist/cjs/components/widgets/index.d.ts.map +1 -1
  47. package/dist/cjs/components/widgets/index.js +1 -4
  48. package/dist/cjs/components/widgets/index.js.map +1 -1
  49. package/dist/cjs/components/widgets/redemption/RedemptionWidgetProviders.d.ts +1 -3
  50. package/dist/cjs/components/widgets/redemption/RedemptionWidgetProviders.d.ts.map +1 -1
  51. package/dist/cjs/components/widgets/redemption/RedemptionWidgetProviders.js +17 -22
  52. package/dist/cjs/components/widgets/redemption/RedemptionWidgetProviders.js.map +1 -1
  53. package/dist/cjs/components/widgets/roblox/components/ConnectRoblox.d.ts.map +1 -1
  54. package/dist/cjs/components/widgets/roblox/components/ConnectRoblox.js +7 -11
  55. package/dist/cjs/components/widgets/roblox/components/ConnectRoblox.js.map +1 -1
  56. package/dist/cjs/components/widgets/roblox/components/LoginWithRoblox.d.ts.map +1 -1
  57. package/dist/cjs/components/widgets/roblox/components/LoginWithRoblox.js +1 -2
  58. package/dist/cjs/components/widgets/roblox/components/LoginWithRoblox.js.map +1 -1
  59. package/dist/cjs/components/widgets/roblox/components/RobloxExchangesGrid.d.ts.map +1 -1
  60. package/dist/cjs/components/widgets/roblox/components/RobloxExchangesGrid.js +1 -2
  61. package/dist/cjs/components/widgets/roblox/components/RobloxExchangesGrid.js.map +1 -1
  62. package/dist/cjs/hooks/connection/useSwitchChain.d.ts.map +1 -1
  63. package/dist/cjs/hooks/connection/useSwitchChain.js +1 -4
  64. package/dist/cjs/hooks/connection/useSwitchChain.js.map +1 -1
  65. package/dist/cjs/hooks/contracts/useBlockNumber.d.ts +5 -0
  66. package/dist/cjs/hooks/contracts/useBlockNumber.d.ts.map +1 -1
  67. package/dist/cjs/hooks/contracts/useBlockNumber.js +91 -4
  68. package/dist/cjs/hooks/contracts/useBlockNumber.js.map +1 -1
  69. package/dist/cjs/index.d.ts +0 -1
  70. package/dist/cjs/index.d.ts.map +1 -1
  71. package/dist/cjs/index.js +0 -1
  72. package/dist/cjs/index.js.map +1 -1
  73. package/dist/cjs/lib/chains/getNativeLogoURI.d.ts.map +1 -1
  74. package/dist/cjs/lib/chains/getNativeLogoURI.js +1 -2
  75. package/dist/cjs/lib/chains/getNativeLogoURI.js.map +1 -1
  76. package/dist/cjs/lib/config/config.d.ts +0 -1
  77. package/dist/cjs/lib/config/config.d.ts.map +1 -1
  78. package/dist/cjs/lib/const/chainInfo.d.ts.map +1 -1
  79. package/dist/cjs/lib/const/chainInfo.js +1 -33
  80. package/dist/cjs/lib/const/chainInfo.js.map +1 -1
  81. package/dist/cjs/lib/const/chains.d.ts +3 -6
  82. package/dist/cjs/lib/const/chains.d.ts.map +1 -1
  83. package/dist/cjs/lib/const/chains.js +10 -18
  84. package/dist/cjs/lib/const/chains.js.map +1 -1
  85. package/dist/cjs/lib/const/networks.d.ts +0 -2
  86. package/dist/cjs/lib/const/networks.d.ts.map +1 -1
  87. package/dist/cjs/lib/const/networks.js +3 -13
  88. package/dist/cjs/lib/const/networks.js.map +1 -1
  89. package/dist/cjs/lib/const/providers.d.ts +1 -1
  90. package/dist/cjs/lib/const/providers.d.ts.map +1 -1
  91. package/dist/cjs/lib/const/providers.js +1 -3
  92. package/dist/cjs/lib/const/providers.js.map +1 -1
  93. package/dist/cjs/lib/const/routing.d.ts.map +1 -1
  94. package/dist/cjs/lib/const/routing.js +0 -10
  95. package/dist/cjs/lib/const/routing.js.map +1 -1
  96. package/dist/cjs/lib/const/tokens.d.ts +3 -3
  97. package/dist/cjs/lib/const/tokens.d.ts.map +1 -1
  98. package/dist/cjs/lib/const/tokens.js +3 -5
  99. package/dist/cjs/lib/const/tokens.js.map +1 -1
  100. package/dist/cjs/lib/opensea/getOpenSeaUrl.d.ts.map +1 -1
  101. package/dist/cjs/lib/opensea/getOpenSeaUrl.js +0 -12
  102. package/dist/cjs/lib/opensea/getOpenSeaUrl.js.map +1 -1
  103. package/dist/esm/colors.d.ts +3 -5
  104. package/dist/esm/colors.d.ts.map +1 -1
  105. package/dist/esm/colors.js +3 -5
  106. package/dist/esm/colors.js.map +1 -1
  107. package/dist/esm/components/connection/index.d.ts.map +1 -1
  108. package/dist/esm/components/connection/index.js +2 -4
  109. package/dist/esm/components/connection/index.js.map +1 -1
  110. package/dist/esm/components/form/Field.styles.d.ts +0 -1
  111. package/dist/esm/components/form/Field.styles.d.ts.map +1 -1
  112. package/dist/esm/components/form/Field.styles.js +5 -7
  113. package/dist/esm/components/form/Field.styles.js.map +1 -1
  114. package/dist/esm/components/form/Upload/BaseUpload.d.ts +0 -2
  115. package/dist/esm/components/form/Upload/BaseUpload.d.ts.map +1 -1
  116. package/dist/esm/components/image/Image.js +2 -2
  117. package/dist/esm/components/image/Image.js.map +1 -1
  118. package/dist/esm/components/image/Image.styles.d.ts +1 -1
  119. package/dist/esm/components/image/Image.styles.d.ts.map +1 -1
  120. package/dist/esm/components/image/Image.styles.js +1 -1
  121. package/dist/esm/components/image/Image.styles.js.map +1 -1
  122. package/dist/esm/components/modal/components/Redeem/RedeemNonModal.js +1 -2
  123. package/dist/esm/components/modal/components/Redeem/RedeemNonModal.js.map +1 -1
  124. package/dist/esm/components/modal/components/SellerFinance/FinanceWithdraw.js +1 -1
  125. package/dist/esm/components/modal/components/SellerFinance/FinanceWithdraw.js.map +1 -1
  126. package/dist/esm/components/modal/components/SellerFinance/FinancesStyles.d.ts.map +1 -1
  127. package/dist/esm/components/modal/components/SellerFinance/FinancesStyles.js +5 -4
  128. package/dist/esm/components/modal/components/SellerFinance/FinancesStyles.js.map +1 -1
  129. package/dist/esm/components/ui/IpfsImage.d.ts.map +1 -1
  130. package/dist/esm/components/ui/IpfsImage.js +31 -41
  131. package/dist/esm/components/ui/IpfsImage.js.map +1 -1
  132. package/dist/esm/components/ui/SvgImage.d.ts.map +1 -1
  133. package/dist/esm/components/ui/SvgImage.js +1 -2
  134. package/dist/esm/components/ui/SvgImage.js.map +1 -1
  135. package/dist/esm/components/widgets/commit/CommitWidgetProviders.d.ts +2 -2
  136. package/dist/esm/components/widgets/commit/CommitWidgetProviders.d.ts.map +1 -1
  137. package/dist/esm/components/widgets/commit/CommitWidgetProviders.js +2 -2
  138. package/dist/esm/components/widgets/commit/CommitWidgetProviders.js.map +1 -1
  139. package/dist/esm/components/widgets/finance/FinanceWidgetProviders.d.ts +1 -3
  140. package/dist/esm/components/widgets/finance/FinanceWidgetProviders.d.ts.map +1 -1
  141. package/dist/esm/components/widgets/finance/FinanceWidgetProviders.js +12 -17
  142. package/dist/esm/components/widgets/finance/FinanceWidgetProviders.js.map +1 -1
  143. package/dist/esm/components/widgets/finance/useSellerRoles.d.ts +8 -1
  144. package/dist/esm/components/widgets/finance/useSellerRoles.d.ts.map +1 -1
  145. package/dist/esm/components/widgets/finance/useSellerRoles.js +24 -3
  146. package/dist/esm/components/widgets/finance/useSellerRoles.js.map +1 -1
  147. package/dist/esm/components/widgets/index.d.ts +0 -2
  148. package/dist/esm/components/widgets/index.d.ts.map +1 -1
  149. package/dist/esm/components/widgets/index.js +0 -2
  150. package/dist/esm/components/widgets/index.js.map +1 -1
  151. package/dist/esm/components/widgets/redemption/RedemptionWidgetProviders.d.ts +1 -3
  152. package/dist/esm/components/widgets/redemption/RedemptionWidgetProviders.d.ts.map +1 -1
  153. package/dist/esm/components/widgets/redemption/RedemptionWidgetProviders.js +17 -22
  154. package/dist/esm/components/widgets/redemption/RedemptionWidgetProviders.js.map +1 -1
  155. package/dist/esm/components/widgets/roblox/components/ConnectRoblox.d.ts.map +1 -1
  156. package/dist/esm/components/widgets/roblox/components/ConnectRoblox.js +7 -11
  157. package/dist/esm/components/widgets/roblox/components/ConnectRoblox.js.map +1 -1
  158. package/dist/esm/components/widgets/roblox/components/LoginWithRoblox.d.ts.map +1 -1
  159. package/dist/esm/components/widgets/roblox/components/LoginWithRoblox.js +1 -2
  160. package/dist/esm/components/widgets/roblox/components/LoginWithRoblox.js.map +1 -1
  161. package/dist/esm/components/widgets/roblox/components/RobloxExchangesGrid.d.ts.map +1 -1
  162. package/dist/esm/components/widgets/roblox/components/RobloxExchangesGrid.js +1 -2
  163. package/dist/esm/components/widgets/roblox/components/RobloxExchangesGrid.js.map +1 -1
  164. package/dist/esm/hooks/connection/useSwitchChain.d.ts.map +1 -1
  165. package/dist/esm/hooks/connection/useSwitchChain.js +2 -5
  166. package/dist/esm/hooks/connection/useSwitchChain.js.map +1 -1
  167. package/dist/esm/hooks/contracts/useBlockNumber.d.ts +5 -0
  168. package/dist/esm/hooks/contracts/useBlockNumber.d.ts.map +1 -1
  169. package/dist/esm/hooks/contracts/useBlockNumber.js +85 -2
  170. package/dist/esm/hooks/contracts/useBlockNumber.js.map +1 -1
  171. package/dist/esm/index.d.ts +0 -1
  172. package/dist/esm/index.d.ts.map +1 -1
  173. package/dist/esm/index.js +0 -1
  174. package/dist/esm/index.js.map +1 -1
  175. package/dist/esm/lib/chains/getNativeLogoURI.d.ts.map +1 -1
  176. package/dist/esm/lib/chains/getNativeLogoURI.js +1 -2
  177. package/dist/esm/lib/chains/getNativeLogoURI.js.map +1 -1
  178. package/dist/esm/lib/config/config.d.ts +0 -1
  179. package/dist/esm/lib/config/config.d.ts.map +1 -1
  180. package/dist/esm/lib/const/chainInfo.d.ts.map +1 -1
  181. package/dist/esm/lib/const/chainInfo.js +2 -34
  182. package/dist/esm/lib/const/chainInfo.js.map +1 -1
  183. package/dist/esm/lib/const/chains.d.ts +3 -6
  184. package/dist/esm/lib/const/chains.d.ts.map +1 -1
  185. package/dist/esm/lib/const/chains.js +9 -17
  186. package/dist/esm/lib/const/chains.js.map +1 -1
  187. package/dist/esm/lib/const/networks.d.ts +0 -2
  188. package/dist/esm/lib/const/networks.d.ts.map +1 -1
  189. package/dist/esm/lib/const/networks.js +3 -13
  190. package/dist/esm/lib/const/networks.js.map +1 -1
  191. package/dist/esm/lib/const/providers.d.ts +1 -1
  192. package/dist/esm/lib/const/providers.d.ts.map +1 -1
  193. package/dist/esm/lib/const/providers.js +2 -4
  194. package/dist/esm/lib/const/providers.js.map +1 -1
  195. package/dist/esm/lib/const/routing.d.ts.map +1 -1
  196. package/dist/esm/lib/const/routing.js +1 -11
  197. package/dist/esm/lib/const/routing.js.map +1 -1
  198. package/dist/esm/lib/const/tokens.d.ts +3 -3
  199. package/dist/esm/lib/const/tokens.d.ts.map +1 -1
  200. package/dist/esm/lib/const/tokens.js +2 -5
  201. package/dist/esm/lib/const/tokens.js.map +1 -1
  202. package/dist/esm/lib/opensea/getOpenSeaUrl.d.ts.map +1 -1
  203. package/dist/esm/lib/opensea/getOpenSeaUrl.js +0 -12
  204. package/dist/esm/lib/opensea/getOpenSeaUrl.js.map +1 -1
  205. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  206. package/package.json +4 -4
  207. package/src/colors.ts +3 -5
  208. package/src/components/connection/index.ts +2 -4
  209. package/src/components/form/Field.styles.ts +5 -8
  210. package/src/components/image/Image.styles.ts +1 -1
  211. package/src/components/image/Image.tsx +2 -2
  212. package/src/components/modal/components/Redeem/RedeemNonModal.tsx +1 -2
  213. package/src/components/modal/components/SellerFinance/FinanceWithdraw.tsx +1 -1
  214. package/src/components/modal/components/SellerFinance/FinancesStyles.tsx +5 -4
  215. package/src/components/ui/IpfsImage.tsx +53 -58
  216. package/src/components/ui/SvgImage.tsx +1 -3
  217. package/src/components/widgets/commit/CommitWidgetProviders.tsx +5 -5
  218. package/src/components/widgets/finance/FinanceWidgetProviders.tsx +28 -44
  219. package/src/components/widgets/finance/useSellerRoles.ts +38 -4
  220. package/src/components/widgets/index.tsx +0 -2
  221. package/src/components/widgets/redemption/RedemptionWidgetProviders.tsx +40 -56
  222. package/src/components/widgets/roblox/components/ConnectRoblox.tsx +8 -21
  223. package/src/components/widgets/roblox/components/LoginWithRoblox.tsx +1 -2
  224. package/src/components/widgets/roblox/components/RobloxExchangesGrid.tsx +1 -2
  225. package/src/hooks/connection/useSwitchChain.ts +2 -10
  226. package/src/hooks/contracts/useBlockNumber.tsx +127 -2
  227. package/src/index.tsx +0 -1
  228. package/src/lib/chains/getNativeLogoURI.ts +1 -2
  229. package/src/lib/const/chainInfo.ts +2 -40
  230. package/src/lib/const/chains.ts +4 -12
  231. package/src/lib/const/networks.ts +3 -13
  232. package/src/lib/const/providers.ts +3 -10
  233. package/src/lib/const/routing.ts +1 -12
  234. package/src/lib/const/tokens.ts +7 -24
  235. package/src/lib/opensea/getOpenSeaUrl.ts +0 -15
  236. package/src/stories/ConnectWallet.stories.tsx +6 -3
  237. package/src/stories/buttons/Upload.stories.tsx +1 -8
  238. package/src/stories/widgets/Roblox.stories.tsx +1 -1
  239. package/dist/cjs/hooks/contracts/BlockNumberProvider.d.ts +0 -12
  240. package/dist/cjs/hooks/contracts/BlockNumberProvider.d.ts.map +0 -1
  241. package/dist/cjs/hooks/contracts/BlockNumberProvider.js +0 -93
  242. package/dist/cjs/hooks/contracts/BlockNumberProvider.js.map +0 -1
  243. package/dist/esm/hooks/contracts/BlockNumberProvider.d.ts +0 -12
  244. package/dist/esm/hooks/contracts/BlockNumberProvider.d.ts.map +0 -1
  245. package/dist/esm/hooks/contracts/BlockNumberProvider.js +0 -86
  246. package/dist/esm/hooks/contracts/BlockNumberProvider.js.map +0 -1
  247. package/src/hooks/contracts/BlockNumberProvider.tsx +0 -126
@@ -17,7 +17,8 @@ import { zIndex } from "./zIndex";
17
17
 
18
18
  type LoadingStatus = "loading" | "success" | "error";
19
19
 
20
- const ImageWrapper = styled.div`
20
+ const ImageWrapper = styled.div<{ $hide?: boolean }>`
21
+ display: ${({ $hide }) => ($hide ? "none !important" : undefined)};
21
22
  overflow: hidden;
22
23
  position: relative;
23
24
  z-index: ${zIndex.OfferCard};
@@ -51,25 +52,17 @@ const ImageContainer = styled.img`
51
52
  object-fit: cover;
52
53
  `;
53
54
 
54
- const Overlay = styled.div<{ $visible: boolean }>`
55
- display: ${({ $visible }) => ($visible ? "flex" : "none")};
55
+ const ImagePlaceholder = styled.div`
56
56
  position: absolute;
57
57
  top: 0;
58
- left: 0;
59
- width: 100%;
60
58
  height: 100%;
59
+ width: 100%;
61
60
  background-color: ${colors.greyDark};
62
- flex-direction: column;
63
- justify-content: center;
64
- align-items: center;
65
- z-index: 1;
66
- `;
67
-
68
- const ImagePlaceholder = styled.div`
69
61
  display: flex;
70
62
  flex-direction: column;
71
63
  justify-content: center;
72
64
  align-items: center;
65
+
73
66
  span {
74
67
  ${buttonText}
75
68
  font-size: inherit;
@@ -122,64 +115,33 @@ export const IpfsImage: React.FC<IpfsImageProps> = ({
122
115
  if (src === currentSrc) {
123
116
  return;
124
117
  }
125
- setStatus((status) =>
126
- status === "success" ? "success" : withLoading ? "loading" : "success"
127
- );
118
+ // reset all if src changes
119
+ setStatus(withLoading ? "loading" : "success");
128
120
  setCurrentSrc(
129
121
  getImageUrl(src, overrides?.ipfsGateway || ipfsGateway, optimizationOpts)
130
122
  );
131
123
  setDidOriginalSrcFail(false);
132
- }, [
133
- src,
134
- overrides?.ipfsGateway,
135
- ipfsGateway,
136
- optimizationOpts,
137
- currentSrc,
138
- withLoading
139
- ]);
140
-
124
+ // eslint-disable-next-line react-hooks/exhaustive-deps
125
+ }, [src]);
141
126
  const isError = status === "error";
142
127
  const isLoading = status === "loading";
143
128
  const isSuccess = status === "success";
144
129
 
145
130
  return (
146
- <ImageWrapper {...rest} className={rest.className}>
147
- <ImageContainer
148
- data-testid={dataTestId}
149
- src={currentSrc}
150
- alt={alt}
151
- onLoad={() => handleSetStatus("success")}
152
- onError={() => {
153
- if (didOriginalSrcFail) {
154
- handleSetStatus("error");
155
- } else {
156
- setDidOriginalSrcFail(true);
157
- const fallbackUrl = getFallbackImageUrl(
158
- src,
159
- ipfsGateway,
160
- optimizationOpts
161
- );
162
- if (
163
- fallbackUrl.startsWith("unsafe:") ||
164
- fallbackUrl === currentSrc
165
- ) {
166
- handleSetStatus("error");
167
- } else {
168
- setCurrentSrc(fallbackUrl);
169
- }
170
- }
171
- }}
172
- />
173
- {children}
174
- <Overlay $visible={isLoading}>
131
+ <>
132
+ <ImageWrapper
133
+ {...rest}
134
+ $hide={!isLoading}
135
+ className={"loading-container " + rest.className}
136
+ >
175
137
  <ImagePlaceholder>
176
138
  <Typography tag="div">
177
139
  <Loading />
178
140
  </Typography>
179
141
  </ImagePlaceholder>
180
- </Overlay>
181
- <Overlay $visible={!isLoading && (isError || !isSuccess)}>
182
- <ImagePlaceholder>
142
+ </ImageWrapper>
143
+ <ImageWrapper {...rest} $hide={!isError}>
144
+ <ImagePlaceholder data-image-placeholder>
183
145
  {showPlaceholderText ? (
184
146
  <ImageIcon size={50} color={colors.white} />
185
147
  ) : (
@@ -189,7 +151,40 @@ export const IpfsImage: React.FC<IpfsImageProps> = ({
189
151
  <Typography tag="span">IMAGE NOT AVAILABLE</Typography>
190
152
  )}
191
153
  </ImagePlaceholder>
192
- </Overlay>
193
- </ImageWrapper>
154
+ </ImageWrapper>
155
+ <ImageWrapper
156
+ {...rest}
157
+ $hide={!isSuccess}
158
+ className={"image-container " + rest.className}
159
+ >
160
+ {children || ""}
161
+ <ImageContainer
162
+ data-testid={dataTestId}
163
+ src={currentSrc}
164
+ alt={alt}
165
+ onLoad={() => handleSetStatus("success")}
166
+ onError={() => {
167
+ if (didOriginalSrcFail) {
168
+ handleSetStatus("error");
169
+ } else {
170
+ setDidOriginalSrcFail(true);
171
+ const fallbackUrl = getFallbackImageUrl(
172
+ src,
173
+ ipfsGateway,
174
+ optimizationOpts
175
+ );
176
+ if (
177
+ fallbackUrl.startsWith("unsafe:") ||
178
+ fallbackUrl === currentSrc
179
+ ) {
180
+ handleSetStatus("error");
181
+ } else {
182
+ setCurrentSrc(fallbackUrl);
183
+ }
184
+ }
185
+ }}
186
+ />
187
+ </ImageWrapper>
188
+ </>
194
189
  );
195
190
  };
@@ -21,8 +21,6 @@ const SvgWrapper = styled.div`
21
21
 
22
22
  export const SvgImage: React.FC<SvgImageProps> = withQueryClientProvider(
23
23
  ({ src, ...rest }) => {
24
- const isStringWithSvg =
25
- !!src && typeof src === "string" && src.toLowerCase().startsWith("<svg");
26
24
  const { data: svgHtml, isLoading } = useQuery(
27
25
  [src],
28
26
  async () => {
@@ -39,7 +37,7 @@ export const SvgImage: React.FC<SvgImageProps> = withQueryClientProvider(
39
37
  return svgText;
40
38
  },
41
39
  {
42
- enabled: isStringWithSvg,
40
+ enabled: typeof src === "string",
43
41
  staleTime: Infinity
44
42
  }
45
43
  );
@@ -20,7 +20,7 @@ import ConvertionRateProvider, {
20
20
  ConvertionRateProviderProps
21
21
  } from "../finance/convertion-rate/ConvertionRateProvider";
22
22
  import { Web3Provider, Web3ProviderProps } from "../../wallet2/web3Provider";
23
- import { BlockNumberProvider } from "../../../hooks/contracts/BlockNumberProvider";
23
+ import { BlockNumberProvider } from "../../../hooks/contracts/useBlockNumber";
24
24
  import {
25
25
  RedemptionProvider,
26
26
  RedemptionProviderProps
@@ -35,14 +35,14 @@ import { RobloxProvider } from "../../../hooks/roblox/context/RobloxProvider";
35
35
 
36
36
  export type CommitWidgetProvidersProps = IpfsProviderProps &
37
37
  Omit<ConfigProviderProps, "magicLinkKey" | "infuraKey"> &
38
- Partial<BosonThemeProviderProps> &
38
+ BosonThemeProviderProps &
39
39
  RedemptionProviderProps &
40
40
  ConvertionRateProviderProps &
41
41
  Omit<Web3ProviderProps, "infuraKey"> &
42
42
  BosonProviderProps &
43
43
  WithReduxProviderProps & {
44
44
  children: ReactNode;
45
- withGlobalStyle?: boolean;
45
+ withGlobalStyle: boolean;
46
46
  };
47
47
 
48
48
  const { infuraKey, magicLinkKey } = CONFIG;
@@ -78,8 +78,8 @@ export const CommitWidgetProviders: React.FC<CommitWidgetProvidersProps> =
78
78
 
79
79
  return (
80
80
  <BosonThemeProvider
81
- theme={props.theme || storyBookThemeKey || "light"}
82
- roundness={props.roundness || "min"}
81
+ theme={props.theme || storyBookThemeKey}
82
+ roundness={props.roundness}
83
83
  >
84
84
  {withGlobalStyle && <GlobalStyledThemed />}
85
85
  <WithReduxProvider
@@ -8,6 +8,7 @@ import {
8
8
  import { ModalProvider } from "../../modal/ModalProvider";
9
9
  import { withQueryClientProvider } from "../../queryClient/withQueryClientProvider";
10
10
  import { SignerProvider } from "../../signer/SignerProvider";
11
+ import GlobalStyle from "../../styles/GlobalStyle";
11
12
  import { WithReduxProvider, WithReduxProviderProps } from "../ReduxProvider";
12
13
  import { getParentWindowOrigin } from "../common";
13
14
  import { CommonWidgetTypes } from "../types";
@@ -16,68 +17,51 @@ import ConvertionRateProvider, {
16
17
  } from "./convertion-rate/ConvertionRateProvider";
17
18
  import { BosonProvider, BosonProviderProps } from "../../boson/BosonProvider";
18
19
  import { Web3Provider, Web3ProviderProps } from "../../wallet2/web3Provider";
19
- import { BlockNumberProvider } from "../../../hooks/contracts/BlockNumberProvider";
20
- import {
21
- BosonThemeProvider,
22
- BosonThemeProviderProps,
23
- useBosonTheme
24
- } from "../BosonThemeProvider";
25
- import { GlobalStyledThemed } from "../../styles/GlobalStyledThemed";
20
+ import { BlockNumberProvider } from "../../../hooks/contracts/useBlockNumber";
26
21
 
27
22
  export type FinanceWidgetProvidersProps = Omit<
28
23
  ConfigProviderProps,
29
24
  "magicLinkKey" | "infuraKey"
30
25
  > &
31
26
  Omit<Web3ProviderProps, "infuraKey"> &
32
- Partial<BosonThemeProviderProps> &
33
27
  CommonWidgetTypes &
34
28
  ConvertionRateProviderProps &
35
29
  BosonProviderProps &
36
30
  WithReduxProviderProps & {
37
31
  children: ReactNode;
38
- withGlobalStyle?: boolean;
39
32
  };
40
33
 
41
34
  const { infuraKey, magicLinkKey } = CONFIG;
42
35
 
43
36
  export const FinanceWidgetProviders: React.FC<FinanceWidgetProvidersProps> =
44
- withQueryClientProvider(({ children, withGlobalStyle, ...props }) => {
37
+ withQueryClientProvider(({ children, ...props }) => {
45
38
  const parentOrigin = getParentWindowOrigin();
46
- const { themeKey: storyBookThemeKey } =
47
- useBosonTheme({
48
- throwOnError: false
49
- }) || {};
50
39
  return (
51
- <BosonThemeProvider
52
- theme={props.theme || storyBookThemeKey || "light"}
53
- roundness={props.roundness || "min"}
40
+ <WithReduxProvider
41
+ withCustomReduxContext={props.withCustomReduxContext}
42
+ withReduxProvider={props.withReduxProvider}
54
43
  >
55
- {withGlobalStyle && <GlobalStyledThemed />}
56
- <WithReduxProvider
57
- withCustomReduxContext={props.withCustomReduxContext}
58
- withReduxProvider={props.withReduxProvider}
59
- >
60
- <Web3Provider {...props} infuraKey={infuraKey}>
61
- <ConfigProvider
62
- magicLinkKey={magicLinkKey}
63
- infuraKey={infuraKey}
64
- {...props}
65
- >
66
- <BlockNumberProvider>
67
- <BosonProvider {...props}>
68
- <SignerProvider
69
- parentOrigin={parentOrigin}
70
- withExternalSigner={props.withExternalSigner}
71
- >
72
- <ConvertionRateProvider>
73
- <ModalProvider>{children}</ModalProvider>
74
- </ConvertionRateProvider>
75
- </SignerProvider>
76
- </BosonProvider>
77
- </BlockNumberProvider>
78
- </ConfigProvider>
79
- </Web3Provider>
80
- </WithReduxProvider>
81
- </BosonThemeProvider>
44
+ <Web3Provider {...props} infuraKey={infuraKey}>
45
+ <ConfigProvider
46
+ magicLinkKey={magicLinkKey}
47
+ infuraKey={infuraKey}
48
+ {...props}
49
+ >
50
+ <BlockNumberProvider>
51
+ <BosonProvider {...props}>
52
+ <GlobalStyle />
53
+ <SignerProvider
54
+ parentOrigin={parentOrigin}
55
+ withExternalSigner={props.withExternalSigner}
56
+ >
57
+ <ConvertionRateProvider>
58
+ <ModalProvider>{children}</ModalProvider>
59
+ </ConvertionRateProvider>
60
+ </SignerProvider>
61
+ </BosonProvider>
62
+ </BlockNumberProvider>
63
+ </ConfigProvider>
64
+ </Web3Provider>
65
+ </WithReduxProvider>
82
66
  );
83
67
  });
@@ -1,6 +1,8 @@
1
+ import { gql } from "graphql-request";
1
2
  import { useMemo } from "react";
2
3
  import { useQuery } from "react-query";
3
4
  import { useCoreSDKWithContext } from "../../../hooks/core-sdk/useCoreSdkWithContext";
5
+ import { fetchSubgraph } from "../../../lib/subgraph/subgraph";
4
6
  import { useAccount } from "../../../hooks/connection/connection";
5
7
 
6
8
  function lowerCase(str: string | undefined) {
@@ -17,12 +19,44 @@ export interface SellerRolesProps {
17
19
  export function useSellerRoles(id: string) {
18
20
  const { address } = useAccount();
19
21
  const coreSDK = useCoreSDKWithContext();
22
+
20
23
  const { data } = useQuery(
21
- ["seller-roles", id, coreSDK.uuid],
24
+ ["seller-roles", { id }],
22
25
  async () => {
23
- const seller = await coreSDK.getSellerById(id);
24
-
25
- return seller ?? null;
26
+ const result = await fetchSubgraph<{
27
+ sellers: {
28
+ id: string;
29
+ admin: string;
30
+ clerk: string;
31
+ assistant: string;
32
+ treasury: string;
33
+ active: boolean;
34
+ }[];
35
+ }>(
36
+ coreSDK.subgraphUrl,
37
+ gql`
38
+ query GetSellerByID(
39
+ $id: String
40
+ ) {
41
+ sellers(
42
+ where: {
43
+ ${id ? `id: "${id}"` : ""}
44
+ }
45
+ ) {
46
+ id
47
+ admin
48
+ active
49
+ clerk
50
+ assistant
51
+ treasury
52
+ }
53
+ }
54
+ `,
55
+ {
56
+ id
57
+ }
58
+ );
59
+ return result?.sellers[0] ?? null;
26
60
  },
27
61
  {
28
62
  enabled: !!id
@@ -1,6 +1,4 @@
1
1
  export * from "./BosonThemeProvider";
2
- export * from "./ReduxProvider";
3
- export { BlockNumberProvider } from "../../hooks/contracts/BlockNumberProvider";
4
2
  export { RedemptionWidgetAction } from "./redemption/provider/RedemptionWidgetContext";
5
3
 
6
4
  export * from "./finance/FinanceWidget";
@@ -9,6 +9,7 @@ import { IpfsProvider, IpfsProviderProps } from "../../ipfs/IpfsProvider";
9
9
  import { ModalProvider } from "../../modal/ModalProvider";
10
10
  import { withQueryClientProvider } from "../../queryClient/withQueryClientProvider";
11
11
  import { SignerProvider } from "../../signer/SignerProvider";
12
+ import GlobalStyle from "../../styles/GlobalStyle";
12
13
  import { WithReduxProvider, WithReduxProviderProps } from "../ReduxProvider";
13
14
  import { getParentWindowOrigin } from "../common";
14
15
  import ConvertionRateProvider, {
@@ -25,19 +26,12 @@ import {
25
26
  } from "./provider/RedemptionWidgetProvider";
26
27
  import { BosonProvider, BosonProviderProps } from "../../boson/BosonProvider";
27
28
  import { Web3Provider, Web3ProviderProps } from "../../wallet2/web3Provider";
28
- import { BlockNumberProvider } from "../../../hooks/contracts/BlockNumberProvider";
29
+ import { BlockNumberProvider } from "../../../hooks/contracts/useBlockNumber";
29
30
  import { RobloxProvider } from "../../../hooks/roblox/context/RobloxProvider";
30
- import {
31
- BosonThemeProvider,
32
- BosonThemeProviderProps,
33
- useBosonTheme
34
- } from "../BosonThemeProvider";
35
- import { GlobalStyledThemed } from "../../styles/GlobalStyledThemed";
36
31
 
37
32
  export type RedemptionWidgetProvidersProps = IpfsProviderProps &
38
33
  Omit<ConfigProviderProps, "magicLinkKey" | "infuraKey"> &
39
34
  RedemptionProviderProps &
40
- Partial<BosonThemeProviderProps> &
41
35
  Omit<RedemptionWidgetProviderProps, "setWidgetAction"> &
42
36
  ConvertionRateProviderProps &
43
37
  CommonWidgetTypes &
@@ -47,61 +41,51 @@ export type RedemptionWidgetProvidersProps = IpfsProviderProps &
47
41
  signatures?: string[] | undefined | null;
48
42
  } & {
49
43
  children: ReactNode;
50
- withGlobalStyle?: boolean;
51
44
  };
52
45
 
53
46
  const { infuraKey, magicLinkKey } = CONFIG;
54
47
 
55
48
  export const RedemptionWidgetProviders: React.FC<RedemptionWidgetProvidersProps> =
56
- withQueryClientProvider(({ children, withGlobalStyle, ...props }) => {
49
+ withQueryClientProvider(({ children, ...props }) => {
57
50
  const parentOrigin = getParentWindowOrigin();
58
- const { themeKey: storyBookThemeKey } =
59
- useBosonTheme({
60
- throwOnError: false
61
- }) || {};
62
51
  return (
63
- <BosonThemeProvider
64
- theme={props.theme || storyBookThemeKey || "light"}
65
- roundness={props.roundness || "min"}
52
+ <WithReduxProvider
53
+ withCustomReduxContext={props.withCustomReduxContext}
54
+ withReduxProvider={props.withReduxProvider}
66
55
  >
67
- {withGlobalStyle && <GlobalStyledThemed />}
68
- <WithReduxProvider
69
- withCustomReduxContext={props.withCustomReduxContext}
70
- withReduxProvider={props.withReduxProvider}
71
- >
72
- <Web3Provider {...props} infuraKey={infuraKey}>
73
- <ConfigProvider
74
- magicLinkKey={magicLinkKey}
75
- {...props}
76
- infuraKey={infuraKey}
77
- >
78
- <RobloxProvider>
79
- <BlockNumberProvider>
80
- <BosonProvider {...props}>
81
- <SignerProvider
82
- parentOrigin={parentOrigin}
83
- withExternalSigner={props.withExternalSigner}
84
- >
85
- <ChatProvider>
86
- <IpfsProvider {...props}>
87
- <ConvertionRateProvider>
88
- <ModalProvider>
89
- <RedemptionProvider {...props}>
90
- <RedemptionWidgetProvider {...props}>
91
- {children}
92
- </RedemptionWidgetProvider>
93
- </RedemptionProvider>
94
- </ModalProvider>
95
- </ConvertionRateProvider>
96
- </IpfsProvider>
97
- </ChatProvider>
98
- </SignerProvider>
99
- </BosonProvider>
100
- </BlockNumberProvider>
101
- </RobloxProvider>
102
- </ConfigProvider>
103
- </Web3Provider>
104
- </WithReduxProvider>
105
- </BosonThemeProvider>
56
+ <Web3Provider {...props} infuraKey={infuraKey}>
57
+ <ConfigProvider
58
+ magicLinkKey={magicLinkKey}
59
+ {...props}
60
+ infuraKey={infuraKey}
61
+ >
62
+ <RobloxProvider>
63
+ <BlockNumberProvider>
64
+ <BosonProvider {...props}>
65
+ <GlobalStyle />
66
+ <SignerProvider
67
+ parentOrigin={parentOrigin}
68
+ withExternalSigner={props.withExternalSigner}
69
+ >
70
+ <ChatProvider>
71
+ <IpfsProvider {...props}>
72
+ <ConvertionRateProvider>
73
+ <ModalProvider>
74
+ <RedemptionProvider {...props}>
75
+ <RedemptionWidgetProvider {...props}>
76
+ {children}
77
+ </RedemptionWidgetProvider>
78
+ </RedemptionProvider>
79
+ </ModalProvider>
80
+ </ConvertionRateProvider>
81
+ </IpfsProvider>
82
+ </ChatProvider>
83
+ </SignerProvider>
84
+ </BosonProvider>
85
+ </BlockNumberProvider>
86
+ </RobloxProvider>
87
+ </ConfigProvider>
88
+ </Web3Provider>
89
+ </WithReduxProvider>
106
90
  );
107
91
  });
@@ -88,20 +88,12 @@ const stepToIcon = {
88
88
  } as const;
89
89
 
90
90
  const breakpointHorizontal = breakpoint.xs;
91
- const breakpointForHook = "isXXS" satisfies keyof ReturnType<
92
- typeof useBreakpoints
93
- >;
94
91
 
95
- const StepsOverview = styled(Grid)<{ $hide: boolean }>`
92
+ const StepsOverview = styled(Grid)`
96
93
  padding: 1rem;
97
- ${({ $hide }) => {
98
- return (
99
- $hide &&
100
- css`
101
- display: none;
102
- `
103
- );
104
- }}
94
+ ${breakpointHorizontal} {
95
+ display: none;
96
+ }
105
97
  `;
106
98
  const Wrapper = styled(Grid).attrs({
107
99
  flexDirection: "column"
@@ -469,20 +461,15 @@ export const ConnectRoblox = forwardRef<HTMLDivElement, ConnectRobloxProps>(
469
461
  icon: stepToIcon[2]
470
462
  } satisfies Partial<SmallStepProps>;
471
463
  const [showFullSteps, setShowFullSteps] = useState<boolean>(false);
472
- const { [breakpointForHook]: breakpointToHideSmallSteps } =
473
- useBreakpoints();
464
+ const { isXS } = useBreakpoints();
474
465
  useEffect(() => {
475
- if (!breakpointToHideSmallSteps) {
466
+ if (!isXS) {
476
467
  setShowFullSteps(true);
477
468
  }
478
- }, [breakpointToHideSmallSteps]);
479
-
469
+ }, [isXS]);
480
470
  return (
481
471
  <Wrapper>
482
- <StepsOverview
483
- $hide={!breakpointToHideSmallSteps}
484
- className={`steps-overview ${breakpointToHideSmallSteps ? "" : "hidden"}`} // this is so that it can be targeted from widgets
485
- >
472
+ <StepsOverview>
486
473
  <SmallStep {...step0Props} title="Roblox" />
487
474
  <SmallStep {...step1Props} title="Account" />
488
475
  <SmallStep {...step2Props} title={step3.titleForMobile} />
@@ -35,8 +35,7 @@ export const LoginWithRoblox = ({
35
35
  <BaseButton
36
36
  theme={primaryButtonTheme}
37
37
  onClick={() => {
38
- const windowToUse = window.top || window.parent;
39
- windowToUse.open(`${backendOrigin}/login`, "_blank");
38
+ window.open(`${backendOrigin}/login`, "_blank");
40
39
  const id = setInterval(async () => {
41
40
  try {
42
41
  const { data } = await getIsRobloxLoggedInAsync();
@@ -216,8 +216,7 @@ export const RobloxExchangesGrid = ({
216
216
  )
217
217
  ? raiseDisputeForExchangeUrlWithId
218
218
  : `https://${raiseDisputeForExchangeUrlWithId}`;
219
- const windowToUse = window.top || window.parent;
220
- windowToUse.open(urlWithHttpPrefix, "_blank");
219
+ window.open(urlWithHttpPrefix, "_blank");
221
220
  }
222
221
  },
223
222
  type: "button"
@@ -5,12 +5,7 @@ import { useCallback } from "react";
5
5
  import { FALLBACK_URLS, getRpcUrls } from "../../lib/const/networks";
6
6
  import { useChainId } from "./connection";
7
7
  import { useAppDispatch } from "../../state/hooks";
8
- import {
9
- ChainId_BASE_SEPOLIA,
10
- ChainId_POLYGON_AMOY,
11
- SupportedChainsType,
12
- isSupportedChain
13
- } from "../../lib/const/chains";
8
+ import { SupportedChainsType, isSupportedChain } from "../../lib/const/chains";
14
9
  import {
15
10
  endSwitchingChain,
16
11
  startSwitchingChain
@@ -31,10 +26,7 @@ function getRpcUrl(
31
26
  case ChainId.MAINNET:
32
27
  case ChainId.GOERLI:
33
28
  case ChainId.SEPOLIA:
34
- case ChainId.POLYGON:
35
- case ChainId_POLYGON_AMOY:
36
- case ChainId.BASE:
37
- case ChainId_BASE_SEPOLIA: // BASE SEPOLIA
29
+ case 80002:
38
30
  return RPC_URLS[chainId][0];
39
31
  case localChainId: {
40
32
  if (localRpcUrl) {