aboutsummaryrefslogtreecommitdiffstats
path: root/ui/app/actions.js
diff options
context:
space:
mode:
authorbrunobar79 <brunobar79@gmail.com>2018-08-01 06:30:40 +0800
committerbrunobar79 <brunobar79@gmail.com>2018-08-01 06:30:56 +0800
commit710b4e294f66fe6e623fa145cc99be5b79c8210e (patch)
tree94fbe1f5d91aef33d04effc254a2a77e217c308a /ui/app/actions.js
parentedb154749d468299166e41e56d23beb781817cbc (diff)
downloadtangerine-wallet-browser-710b4e294f66fe6e623fa145cc99be5b79c8210e.tar.gz
tangerine-wallet-browser-710b4e294f66fe6e623fa145cc99be5b79c8210e.tar.zst
tangerine-wallet-browser-710b4e294f66fe6e623fa145cc99be5b79c8210e.zip
added crossbrowser support and error handling
Diffstat (limited to 'ui/app/actions.js')
-rw-r--r--ui/app/actions.js26
1 files changed, 25 insertions, 1 deletions
diff --git a/ui/app/actions.js b/ui/app/actions.js
index 0eb47edba..3540f61a5 100644
--- a/ui/app/actions.js
+++ b/ui/app/actions.js
@@ -12,6 +12,7 @@ const { fetchLocale } = require('../i18n-helper')
const log = require('loglevel')
const { ENVIRONMENT_TYPE_NOTIFICATION } = require('../../app/scripts/lib/enums')
const { hasUnconfirmedTransactions } = require('./helpers/confirm-transaction/util')
+const WebcamUtils = require('../lib/webcam-utils')
var actions = {
_setBackgroundConnection: _setBackgroundConnection,
@@ -127,7 +128,8 @@ var actions = {
SHOW_CONF_TX_PAGE: 'SHOW_CONF_TX_PAGE',
SHOW_CONF_MSG_PAGE: 'SHOW_CONF_MSG_PAGE',
SET_CURRENT_FIAT: 'SET_CURRENT_FIAT',
- setCurrentCurrency: setCurrentCurrency,
+ showQrScanner,
+ setCurrentCurrency,
setCurrentAccountTab,
// account detail screen
SHOW_SEND_PAGE: 'SHOW_SEND_PAGE',
@@ -723,6 +725,28 @@ function showInfoPage () {
}
}
+function showQrScanner (ROUTE) {
+ return (dispatch, getState) => {
+ return WebcamUtils.checkStatus()
+ .then(status => {
+ if (!status.environmentReady) {
+ // We need to switch to fullscreen mode to ask for permission
+ global.platform.openExtensionInBrowser(`${ROUTE}`, `scan=true`)
+ } else {
+ dispatch(actions.showModal({
+ name: 'QR_SCANNER',
+ }))
+ }
+ }).catch(e => {
+ dispatch(actions.showModal({
+ name: 'QR_SCANNER',
+ error: true,
+ errorType: e.type,
+ }))
+ })
+ }
+}
+
function setCurrentCurrency (currencyCode) {
return (dispatch) => {
dispatch(actions.showLoadingIndication())