From 7c9964351e2b7b784121c188e684f9764b0c4aab Mon Sep 17 00:00:00 2001 From: Albert Folch Date: Tue, 12 Dec 2023 17:26:55 +0100 Subject: [PATCH 1/2] feat: redemption widget without connecting wallet --- public/scripts/boson-widgets.js | 64 +++++++++++++--------- src/components/widgets/finance/Finance.tsx | 2 +- src/components/widgets/redeem/Redeem.tsx | 3 +- 3 files changed, 42 insertions(+), 27 deletions(-) diff --git a/public/scripts/boson-widgets.js b/public/scripts/boson-widgets.js index 0fabd99..45016d6 100644 --- a/public/scripts/boson-widgets.js +++ b/public/scripts/boson-widgets.js @@ -27,6 +27,7 @@ const constants = { postRedemptionConfirmedUrlTag: "data-post-redemption-confirmed-url", postRedemptionConfirmedHeadersTag: "data-post-redemption-confirmed-headers", accountTag: "data-account", + dataParentOrigin: "data-parent-origin", hideModalId: "boson-hide-modal", hideModalMessage: "boson-close-iframe", deliveryInfoMessage: "boson-delivery-info", @@ -108,7 +109,7 @@ window.addEventListener("message", (event) => { hideIFrame(); } }); -function bosonWidgetReload() { +function bosonWidgetReload(onLoadIframe) { const showFinanceEls = document.querySelectorAll( `[id^="${constants.showFinanceId}"]` ); @@ -169,27 +170,33 @@ function bosonWidgetReload() { showRedeemId.attributes[constants.dataWaitForResponse]?.value; const sendDeliveryInfoThroughXMTP = showRedeemId.attributes[constants.dataSendDeliveryInfoXMTP]?.value; + const parentOrigin = + showRedeemId.attributes[constants.dataParentOrigin]?.value; - bosonWidgetShowRedeem({ - exchangeId, - sellerId, - sellerIds, - exchangeState, - showRedemptionOverview, - widgetAction, - deliveryInfo, - postDeliveryInfoUrl, - postDeliveryInfoHeaders, - postRedemptionSubmittedUrl, - postRedemptionSubmittedHeaders, - postRedemptionConfirmedUrl, - postRedemptionConfirmedHeaders, - configId, - account, - targetOrigin, - shouldWaitForResponse, - sendDeliveryInfoThroughXMTP - }); + bosonWidgetShowRedeem( + { + exchangeId, + sellerId, + sellerIds, + exchangeState, + showRedemptionOverview, + widgetAction, + deliveryInfo, + postDeliveryInfoUrl, + postDeliveryInfoHeaders, + postRedemptionSubmittedUrl, + postRedemptionSubmittedHeaders, + postRedemptionConfirmedUrl, + postRedemptionConfirmedHeaders, + configId, + account, + targetOrigin, + shouldWaitForResponse, + sendDeliveryInfoThroughXMTP, + parentOrigin + }, + onLoadIframe + ); }; } const hideModalId = document.getElementById(constants.hideModalId); @@ -201,7 +208,7 @@ function bosonWidgetReload() { } bosonWidgetReload(); -function bosonWidgetShowRedeem(args) { +function bosonWidgetShowRedeem(args, onLoadIframe) { const paramsObject = toCleanedObject([ { tag: "exchangeId", value: args.exchangeId }, { tag: "sellerId", value: args.sellerId }, @@ -238,13 +245,20 @@ function bosonWidgetShowRedeem(args) { { tag: "sendDeliveryInfoThroughXMTP", value: args.sendDeliveryInfoThroughXMTP + }, + { + tag: "parentOrigin", + value: args.parentOrigin } ]); showLoading(); hideIFrame(); - createIFrame(constants.redeemUrl(widgetsHost, paramsObject), () => - hideLoading() - ); + createIFrame(constants.redeemUrl(widgetsHost, paramsObject), function (ev) { + hideLoading(); + if (onLoadIframe && typeof onLoadIframe === "function") { + onLoadIframe({ iframe: this, ev }); + } + }); } function bosonWidgetShowFinance(args) { diff --git a/src/components/widgets/finance/Finance.tsx b/src/components/widgets/finance/Finance.tsx index d3d891e..1b3d570 100644 --- a/src/components/widgets/finance/Finance.tsx +++ b/src/components/widgets/finance/Finance.tsx @@ -21,7 +21,7 @@ export function Finance() { return ( Date: Tue, 12 Dec 2023 18:04:57 +0100 Subject: [PATCH 2/2] chore: upgrade react-kit --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index e35b0bb..a194d7c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,7 @@ "name": "widgets", "version": "0.1.0", "dependencies": { - "@bosonprotocol/react-kit": "^0.23.1", + "@bosonprotocol/react-kit": "^0.24.0-alpha.0", "@testing-library/jest-dom": "^5.16.5", "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^13.5.0", @@ -2229,9 +2229,9 @@ } }, "node_modules/@bosonprotocol/react-kit": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@bosonprotocol/react-kit/-/react-kit-0.23.1.tgz", - "integrity": "sha512-+Uivul6rJZtkKlaX+rxbmWIPFYGC/E2cKafSlq5LdJQrSYyaHqhBZ48cisl2oEIGgbozvGXTyhtN7ZnJXgeOGg==", + "version": "0.24.0-alpha.0", + "resolved": "https://registry.npmjs.org/@bosonprotocol/react-kit/-/react-kit-0.24.0-alpha.0.tgz", + "integrity": "sha512-P1pjjyYnusYDreQ4qWmAiN4wxBxGDL2qoCp7PF3zX3PwcImCmsQ+4IyUCs2wlNIGl233T0itOMfyBwqSBOS+Kg==", "dependencies": { "@bosonprotocol/chat-sdk": "^1.3.1-alpha.9", "@bosonprotocol/core-sdk": "^1.33.0", @@ -31185,9 +31185,9 @@ } }, "@bosonprotocol/react-kit": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@bosonprotocol/react-kit/-/react-kit-0.23.1.tgz", - "integrity": "sha512-+Uivul6rJZtkKlaX+rxbmWIPFYGC/E2cKafSlq5LdJQrSYyaHqhBZ48cisl2oEIGgbozvGXTyhtN7ZnJXgeOGg==", + "version": "0.24.0-alpha.0", + "resolved": "https://registry.npmjs.org/@bosonprotocol/react-kit/-/react-kit-0.24.0-alpha.0.tgz", + "integrity": "sha512-P1pjjyYnusYDreQ4qWmAiN4wxBxGDL2qoCp7PF3zX3PwcImCmsQ+4IyUCs2wlNIGl233T0itOMfyBwqSBOS+Kg==", "requires": { "@bosonprotocol/chat-sdk": "^1.3.1-alpha.9", "@bosonprotocol/core-sdk": "^1.33.0", diff --git a/package.json b/package.json index 6abc440..a12260c 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "version": "0.1.0", "private": true, "dependencies": { - "@bosonprotocol/react-kit": "^0.23.1", + "@bosonprotocol/react-kit": "^0.24.0-alpha.0", "@testing-library/jest-dom": "^5.16.5", "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^13.5.0",