From 9c351d10c80a661a8deb395affa8b1c15bf377be Mon Sep 17 00:00:00 2001 From: Adam Carpenter Date: Thu, 2 Feb 2023 09:36:49 -0700 Subject: [PATCH 1/8] Add handling of url err for iframe --- .../src/lib/components/ThemeCustomizer.svelte | 40 ++++++++++++++----- 1 file changed, 31 insertions(+), 9 deletions(-) diff --git a/docs/src/lib/components/ThemeCustomizer.svelte b/docs/src/lib/components/ThemeCustomizer.svelte index 96915f103..85ea842df 100644 --- a/docs/src/lib/components/ThemeCustomizer.svelte +++ b/docs/src/lib/components/ThemeCustomizer.svelte @@ -30,23 +30,45 @@ const addURLToIFrame = () => { if (!webURL || !isValidUrl(webURL)) { - alert('Invaled URL entered') + alert('Invalid URL entered') return } - iframeUsed = true - document.querySelector('#iframe_underlay').setAttribute('src', webURL) - hideDirections = true - onboard.connectWallet() + let iframeErr = false + let img = new Image() + img.onerror = () => { + alert( + 'The website entered cannot be displayed within an iframe. Please try a different URL. See the browser console for more information.' + ) + hideDirections = false + iframeErr = true + document.querySelector('#iframe_underlay').setAttribute('src', '') + closeOnboard() + return + } + img.src = webURL + setTimeout(() => { + if (!iframeErr) { + iframeUsed = true + document.querySelector('#iframe_underlay').setAttribute('src', webURL) + hideDirections = true + !onboard && getOnboard() + onboard.connectWallet() + } + }, 250) } - const resetPage = () => { + const resetPage = (resetTheme) => { iframeUsed = false document.querySelector('#iframe_underlay').setAttribute('src', '') hideDirections = false document.querySelector('#image_drop_area').style.backgroundImage = '' uploaded_image = undefined webURL = '' - resetTheme() + resetTheme && resetTheme() + closeOnboard() + } + + const closeOnboard = () => { const onboardCloseBtnVisible = document ?.querySelector('body > onboard-v2') ?.shadowRoot?.querySelector('.close-button') @@ -266,9 +288,9 @@ placeholder="Enter your Website URL" bind:value={webURL} /> - + From 3dc91683c1696055d502891a39338611fa7def6a Mon Sep 17 00:00:00 2001 From: Adam Carpenter Date: Thu, 2 Feb 2023 09:42:04 -0700 Subject: [PATCH 2/8] merge in develop --- yarn.lock | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/yarn.lock b/yarn.lock index 8c93ee7e4..edcc98f56 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2901,6 +2901,26 @@ dependencies: "@walletconnect/window-getters" "^1.0.0" +"@web3-onboard/core@^2.14.1": + version "2.14.1" + resolved "https://registry.yarnpkg.com/@web3-onboard/core/-/core-2.14.1.tgz#20d5f8196cdd4455a6e2daa69319fb697733934c" + integrity sha512-d5rG4wg2gOUsgiNAaAucJOzDdIM2WTxLPBN/sXR1V6eWatn6YcXyduW7Nr0n1Hl/2d8eRnlHTeSeb9YA50niVw== + dependencies: + "@unstoppabledomains/resolution" "^8.0" + "@web3-onboard/common" "^2.2.3" + bignumber.js "^9.0.0" + bnc-sdk "^4.6.5" + bowser "^2.11.0" + ethers "5.5.3" + eventemitter3 "^4.0.7" + joi "^17.6.1" + lodash.merge "^4.6.2" + lodash.partition "^4.6.0" + nanoid "^4.0.0" + rxjs "^7.5.5" + svelte "^3.49.0" + svelte-i18n "^3.3.13" + "@web3auth/base-evm-adapter@^3.3.0": version "3.3.0" resolved "https://registry.yarnpkg.com/@web3auth/base-evm-adapter/-/base-evm-adapter-3.3.0.tgz#ab8575ac5d05dfe055e52500b61691cefdd6268f" From b209055874c55e8e5d371498eb2ac4a53105d71f Mon Sep 17 00:00:00 2001 From: Adam Carpenter Date: Mon, 6 Feb 2023 09:06:07 -0700 Subject: [PATCH 3/8] Cleanup --- docs/src/lib/components/ThemeCustomizer.svelte | 8 ++++---- packages/demo/package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/src/lib/components/ThemeCustomizer.svelte b/docs/src/lib/components/ThemeCustomizer.svelte index 85ea842df..542fbf07d 100644 --- a/docs/src/lib/components/ThemeCustomizer.svelte +++ b/docs/src/lib/components/ThemeCustomizer.svelte @@ -8,7 +8,7 @@ let wallets$ const themes = ['system', 'default', 'light', 'dark', 'custom'] - let selectedTheme = 'custom' + let selectedTheme = 'system' let webURL = '' let iframeUsed = false @@ -57,14 +57,14 @@ }, 250) } - const resetPage = (resetTheme) => { + const resetPage = () => { iframeUsed = false document.querySelector('#iframe_underlay').setAttribute('src', '') hideDirections = false document.querySelector('#image_drop_area').style.backgroundImage = '' uploaded_image = undefined webURL = '' - resetTheme && resetTheme() + resetTheme() closeOnboard() } @@ -290,7 +290,7 @@ /> diff --git a/packages/demo/package.json b/packages/demo/package.json index 845c19837..61064ca13 100644 --- a/packages/demo/package.json +++ b/packages/demo/package.json @@ -23,7 +23,7 @@ "webpack-dev-server": "4.7.4" }, "dependencies": { - "@web3-onboard/core": "^2.14.1", + "@web3-onboard/core": "^2.15.0-alpha.1", "@web3-onboard/coinbase": "^2.1.4", "@web3-onboard/transaction-preview": "^2.0.1", "@web3-onboard/dcent": "^2.2.3", From 603abdad2f2eaffac11a6d61c370873a63a01790 Mon Sep 17 00:00:00 2001 From: Adam Carpenter Date: Mon, 6 Feb 2023 09:13:05 -0700 Subject: [PATCH 4/8] merge in dev --- yarn.lock | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/yarn.lock b/yarn.lock index edcc98f56..8c93ee7e4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2901,26 +2901,6 @@ dependencies: "@walletconnect/window-getters" "^1.0.0" -"@web3-onboard/core@^2.14.1": - version "2.14.1" - resolved "https://registry.yarnpkg.com/@web3-onboard/core/-/core-2.14.1.tgz#20d5f8196cdd4455a6e2daa69319fb697733934c" - integrity sha512-d5rG4wg2gOUsgiNAaAucJOzDdIM2WTxLPBN/sXR1V6eWatn6YcXyduW7Nr0n1Hl/2d8eRnlHTeSeb9YA50niVw== - dependencies: - "@unstoppabledomains/resolution" "^8.0" - "@web3-onboard/common" "^2.2.3" - bignumber.js "^9.0.0" - bnc-sdk "^4.6.5" - bowser "^2.11.0" - ethers "5.5.3" - eventemitter3 "^4.0.7" - joi "^17.6.1" - lodash.merge "^4.6.2" - lodash.partition "^4.6.0" - nanoid "^4.0.0" - rxjs "^7.5.5" - svelte "^3.49.0" - svelte-i18n "^3.3.13" - "@web3auth/base-evm-adapter@^3.3.0": version "3.3.0" resolved "https://registry.yarnpkg.com/@web3auth/base-evm-adapter/-/base-evm-adapter-3.3.0.tgz#ab8575ac5d05dfe055e52500b61691cefdd6268f" From b6b7040e11dce6b3ea1c028ccf51789c77a67742 Mon Sep 17 00:00:00 2001 From: Adam Carpenter Date: Mon, 6 Feb 2023 14:29:01 -0700 Subject: [PATCH 5/8] default set --- docs/src/lib/components/ThemeCustomizer.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/lib/components/ThemeCustomizer.svelte b/docs/src/lib/components/ThemeCustomizer.svelte index 542fbf07d..3afe8d370 100644 --- a/docs/src/lib/components/ThemeCustomizer.svelte +++ b/docs/src/lib/components/ThemeCustomizer.svelte @@ -8,7 +8,7 @@ let wallets$ const themes = ['system', 'default', 'light', 'dark', 'custom'] - let selectedTheme = 'system' + let selectedTheme = 'custom' let webURL = '' let iframeUsed = false From e35f10ed4dd0a6039ae8e89d5b563b9beed378a7 Mon Sep 17 00:00:00 2001 From: Adam Carpenter Date: Mon, 6 Feb 2023 15:23:40 -0700 Subject: [PATCH 6/8] Update error handling for iframe --- .../src/lib/components/ThemeCustomizer.svelte | 28 ++---- packages/demo/src/App.svelte | 92 +++++++++++++++++++ 2 files changed, 102 insertions(+), 18 deletions(-) diff --git a/docs/src/lib/components/ThemeCustomizer.svelte b/docs/src/lib/components/ThemeCustomizer.svelte index 3afe8d370..025c960e0 100644 --- a/docs/src/lib/components/ThemeCustomizer.svelte +++ b/docs/src/lib/components/ThemeCustomizer.svelte @@ -33,28 +33,20 @@ alert('Invalid URL entered') return } - let iframeErr = false - let img = new Image() - img.onerror = () => { - alert( - 'The website entered cannot be displayed within an iframe. Please try a different URL. See the browser console for more information.' - ) - hideDirections = false - iframeErr = true - document.querySelector('#iframe_underlay').setAttribute('src', '') - closeOnboard() - return - } - img.src = webURL - setTimeout(() => { - if (!iframeErr) { + + fetch(webURL) + .then(() => { iframeUsed = true document.querySelector('#iframe_underlay').setAttribute('src', webURL) hideDirections = true !onboard && getOnboard() onboard.connectWallet() - } - }, 250) + }) + .catch(() => { + alert( + 'The website entered cannot be displayed within an iframe. Please try a different URL. See the browser console for more information.' + ) + }) } const resetPage = () => { @@ -288,7 +280,7 @@ placeholder="Enter your Website URL" bind:value={webURL} /> - +