diff --git a/app/package-lock.json b/app/package-lock.json index 8cfa17c8..aa8db715 100644 --- a/app/package-lock.json +++ b/app/package-lock.json @@ -3360,6 +3360,11 @@ } } }, + "fuse.js": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-2.6.2.tgz", + "integrity": "sha1-1dmU/alvVDtaUd84tyzsnMYNneo=" + }, "gauge": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.7.tgz", @@ -3431,6 +3436,11 @@ "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==" }, + "google-libphonenumber": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/google-libphonenumber/-/google-libphonenumber-2.0.19.tgz", + "integrity": "sha512-kwtbruT+eyiof081cxT1tltMTxgTOq3CQhUoEYBROC+vNf+COPqzfKJtVnDvgXQe4SzfbnAYkP8KoSpbJBIlSg==" + }, "graceful-fs": { "version": "4.1.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", @@ -3980,21 +3990,11 @@ } }, "lbryinc": { - "version": "github:lbryio/lbryinc#678c5098e2099dd1560b2fefa2795f38ca3ce07b", - "from": "github:lbryio/lbryinc", + "version": "github:lbryio/lbryinc#7910b565d7edda16be1c9d291f296982261ba60a", + "from": "github:lbryio/lbryinc#phone-verification", "requires": { - "lbry-redux": "github:lbryio/lbry-redux#421321a78397251589e5a890f4caa95e79975e2b", + "lbry-redux": "github:lbryio/lbry-redux#31f7afa8a37f5741dac01fc1ecdf153f3bed95dc", "reselect": "^3.0.0" - }, - "dependencies": { - "lbry-redux": { - "version": "github:lbryio/lbry-redux#421321a78397251589e5a890f4caa95e79975e2b", - "from": "github:lbryio/lbry-redux", - "requires": { - "proxy-polyfill": "0.1.6", - "reselect": "^3.0.0" - } - } } }, "lcid": { @@ -4098,6 +4098,11 @@ "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", "integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=" }, + "lodash.toarray": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz", + "integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE=" + }, "lodash.unset": { "version": "4.5.2", "resolved": "https://registry.npmjs.org/lodash.unset/-/lodash.unset-4.5.2.tgz", @@ -4564,6 +4569,14 @@ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" }, + "node-emoji": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.8.1.tgz", + "integrity": "sha512-+ktMAh1Jwas+TnGodfCfjUbJKoANqPaJFN0z0iqh41eqD8dvguNzcitVSBSVK1pidz0AqGbLKcoVuVLRVZ/aVg==", + "requires": { + "lodash.toarray": "^4.4.0" + } + }, "node-fetch": { "version": "1.7.3", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", @@ -5200,6 +5213,44 @@ } } }, + "react-native-country-picker-modal": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/react-native-country-picker-modal/-/react-native-country-picker-modal-0.6.2.tgz", + "integrity": "sha1-upcRi+Q3O+DBHNUeRF5r1Eji8co=", + "requires": { + "fuse.js": "2.6.2", + "lodash": "4.12.0", + "node-emoji": "1.8.1", + "prop-types": "15.6.0", + "react-native-safe-area-view": "^0.7.0", + "world-countries": "1.8.0" + }, + "dependencies": { + "lodash": { + "version": "4.12.0", + "resolved": "http://registry.npmjs.org/lodash/-/lodash-4.12.0.tgz", + "integrity": "sha1-K9bcRqBA9Z5obJcu0h2T3FkFMlg=" + }, + "prop-types": { + "version": "15.6.0", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", + "integrity": "sha1-zq8IMCL8RrSjX2nhPvda7Q1jmFY=", + "requires": { + "fbjs": "^0.8.16", + "loose-envify": "^1.3.1", + "object-assign": "^4.1.1" + } + }, + "react-native-safe-area-view": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/react-native-safe-area-view/-/react-native-safe-area-view-0.7.0.tgz", + "integrity": "sha512-SjLdW/Th0WVMhyngH4O6yC21S+O4U4AAG3QxBr7fZ2ftgjXSpKbDHAhEpxBdFwei6HsnsC2h9oYMtPpaW9nfGg==", + "requires": { + "hoist-non-react-statics": "^2.3.1" + } + } + } + }, "react-native-dismiss-keyboard": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/react-native-dismiss-keyboard/-/react-native-dismiss-keyboard-1.0.0.tgz", @@ -5263,6 +5314,16 @@ "react-native-image-pan-zoom": "^2.1.2" } }, + "react-native-phone-input": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/react-native-phone-input/-/react-native-phone-input-0.2.1.tgz", + "integrity": "sha1-rGhSoeo32NWP+D3tUtGNe2MD5mc=", + "requires": { + "google-libphonenumber": "^2.0.9", + "lodash": "^4.17.4", + "prop-types": "^15.5.10" + } + }, "react-native-safe-area-view": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/react-native-safe-area-view/-/react-native-safe-area-view-0.9.0.tgz", @@ -6837,6 +6898,11 @@ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=" }, + "world-countries": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/world-countries/-/world-countries-1.8.0.tgz", + "integrity": "sha1-F/SOfoRwrFohNq1pON/GVvwry5U=" + }, "wrap-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", diff --git a/app/package.json b/app/package.json index f8904405..be1a2ca8 100644 --- a/app/package.json +++ b/app/package.json @@ -8,13 +8,15 @@ "dependencies": { "base-64": "^0.1.0", "lbry-redux": "lbryio/lbry-redux", - "lbryinc": "lbryio/lbryinc", + "lbryinc": "lbryio/lbryinc#phone-verification", "moment": "^2.22.1", "react": "16.2.0", "react-native": "0.55.3", + "react-native-country-picker-modal": "^0.6.2", "react-native-fast-image": "^5.0.3", "react-native-fetch-blob": "^0.10.8", "react-native-image-zoom-viewer": "^2.2.5", + "react-native-phone-input": "^0.2.1", "react-native-vector-icons": "^5.0.0", "react-native-video": "lbryio/react-native-video#exoplayer-lbry-android", "react-navigation": "^2.12.1", diff --git a/app/src/component/AppNavigator.js b/app/src/component/AppNavigator.js index 6d8680c4..2efe153b 100644 --- a/app/src/component/AppNavigator.js +++ b/app/src/component/AppNavigator.js @@ -268,7 +268,7 @@ class AppWithNavigationState extends React.Component { } if ('toast' === currentDisplayType) { - ToastAndroid.show(message, ToastAndroid.SHORT); + ToastAndroid.show(message, ToastAndroid.LONG); } dispatch(doHideNotification()); diff --git a/app/src/component/deviceIdRewardSubcard/index.js b/app/src/component/deviceIdRewardSubcard/index.js deleted file mode 100644 index c79dc730..00000000 --- a/app/src/component/deviceIdRewardSubcard/index.js +++ /dev/null @@ -1,9 +0,0 @@ -import { connect } from 'react-redux'; -import { doNotify } from 'lbry-redux'; -import DeviceIdRewardSubcard from './view'; - -const perform = dispatch => ({ - notify: data => dispatch(doNotify(data)) -}); - -export default connect(null, perform)(DeviceIdRewardSubcard); \ No newline at end of file diff --git a/app/src/component/deviceIdRewardSubcard/view.js b/app/src/component/deviceIdRewardSubcard/view.js deleted file mode 100644 index 58ef455e..00000000 --- a/app/src/component/deviceIdRewardSubcard/view.js +++ /dev/null @@ -1,48 +0,0 @@ -// @flow -import React from 'react'; -import { - ActivityIndicator, - AsyncStorage, - NativeModules, - Text, - TextInput, - TouchableOpacity, - View -} from 'react-native'; -import Icon from 'react-native-vector-icons/FontAwesome5'; -import Button from '../button'; -import Colors from '../../styles/colors'; -import Constants from '../../constants'; -import Link from '../link'; -import rewardStyle from '../../styles/reward'; - -class DeviceIdRewardSubcard extends React.PureComponent { - onAllowAccessPressed = () => { - if (!NativeModules.UtilityModule) { - return notify({ - message: 'The device ID could not be obtained due to a missing module.', - displayType: ['toast'] - }); - } - - NativeModules.UtilityModule.requestPhoneStatePermission(); - } - - render() { - return ( - - Pending action: Device ID - - The app requires the phone state permission in order to identify your device for reward eligibility. - -