@bosonprotocol/react-kit 0.36.0-alpha.18 → 0.36.0-alpha.3

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 (225) 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 +2 -2
  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 -2
  70. package/dist/cjs/index.d.ts.map +1 -1
  71. package/dist/cjs/index.js +0 -2
  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/const/chainInfo.d.ts.map +1 -1
  77. package/dist/cjs/lib/const/chainInfo.js +2 -2
  78. package/dist/cjs/lib/const/chainInfo.js.map +1 -1
  79. package/dist/cjs/lib/const/networks.d.ts.map +1 -1
  80. package/dist/cjs/lib/const/networks.js +6 -7
  81. package/dist/cjs/lib/const/networks.js.map +1 -1
  82. package/dist/cjs/lib/const/providers.d.ts +1 -1
  83. package/dist/cjs/lib/const/providers.d.ts.map +1 -1
  84. package/dist/cjs/lib/const/providers.js +1 -3
  85. package/dist/cjs/lib/const/providers.js.map +1 -1
  86. package/dist/cjs/lib/const/routing.d.ts.map +1 -1
  87. package/dist/cjs/lib/const/routing.js +0 -10
  88. package/dist/cjs/lib/const/routing.js.map +1 -1
  89. package/dist/cjs/lib/const/tokens.d.ts +3 -3
  90. package/dist/cjs/lib/const/tokens.d.ts.map +1 -1
  91. package/dist/cjs/lib/const/tokens.js +3 -5
  92. package/dist/cjs/lib/const/tokens.js.map +1 -1
  93. package/dist/esm/colors.d.ts +3 -5
  94. package/dist/esm/colors.d.ts.map +1 -1
  95. package/dist/esm/colors.js +3 -5
  96. package/dist/esm/colors.js.map +1 -1
  97. package/dist/esm/components/connection/index.d.ts.map +1 -1
  98. package/dist/esm/components/connection/index.js +2 -4
  99. package/dist/esm/components/connection/index.js.map +1 -1
  100. package/dist/esm/components/form/Field.styles.d.ts +0 -1
  101. package/dist/esm/components/form/Field.styles.d.ts.map +1 -1
  102. package/dist/esm/components/form/Field.styles.js +5 -7
  103. package/dist/esm/components/form/Field.styles.js.map +1 -1
  104. package/dist/esm/components/form/Upload/BaseUpload.d.ts +0 -2
  105. package/dist/esm/components/form/Upload/BaseUpload.d.ts.map +1 -1
  106. package/dist/esm/components/image/Image.js +2 -2
  107. package/dist/esm/components/image/Image.js.map +1 -1
  108. package/dist/esm/components/image/Image.styles.d.ts +1 -1
  109. package/dist/esm/components/image/Image.styles.d.ts.map +1 -1
  110. package/dist/esm/components/image/Image.styles.js +1 -1
  111. package/dist/esm/components/image/Image.styles.js.map +1 -1
  112. package/dist/esm/components/modal/components/Redeem/RedeemNonModal.js +1 -2
  113. package/dist/esm/components/modal/components/Redeem/RedeemNonModal.js.map +1 -1
  114. package/dist/esm/components/modal/components/SellerFinance/FinanceWithdraw.js +1 -1
  115. package/dist/esm/components/modal/components/SellerFinance/FinanceWithdraw.js.map +1 -1
  116. package/dist/esm/components/modal/components/SellerFinance/FinancesStyles.d.ts.map +1 -1
  117. package/dist/esm/components/modal/components/SellerFinance/FinancesStyles.js +5 -4
  118. package/dist/esm/components/modal/components/SellerFinance/FinancesStyles.js.map +1 -1
  119. package/dist/esm/components/ui/IpfsImage.d.ts.map +1 -1
  120. package/dist/esm/components/ui/IpfsImage.js +31 -41
  121. package/dist/esm/components/ui/IpfsImage.js.map +1 -1
  122. package/dist/esm/components/ui/SvgImage.d.ts.map +1 -1
  123. package/dist/esm/components/ui/SvgImage.js +1 -2
  124. package/dist/esm/components/ui/SvgImage.js.map +1 -1
  125. package/dist/esm/components/widgets/commit/CommitWidgetProviders.d.ts +2 -2
  126. package/dist/esm/components/widgets/commit/CommitWidgetProviders.d.ts.map +1 -1
  127. package/dist/esm/components/widgets/commit/CommitWidgetProviders.js +2 -2
  128. package/dist/esm/components/widgets/commit/CommitWidgetProviders.js.map +1 -1
  129. package/dist/esm/components/widgets/finance/FinanceWidgetProviders.d.ts +1 -3
  130. package/dist/esm/components/widgets/finance/FinanceWidgetProviders.d.ts.map +1 -1
  131. package/dist/esm/components/widgets/finance/FinanceWidgetProviders.js +12 -17
  132. package/dist/esm/components/widgets/finance/FinanceWidgetProviders.js.map +1 -1
  133. package/dist/esm/components/widgets/finance/useSellerRoles.d.ts +8 -1
  134. package/dist/esm/components/widgets/finance/useSellerRoles.d.ts.map +1 -1
  135. package/dist/esm/components/widgets/finance/useSellerRoles.js +24 -3
  136. package/dist/esm/components/widgets/finance/useSellerRoles.js.map +1 -1
  137. package/dist/esm/components/widgets/index.d.ts +0 -2
  138. package/dist/esm/components/widgets/index.d.ts.map +1 -1
  139. package/dist/esm/components/widgets/index.js +0 -2
  140. package/dist/esm/components/widgets/index.js.map +1 -1
  141. package/dist/esm/components/widgets/redemption/RedemptionWidgetProviders.d.ts +1 -3
  142. package/dist/esm/components/widgets/redemption/RedemptionWidgetProviders.d.ts.map +1 -1
  143. package/dist/esm/components/widgets/redemption/RedemptionWidgetProviders.js +17 -22
  144. package/dist/esm/components/widgets/redemption/RedemptionWidgetProviders.js.map +1 -1
  145. package/dist/esm/components/widgets/roblox/components/ConnectRoblox.d.ts.map +1 -1
  146. package/dist/esm/components/widgets/roblox/components/ConnectRoblox.js +7 -11
  147. package/dist/esm/components/widgets/roblox/components/ConnectRoblox.js.map +1 -1
  148. package/dist/esm/components/widgets/roblox/components/LoginWithRoblox.d.ts.map +1 -1
  149. package/dist/esm/components/widgets/roblox/components/LoginWithRoblox.js +1 -2
  150. package/dist/esm/components/widgets/roblox/components/LoginWithRoblox.js.map +1 -1
  151. package/dist/esm/components/widgets/roblox/components/RobloxExchangesGrid.d.ts.map +1 -1
  152. package/dist/esm/components/widgets/roblox/components/RobloxExchangesGrid.js +1 -2
  153. package/dist/esm/components/widgets/roblox/components/RobloxExchangesGrid.js.map +1 -1
  154. package/dist/esm/hooks/connection/useSwitchChain.d.ts.map +1 -1
  155. package/dist/esm/hooks/connection/useSwitchChain.js +3 -3
  156. package/dist/esm/hooks/connection/useSwitchChain.js.map +1 -1
  157. package/dist/esm/hooks/contracts/useBlockNumber.d.ts +5 -0
  158. package/dist/esm/hooks/contracts/useBlockNumber.d.ts.map +1 -1
  159. package/dist/esm/hooks/contracts/useBlockNumber.js +85 -2
  160. package/dist/esm/hooks/contracts/useBlockNumber.js.map +1 -1
  161. package/dist/esm/index.d.ts +0 -2
  162. package/dist/esm/index.d.ts.map +1 -1
  163. package/dist/esm/index.js +0 -2
  164. package/dist/esm/index.js.map +1 -1
  165. package/dist/esm/lib/chains/getNativeLogoURI.d.ts.map +1 -1
  166. package/dist/esm/lib/chains/getNativeLogoURI.js +1 -2
  167. package/dist/esm/lib/chains/getNativeLogoURI.js.map +1 -1
  168. package/dist/esm/lib/const/chainInfo.d.ts.map +1 -1
  169. package/dist/esm/lib/const/chainInfo.js +3 -3
  170. package/dist/esm/lib/const/chainInfo.js.map +1 -1
  171. package/dist/esm/lib/const/networks.d.ts.map +1 -1
  172. package/dist/esm/lib/const/networks.js +6 -7
  173. package/dist/esm/lib/const/networks.js.map +1 -1
  174. package/dist/esm/lib/const/providers.d.ts +1 -1
  175. package/dist/esm/lib/const/providers.d.ts.map +1 -1
  176. package/dist/esm/lib/const/providers.js +2 -4
  177. package/dist/esm/lib/const/providers.js.map +1 -1
  178. package/dist/esm/lib/const/routing.d.ts.map +1 -1
  179. package/dist/esm/lib/const/routing.js +1 -11
  180. package/dist/esm/lib/const/routing.js.map +1 -1
  181. package/dist/esm/lib/const/tokens.d.ts +3 -3
  182. package/dist/esm/lib/const/tokens.d.ts.map +1 -1
  183. package/dist/esm/lib/const/tokens.js +2 -5
  184. package/dist/esm/lib/const/tokens.js.map +1 -1
  185. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  186. package/package.json +4 -4
  187. package/src/colors.ts +3 -5
  188. package/src/components/connection/index.ts +2 -4
  189. package/src/components/form/Field.styles.ts +5 -8
  190. package/src/components/image/Image.styles.ts +1 -1
  191. package/src/components/image/Image.tsx +2 -2
  192. package/src/components/modal/components/Redeem/RedeemNonModal.tsx +1 -2
  193. package/src/components/modal/components/SellerFinance/FinanceWithdraw.tsx +1 -1
  194. package/src/components/modal/components/SellerFinance/FinancesStyles.tsx +5 -4
  195. package/src/components/ui/IpfsImage.tsx +53 -58
  196. package/src/components/ui/SvgImage.tsx +1 -3
  197. package/src/components/widgets/commit/CommitWidgetProviders.tsx +5 -5
  198. package/src/components/widgets/finance/FinanceWidgetProviders.tsx +28 -44
  199. package/src/components/widgets/finance/useSellerRoles.ts +38 -4
  200. package/src/components/widgets/index.tsx +0 -2
  201. package/src/components/widgets/redemption/RedemptionWidgetProviders.tsx +40 -56
  202. package/src/components/widgets/roblox/components/ConnectRoblox.tsx +8 -21
  203. package/src/components/widgets/roblox/components/LoginWithRoblox.tsx +1 -2
  204. package/src/components/widgets/roblox/components/RobloxExchangesGrid.tsx +1 -2
  205. package/src/hooks/connection/useSwitchChain.ts +3 -8
  206. package/src/hooks/contracts/useBlockNumber.tsx +127 -2
  207. package/src/index.tsx +0 -2
  208. package/src/lib/chains/getNativeLogoURI.ts +1 -2
  209. package/src/lib/const/chainInfo.ts +3 -9
  210. package/src/lib/const/networks.ts +6 -7
  211. package/src/lib/const/providers.ts +3 -10
  212. package/src/lib/const/routing.ts +1 -12
  213. package/src/lib/const/tokens.ts +7 -24
  214. package/src/stories/ConnectWallet.stories.tsx +6 -3
  215. package/src/stories/buttons/Upload.stories.tsx +1 -8
  216. package/src/stories/widgets/Roblox.stories.tsx +1 -1
  217. package/dist/cjs/hooks/contracts/BlockNumberProvider.d.ts +0 -12
  218. package/dist/cjs/hooks/contracts/BlockNumberProvider.d.ts.map +0 -1
  219. package/dist/cjs/hooks/contracts/BlockNumberProvider.js +0 -93
  220. package/dist/cjs/hooks/contracts/BlockNumberProvider.js.map +0 -1
  221. package/dist/esm/hooks/contracts/BlockNumberProvider.d.ts +0 -12
  222. package/dist/esm/hooks/contracts/BlockNumberProvider.d.ts.map +0 -1
  223. package/dist/esm/hooks/contracts/BlockNumberProvider.js +0 -86
  224. package/dist/esm/hooks/contracts/BlockNumberProvider.js.map +0 -1
  225. package/src/hooks/contracts/BlockNumberProvider.tsx +0 -126
@@ -317,8 +317,7 @@ function RedeemNonModal({
317
317
  const raiseDisputeForExchangeUrlWithId =
318
318
  raiseDisputeForExchangeUrl?.replace("{id}", exchangeId || "");
319
319
  if (raiseDisputeForExchangeUrlWithId) {
320
- const windowToUse = window.top || window.parent;
321
- windowToUse.open(raiseDisputeForExchangeUrlWithId, "_blank");
320
+ window.open(raiseDisputeForExchangeUrlWithId, "_blank");
322
321
  }
323
322
  };
324
323
  const onContractualAgreementClick = () => {
@@ -35,7 +35,7 @@ import {
35
35
  } from "./FinancesStyles";
36
36
 
37
37
  const MaxLimitWrapper = styled.div`
38
- color: ${colors.greyDark};
38
+ color: ${colors.greyLight};
39
39
  margin-top: 0.25rem;
40
40
  `;
41
41
 
@@ -1,4 +1,4 @@
1
- import styled, { css } from "styled-components";
1
+ import styled from "styled-components";
2
2
  import { colors } from "../../../../theme";
3
3
 
4
4
  import { Grid } from "../../../ui/Grid";
@@ -14,11 +14,11 @@ export const InputWrapper = styled(Grid)<{ $hasError?: boolean }>`
14
14
  margin-top: -1rem;
15
15
  padding: 1.125rem 1rem;
16
16
  max-height: 3.5rem;
17
- background: ${colors.greyLight};
17
+ background: ${colors.greyDark};
18
18
  ${({ $hasError }) =>
19
19
  $hasError &&
20
- css`
21
- border: 0.0625rem solid ${colors.red};
20
+ `
21
+ border: 0.0625rem solid ${colors.red};
22
22
  `}
23
23
  `;
24
24
 
@@ -32,6 +32,7 @@ export const Input = styled.input`
32
32
  font-size: 1rem;
33
33
  font-weight: 500;
34
34
  line-height: 1.5;
35
+ color: ${colors.white};
35
36
  &:focus {
36
37
  outline: none;
37
38
  }
@@ -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
@@ -32,9 +27,9 @@ function getRpcUrl(
32
27
  case ChainId.GOERLI:
33
28
  case ChainId.SEPOLIA:
34
29
  case ChainId.POLYGON:
35
- case ChainId_POLYGON_AMOY:
30
+ case 80002: // POLYGON AMOY
36
31
  case ChainId.BASE:
37
- case ChainId_BASE_SEPOLIA: // BASE SEPOLIA
32
+ case 84532: // BASE SEPOLIA
38
33
  return RPC_URLS[chainId][0];
39
34
  case localChainId: {
40
35
  if (localRpcUrl) {