From 82a93bb2872809df19744afdd95c68485c0dcd25 Mon Sep 17 00:00:00 2001 From: brunobar79 Date: Fri, 13 Jul 2018 02:03:54 -0400 Subject: [PATCH] detect ability to open popup instead of browser --- .../connect-hardware/connect-screen.js | 14 ++++++++------ .../pages/create-account/connect-hardware/index.js | 5 +++++ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/ui/app/components/pages/create-account/connect-hardware/connect-screen.js b/ui/app/components/pages/create-account/connect-hardware/connect-screen.js index dd9fdfba2..0dd8e285b 100644 --- a/ui/app/components/pages/create-account/connect-hardware/connect-screen.js +++ b/ui/app/components/pages/create-account/connect-hardware/connect-screen.js @@ -16,9 +16,11 @@ class ConnectScreen extends Component { ]), h( 'button.btn-primary.btn--large', - { onClick: () => global.platform.openWindow({ - url: 'https://google.com/chrome', - }), style: { margin: 12 } }, + { + onClick: () => global.platform.openWindow({ + url: 'https://google.com/chrome', + }), + }, this.context.t('downloadGoogleChrome') ), ]) @@ -49,8 +51,7 @@ class ConnectScreen extends Component { } render () { - const isChrome = window.navigator.userAgent.search('Chrome') !== -1 - if (isChrome) { + if (this.props.browserSupported) { return this.renderConnectScreen() } return this.renderUnsupportedBrowser() @@ -59,7 +60,8 @@ class ConnectScreen extends Component { ConnectScreen.propTypes = { connectToTrezor: PropTypes.func.isRequired, - btnText: PropTypes.string, + btnText: PropTypes.string.isRequired, + browserSupported: PropTypes.bool.isRequired, } ConnectScreen.contextTypes = { diff --git a/ui/app/components/pages/create-account/connect-hardware/index.js b/ui/app/components/pages/create-account/connect-hardware/index.js index fa9cf4894..689e88f2e 100644 --- a/ui/app/components/pages/create-account/connect-hardware/index.js +++ b/ui/app/components/pages/create-account/connect-hardware/index.js @@ -16,6 +16,7 @@ class ConnectHardwareForm extends Component { btnText: context.t('connectToTrezor'), selectedAccount: null, accounts: [], + browserSupported: true, } } @@ -78,6 +79,9 @@ class ConnectHardwareForm extends Component { } }) .catch(e => { + if (e === 'Window blocked') { + this.setState({ browserSupported: false }) + } this.setState({ btnText: this.context.t('connectToTrezor') }) }) } @@ -125,6 +129,7 @@ class ConnectHardwareForm extends Component { return h(ConnectScreen, { connectToTrezor: this.connectToTrezor, btnText: this.state.btnText, + browserSupported: this.state.browserSupported, }) }