diff --git a/android/app/build.gradle b/android/app/build.gradle index e81d96e73..29da4546e 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -83,7 +83,6 @@ project.ext.react = [ ] apply from: "../../node_modules/react-native/react.gradle" -apply from: "../../node_modules/react-native-code-push/android/codepush.gradle" /** * Set this to true to create two separate APKs instead of one: @@ -199,10 +198,6 @@ android { } packagingOptions { - exclude '**/libjscexecutor.so' - exclude '**/libhermes-inspector.so' - exclude '**/libhermes-executor-debug.so' - pickFirst '**/armeabi-v7a/libc++_shared.so' pickFirst '**/x86/libc++_shared.so' pickFirst '**/arm64-v8a/libc++_shared.so' @@ -213,7 +208,6 @@ android { dependencies { implementation fileTree(dir: "libs", include: ["*.jar"]) implementation "com.facebook.react:react-native:+" // From node_modules - implementation project(':react-native-code-push') implementation 'androidx.appcompat:appcompat:1.1.0-rc01' implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0-alpha02' implementation 'com.android.support:multidex:2.0.1' diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 94d000815..dfb4e064d 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -24,7 +24,7 @@ android:label="@string/app_name" android:screenOrientation="portrait" android:configChanges="keyboard|keyboardHidden|screenSize|uiMode" - android:windowSoftInputMode="adjustResize"> + android:windowSoftInputMode="adjustPan"> diff --git a/android/app/src/main/java/app/esteem/mobile/android/MainApplication.java b/android/app/src/main/java/app/esteem/mobile/android/MainApplication.java index 90fa745ce..41c7c11cb 100644 --- a/android/app/src/main/java/app/esteem/mobile/android/MainApplication.java +++ b/android/app/src/main/java/app/esteem/mobile/android/MainApplication.java @@ -13,7 +13,6 @@ import androidx.multidex.MultiDexApplication; //See below, Webview debugging //import android.webkit.WebView; -import com.microsoft.codepush.react.CodePush; import com.reactnativecommunity.viewpager.RNCViewPagerPackage; import java.lang.reflect.InvocationTargetException; @@ -34,7 +33,6 @@ public class MainApplication extends MultiDexApplication implements ReactApplica // Packages that cannot be autolinked yet can be added manually here, for // example: // packages.add(new MyReactNativePackage()); - packages.add(new CodePush("hvFLmwFbA1yko829EQO_apTfdlCKSybps-jnWV", MainApplication.this, BuildConfig.DEBUG)); packages.add(new RNCViewPagerPackage()); return packages; } diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml index 073f78a9f..624dab45a 100644 --- a/android/app/src/main/res/values/strings.xml +++ b/android/app/src/main/res/values/strings.xml @@ -1,5 +1,4 @@ - hvFLmwFbA1yko829EQO_apTfdlCKSybps-jnWV eSteem ALWAYS_SEND ALWAYS_SEND diff --git a/android/settings.gradle b/android/settings.gradle index e340f428b..cf1835126 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -2,6 +2,4 @@ rootProject.name = 'eSteem' apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings) include ':@react-native-community_viewpager' project(':@react-native-community_viewpager').projectDir = new File(rootProject.projectDir, '../node_modules/@react-native-community/viewpager/android') -include ':app', ':react-native-code-push' -project(':react-native-code-push').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-code-push/android/app') include ':app' diff --git a/index.js b/index.js index 53322ab05..de373cd41 100644 --- a/index.js +++ b/index.js @@ -1,14 +1,12 @@ import { AppRegistry } from 'react-native'; import AppCenter from 'appcenter'; -import codePush from 'react-native-code-push'; import { name as appName } from './app.json'; import 'core-js'; import 'intl'; import 'intl/locale-data/jsonp/en-US'; // set check frequency options -const codePushOptions = { checkFrequency: codePush.CheckFrequency.ON_APP_START }; -const eSteemApp = codePush(codePushOptions)(require('./App').default); +const eSteemApp = require('./App').default; AppCenter.setLogLevel(AppCenter.LogLevel.VERBOSE); diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 18d175353..b301a7c9c 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -31,20 +31,6 @@ PODS: - React - BVLinearGradient (2.5.6): - React - - CodePush (1000.0.0): - - CodePush/Base64 (= 1000.0.0) - - CodePush/Core (= 1000.0.0) - - CodePush/JWT (= 1000.0.0) - - CodePush/SSZipArchive (= 1000.0.0) - - React - - CodePush/Base64 (1000.0.0): - - React - - CodePush/Core (1000.0.0): - - React - - CodePush/JWT (1000.0.0): - - React - - CodePush/SSZipArchive (1000.0.0): - - React - DoubleConversion (1.1.6) - FBLazyVector (0.61.5) - FBReactNativeSpec (0.61.5): @@ -242,7 +228,7 @@ PODS: - React - SDWebImage/Core - SDWebImage/GIF - - react-native-netinfo (5.3.2): + - react-native-netinfo (5.3.3): - React - react-native-version-number (0.3.6): - React @@ -318,7 +304,6 @@ DEPENDENCIES: - appcenter-push (from `../node_modules/appcenter-push/ios`) - BugsnagReactNative (from `../node_modules/bugsnag-react-native`) - BVLinearGradient (from `../node_modules/react-native-linear-gradient`) - - CodePush (from `../node_modules/react-native-code-push`) - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) - FBReactNativeSpec (from `../node_modules/react-native/Libraries/FBReactNativeSpec`) @@ -388,8 +373,6 @@ EXTERNAL SOURCES: :path: "../node_modules/bugsnag-react-native" BVLinearGradient: :path: "../node_modules/react-native-linear-gradient" - CodePush: - :path: "../node_modules/react-native-code-push" DoubleConversion: :podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec" FBLazyVector: @@ -485,7 +468,6 @@ SPEC CHECKSUMS: boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c BugsnagReactNative: bfa11ce45f7ee311962ecda93f190b6ea74329fe BVLinearGradient: e3aad03778a456d77928f594a649e96995f1c872 - CodePush: a503ca0caee269e68d8faaafe4414990ec282520 DoubleConversion: 5805e889d232975c086db112ece9ed034df7a0b2 FBLazyVector: aaeaf388755e4f29cd74acbc9e3b8da6d807c37f FBReactNativeSpec: 118d0d177724c2d67f08a59136eb29ef5943ec75 @@ -507,7 +489,7 @@ SPEC CHECKSUMS: react-native-cameraroll: 463aff54e37cff27ea76eb792e6f1fa43b876320 react-native-config: f2c2ae45625a068c35681a16b9bfb1ca58b0adc7 react-native-fast-image: 6d50167ad4d68b59640ceead8c2bc4e58d91d8bd - react-native-netinfo: 817823a90f13ced48413875c0820df04c3aae28d + react-native-netinfo: 8884d510fe67349940b4399c01db3e3591c922aa react-native-version-number: b415bbec6a13f2df62bf978e85bc0d699462f37f react-native-webview: 3f5aa91c3cb083ea4762e006b9653291a96a777a React-RCTActionSheet: 600b4d10e3aea0913b5a92256d2719c0cdd26d76 diff --git a/ios/eSteem.xcodeproj/project.pbxproj b/ios/eSteem.xcodeproj/project.pbxproj index cabdb2a44..01bc2cb8e 100644 --- a/ios/eSteem.xcodeproj/project.pbxproj +++ b/ios/eSteem.xcodeproj/project.pbxproj @@ -575,7 +575,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh"; + shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh\n"; }; 180EA60986CD4BBD6C799872 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; diff --git a/ios/eSteem.xcworkspace/xcuserdata/f.xcuserdatad/UserInterfaceState.xcuserstate b/ios/eSteem.xcworkspace/xcuserdata/f.xcuserdatad/UserInterfaceState.xcuserstate index 7d1e7ca94..42fb8a234 100644 Binary files a/ios/eSteem.xcworkspace/xcuserdata/f.xcuserdatad/UserInterfaceState.xcuserstate and b/ios/eSteem.xcworkspace/xcuserdata/f.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/ios/eSteem/AppDelegate.m b/ios/eSteem/AppDelegate.m index 3e3e731db..0b3020d1c 100644 --- a/ios/eSteem/AppDelegate.m +++ b/ios/eSteem/AppDelegate.m @@ -11,7 +11,6 @@ #import #import #import -#import #import #import @@ -52,11 +51,7 @@ - (NSURL *)sourceURLForBridge:(RCTBridge *)bridge { -#if DEBUG return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil]; -#else - return [CodePush bundleURL]; -#endif } @end diff --git a/ios/eSteem/Info.plist b/ios/eSteem/Info.plist index ccc0cc66c..50d08c747 100644 --- a/ios/eSteem/Info.plist +++ b/ios/eSteem/Info.plist @@ -38,25 +38,23 @@ CFBundleVersion 1680 - CodePushDeploymentKey - 13ThFZsgwk6UZp6mIe95IDbnfw8iHy1jfsn-E LSRequiresIPhoneOS - + NSAppTransportSecurity NSAllowsArbitraryLoads - + NSExceptionDomains localhost NSExceptionAllowsInsecureHTTPLoads - + steemconnect.com NSExceptionAllowsInsecureHTTPLoads - + @@ -110,12 +108,12 @@ armv7 UIRequiresFullScreen - + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait UIViewControllerBasedStatusBarAppearance - + diff --git a/package.json b/package.json index 0e86254c1..f59015db8 100644 --- a/package.json +++ b/package.json @@ -54,9 +54,8 @@ "react-native": "0.61.5", "react-native-actionsheet": "esteemapp/react-native-actionsheet", "react-native-autoheight-webview": "^1.4.1", - "react-native-code-push": "esteemapp/react-native-code-push", "react-native-config": "luggit/react-native-config#master", - "react-native-dark-mode": "^0.2.1", + "react-native-dark-mode": "^0.2.2", "react-native-datepicker": "esteemapp/react-native-datepicker", "react-native-extended-stylesheet": "^0.10.0", "react-native-fast-image": "^4.0.14", @@ -67,7 +66,8 @@ "react-native-keyboard-aware-scroll-view": "^0.9.1", "react-native-linear-gradient": "^2.4.2", "react-native-modal-dropdown": "esteemapp/react-native-modal-dropdown", - "react-native-navigation-bar-color": "^0.1.0", + "react-native-modal-translucent": "^5.0.0", + "react-native-navigation-bar-color": "^1.0.0", "react-native-reanimated": "^1.3.0", "react-native-scrollable-tab-view": "esteemapp/react-native-scrollable-tab-view", "react-native-snap-carousel": "^3.8.0", diff --git a/react-native.config.js b/react-native.config.js index 4ec8a568c..e3e693c83 100644 --- a/react-native.config.js +++ b/react-native.config.js @@ -1,10 +1,4 @@ module.exports = { - dependencies: { - 'react-native-code-push': { - platforms: { - android: null, // disable Android platform, other platforms will still autolink if provided - }, - }, - }, + dependencies: {}, assets: ['react-native-vector-icons'], }; diff --git a/src/components/comment/view/commentView.js b/src/components/comment/view/commentView.js index f8259bfbb..d3df2fde1 100644 --- a/src/components/comment/view/commentView.js +++ b/src/components/comment/view/commentView.js @@ -50,7 +50,7 @@ const CommentView = ({ }; return ( - + { const [isImageModalOpen, setIsImageModalOpen] = useState(false); const [postImages, setPostImages] = useState([]); + const [selectedImage, setSelectedImage] = useState(null); + const [selectedLink, setSelectedLink] = useState(null); + const [revealComment, setRevealComment] = useState(reputation > 0); const intl = useIntl(); + const actionImage = useRef(null); + const actionLink = useRef(null); const _showLowComment = () => { setRevealComment(true); @@ -53,12 +65,24 @@ const CommentBody = ({ data = {}; } - const { type, href, images, author, category, permlink, tag, proposal, videoHref } = data; + const { + type, + href, + images, + image, + author, + category, + permlink, + tag, + proposal, + videoHref, + } = data; switch (type) { case '_external': case 'markdown-external-link': - __handleBrowserLink(href); + setSelectedLink(href); + actionLink.current.show(); break; case 'markdown-author-link': if (!handleOnUserPress) { @@ -85,7 +109,8 @@ const CommentBody = ({ break; case 'image': setPostImages(images); - setIsImageModalOpen(true); + setSelectedImage(image); + actionImage.current.show(); break; default: @@ -94,6 +119,60 @@ const CommentBody = ({ } catch (error) {} }; + const handleImagePress = ind => { + if (ind === 1) { + //open gallery mode + setIsImageModalOpen(true); + } + if (ind === 0) { + //copy to clipboard + writeToClipboard(selectedImage).then(() => { + dispatch( + toastNotification( + intl.formatMessage({ + id: 'alert.copied', + }), + ), + ); + }); + } + if (ind === 2) { + //save to local + _saveImage(selectedImage); + } + }; + + const handleLinkPress = ind => { + if (ind === 1) { + //open link + Linking.canOpenURL(selectedLink).then(supported => { + if (supported) { + Linking.openURL(selectedLink); + } else { + dispatch( + toastNotification( + intl.formatMessage({ + id: 'alert.failed_to_open', + }), + ), + ); + } + }); + } + if (ind === 0) { + //copy to clipboard + writeToClipboard(selectedLink).then(() => { + dispatch( + toastNotification( + intl.formatMessage({ + id: 'alert.copied', + }), + ), + ); + }); + } + }; + const __handleTagPress = tag => { if (tag) { navigate({ @@ -105,34 +184,6 @@ const CommentBody = ({ } }; - const __handleBrowserLink = async url => { - if (url) { - Alert.alert( - intl.formatMessage({ id: 'alert.warning' }), - intl.formatMessage({ id: 'alert.external_link' }), - [ - { - text: 'Cancel', - onPress: () => {}, - style: 'cancel', - }, - { - text: 'OK', - onPress: () => { - Linking.canOpenURL(url).then(supported => { - if (supported) { - Linking.openURL(url); - } else { - Alert.alert(intl.formatMessage({ id: 'alert.failed_to_open' })); - } - }); - }, - }, - ], - ); - } - }; - const __handleOnPostPress = (permlink, author) => { if (permlink) { navigate({ @@ -156,7 +207,13 @@ const CommentBody = ({ key: username, }); } else { - Alert.alert('Opss!', 'Wrong link.'); + dispatch( + toastNotification( + intl.formatMessage({ + id: 'post.wrong_link', + }), + ), + ); } }; @@ -198,31 +255,30 @@ const CommentBody = ({ } CameraRoll.saveToCameraRoll(uri) .then(res => { - Alert.alert( - intl.formatMessage({ id: 'alert.success' }), - intl.formatMessage({ id: 'post.image_saved' }), - [{ text: 'OK' }], - { cancelable: false }, + dispatch( + toastNotification( + intl.formatMessage({ + id: 'post.image_saved', + }), + ), ); }) .catch(error => { - Alert.alert( - intl.formatMessage({ id: 'post.image_saved_error' }), - error.message, - [{ text: 'OK' }], - { - cancelable: false, - }, + dispatch( + toastNotification( + intl.formatMessage({ + id: 'post.image_saved_error', + }), + ), ); }); } catch (error) { - Alert.alert( - intl.formatMessage({ id: 'post.image_saved_error' }), - error.message, - [{ text: 'OK' }], - { - cancelable: false, - }, + dispatch( + toastNotification( + intl.formatMessage({ + id: 'post.image_saved_error', + }), + ), ); } }; @@ -365,13 +421,35 @@ const CommentBody = ({ enableSwipeDown onCancel={() => setIsImageModalOpen(false)} onClick={() => setIsImageModalOpen(false)} - onSave={uri => _saveImage(uri)} - menuContext={{ - saveToLocal: intl.formatMessage({ id: 'post.save_to_local' }), - cancel: intl.formatMessage({ id: 'alert.cancel' }), - }} /> + { + handleImagePress(index); + }} + /> + { + handleLinkPress(index); + }} + /> {revealComment ? ( prevProps.body !== nextProps.body; -export default React.memo(CommentBody, areEqual); +const mapStateToProps = state => ({}); + +export default connect(mapStateToProps)(React.memo(CommentBody, areEqual)); diff --git a/src/components/postElements/body/view/config.js b/src/components/postElements/body/view/config.js index 4c2940e94..c1e0b6429 100644 --- a/src/components/postElements/body/view/config.js +++ b/src/components/postElements/body/view/config.js @@ -10,7 +10,8 @@ for (var k = 0; k < images.length; k++) { for (var i = 0; i < images.length; i++) { var result = { type: 'image', - images: imageUrls + images: imageUrls, + image: images[i].getAttribute("src") || '' }; var resultStr = JSON.stringify(JSON.stringify(result)); var message = 'window.ReactNativeWebView.postMessage(' + resultStr + ')'; @@ -128,7 +129,8 @@ for (var k = 0; k < images.length; k++) { for (var i = 0; i < images.length; i++) { var result = { type: 'image', - images: imageUrls + images: imageUrls, + image: images[i].getAttribute("src") || '' }; var resultStr = JSON.stringify(JSON.stringify(result)); var message = 'window.ReactNativeWebView.postMessage(' + resultStr + ')'; diff --git a/src/components/postElements/body/view/postBodyView.js b/src/components/postElements/body/view/postBodyView.js index ee8e3b7cd..2ed999993 100644 --- a/src/components/postElements/body/view/postBodyView.js +++ b/src/components/postElements/body/view/postBodyView.js @@ -1,5 +1,5 @@ -import React, { Fragment, useState } from 'react'; -import { Dimensions, Linking, Alert, Modal, PermissionsAndroid, Platform } from 'react-native'; +import React, { Fragment, useState, useRef } from 'react'; +import { Dimensions, Linking, Modal, PermissionsAndroid, Platform } from 'react-native'; import CameraRoll from '@react-native-community/cameraroll'; import { withNavigation } from 'react-navigation'; import { useIntl, injectIntl } from 'react-intl'; @@ -8,10 +8,16 @@ import EStyleSheet from 'react-native-extended-stylesheet'; import get from 'lodash/get'; import ImageViewer from 'react-native-image-zoom-viewer'; import RNFetchBlob from 'rn-fetch-blob'; +import ActionSheet from 'react-native-actionsheet'; +import { connect } from 'react-redux'; import { customBodyScript } from './config'; import { PostPlaceHolder, CommentPlaceHolder } from '../../../basicUIElements'; +// Services and Actions +import { writeToClipboard } from '../../../../utils/clipboard'; +import { toastNotification } from '../../../../redux/actions/uiAction'; + // Constants import { default as ROUTES } from '../../../../constants/routeNames'; @@ -24,10 +30,16 @@ const PostBody = ({ isComment, handleOnUserPress, handleOnPostPress, + dispatch, }) => { const [isImageModalOpen, setIsImageModalOpen] = useState(false); const [postImages, setPostImages] = useState([]); + const [selectedImage, setSelectedImage] = useState(null); + const [selectedLink, setSelectedLink] = useState(null); + const intl = useIntl(); + const actionImage = useRef(null); + const actionLink = useRef(null); const _handleOnLinkPress = event => { if ((!event && !get(event, 'nativeEvent.data'), false)) { @@ -42,12 +54,25 @@ const PostBody = ({ data = {}; } - const { type, href, images, author, category, permlink, tag, proposal, videoHref } = data; + const { + type, + href, + images, + image, + author, + category, + permlink, + tag, + proposal, + videoHref, + } = data; switch (type) { case '_external': case 'markdown-external-link': - _handleBrowserLink(href); + setSelectedLink(href); + actionLink.current.show(); + //_handleBrowserLink(href); break; case 'markdown-author-link': if (!handleOnUserPress) { @@ -74,7 +99,8 @@ const PostBody = ({ break; case 'image': setPostImages(images); - setIsImageModalOpen(true); + setSelectedImage(image); + actionImage.current.show(); break; default: @@ -83,6 +109,60 @@ const PostBody = ({ } catch (error) {} }; + const handleImagePress = ind => { + if (ind === 1) { + //open gallery mode + setIsImageModalOpen(true); + } + if (ind === 0) { + //copy to clipboard + writeToClipboard(selectedImage).then(() => { + dispatch( + toastNotification( + intl.formatMessage({ + id: 'alert.copied', + }), + ), + ); + }); + } + if (ind === 2) { + //save to local + _saveImage(selectedImage); + } + }; + + const handleLinkPress = ind => { + if (ind === 1) { + //open link + Linking.canOpenURL(selectedLink).then(supported => { + if (supported) { + Linking.openURL(selectedLink); + } else { + dispatch( + toastNotification( + intl.formatMessage({ + id: 'alert.failed_to_open', + }), + ), + ); + } + }); + } + if (ind === 0) { + //copy to clipboard + writeToClipboard(selectedLink).then(() => { + dispatch( + toastNotification( + intl.formatMessage({ + id: 'alert.copied', + }), + ), + ); + }); + } + }; + const _handleTagPress = tag => { if (tag) { navigation.navigate({ @@ -94,34 +174,6 @@ const PostBody = ({ } }; - const _handleBrowserLink = async url => { - if (url) { - Alert.alert( - intl.formatMessage({ id: 'alert.warning' }), - intl.formatMessage({ id: 'alert.external_link' }), - [ - { - text: 'Cancel', - onPress: () => {}, - style: 'cancel', - }, - { - text: 'OK', - onPress: () => { - Linking.canOpenURL(url).then(supported => { - if (supported) { - Linking.openURL(url); - } else { - Alert.alert(intl.formatMessage({ id: 'alert.failed_to_open' })); - } - }); - }, - }, - ], - ); - } - }; - const _handleOnPostPress = (permlink, author) => { if (permlink) { navigation.navigate({ @@ -145,7 +197,13 @@ const PostBody = ({ key: username, }); } else { - Alert.alert('Opss!', 'Wrong link.'); + dispatch( + toastNotification( + intl.formatMessage({ + id: 'post.wrong_link', + }), + ), + ); } }; @@ -187,31 +245,30 @@ const PostBody = ({ } CameraRoll.saveToCameraRoll(uri) .then(res => { - Alert.alert( - intl.formatMessage({ id: 'alert.success' }), - intl.formatMessage({ id: 'post.image_saved' }), - [{ text: 'OK' }], - { cancelable: false }, + dispatch( + toastNotification( + intl.formatMessage({ + id: 'post.image_saved', + }), + ), ); }) .catch(error => { - Alert.alert( - intl.formatMessage({ id: 'post.image_saved_error' }), - error.message, - [{ text: 'OK' }], - { - cancelable: false, - }, + dispatch( + toastNotification( + intl.formatMessage({ + id: 'post.image_saved_error', + }), + ), ); }); } catch (error) { - Alert.alert( - intl.formatMessage({ id: 'post.image_saved_error' }), - error.message, - [{ text: 'OK' }], - { - cancelable: false, - }, + dispatch( + toastNotification( + intl.formatMessage({ + id: 'post.image_saved_error', + }), + ), ); } }; @@ -334,13 +391,35 @@ const PostBody = ({ enableSwipeDown onCancel={() => setIsImageModalOpen(false)} onClick={() => setIsImageModalOpen(false)} - onSave={uri => _saveImage(uri)} - menuContext={{ - saveToLocal: intl.formatMessage({ id: 'post.save_to_local' }), - cancel: intl.formatMessage({ id: 'alert.cancel' }), - }} /> + { + handleImagePress(index); + }} + /> + { + handleLinkPress(index); + }} + /> { return false; }; -export default React.memo(injectIntl(withNavigation(PostBody)), areEqual); +const mapStateToProps = state => ({}); + +export default React.memo(injectIntl(withNavigation(connect(mapStateToProps)(PostBody))), areEqual); diff --git a/src/components/postElements/headerDescription/view/postHeaderDescriptionStyles.js b/src/components/postElements/headerDescription/view/postHeaderDescriptionStyles.js index 253971fb9..72b1e6e94 100644 --- a/src/components/postElements/headerDescription/view/postHeaderDescriptionStyles.js +++ b/src/components/postElements/headerDescription/view/postHeaderDescriptionStyles.js @@ -18,7 +18,7 @@ export default EStyleSheet.create({ rightContainer: { flexDirection: 'column', marginLeft: 'auto', - paddingLeft: 20, + paddingLeft: 10, }, avatar: { borderColor: '$borderColor', diff --git a/src/components/profileEditForm/profileEditFormView.js b/src/components/profileEditForm/profileEditFormView.js index 2b41be660..cd3b248ce 100644 --- a/src/components/profileEditForm/profileEditFormView.js +++ b/src/components/profileEditForm/profileEditFormView.js @@ -43,6 +43,7 @@ const ProfileEditFormView = ({ this.setState({ keyboardIsOpen: false })} enableAutoAutomaticScroll={Platform.OS === 'ios'} contentContainerStyle={styles.formWrapper} + enableOnAndroid={true} > = 1.5.0 < 2" toidentifier "1.0.0" -http-proxy-agent@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz#e4821beef5b2142a2026bd73926fe537631c5405" - integrity sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg== - dependencies: - agent-base "4" - debug "3.1.0" - http-signature@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" @@ -4662,14 +4515,6 @@ http-signature@~1.2.0: jsprim "^1.2.2" sshpk "^1.7.0" -https-proxy-agent@^2.2.1: - version "2.2.4" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz#4ee7a737abd92678a293d9b34a1af4d0d08c787b" - integrity sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg== - dependencies: - agent-base "^4.3.0" - debug "^3.1.0" - husky@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/husky/-/husky-3.1.0.tgz#5faad520ab860582ed94f0c1a77f0f04c90b57c0" @@ -4761,7 +4606,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -4776,26 +4621,6 @@ ini@^1.3.4: resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== -inquirer@1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-1.1.2.tgz#ac3ba5f06b8e7291abd9f22912c03f09cfe2dd1f" - integrity sha1-rDul8GuOcpGr2fIpEsA/Cc/i3R8= - dependencies: - ansi-escapes "^1.1.0" - chalk "^1.0.0" - cli-cursor "^1.0.1" - cli-width "^2.0.0" - external-editor "^1.0.1" - figures "^1.3.5" - lodash "^4.3.0" - mute-stream "0.0.6" - pinkie-promise "^2.0.0" - run-async "^2.2.0" - rx "^4.1.0" - string-width "^1.0.1" - strip-ansi "^3.0.0" - through "^2.3.6" - inquirer@^3.0.6: version "3.3.0" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9" @@ -4882,11 +4707,6 @@ invert-kv@^2.0.0: resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== -ip@^1.1.4, ip@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" - integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= - is-accessor-descriptor@^0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" @@ -6087,7 +5907,7 @@ lottie-react-native@^3.2.1: prop-types "^15.5.10" react-native-safe-modules "^1.0.0" -lru-cache@^4.0.1, lru-cache@^4.1.2, lru-cache@^4.1.5: +lru-cache@^4.0.1, lru-cache@^4.1.5: version "4.1.5" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== @@ -6178,11 +5998,6 @@ merge-stream@^2.0.0: resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -methods@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= - metro-babel-register@0.56.3, metro-babel-register@^0.56.0: version "0.56.3" resolved "https://registry.yarnpkg.com/metro-babel-register/-/metro-babel-register-0.56.3.tgz#d0cfb38adf45cb35965649ede794f2308562e20f" @@ -6452,7 +6267,7 @@ mime-types@^2.1.12, mime-types@~2.1.19, mime-types@~2.1.24: dependencies: mime-db "1.42.0" -mime@1.6.0, mime@^1.4.1: +mime@1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== @@ -6550,11 +6365,6 @@ ms@^2.1.1: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -mute-stream@0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.6.tgz#48962b19e169fd1dfc240b3f1e7317627bbc47db" - integrity sha1-SJYrGeFp/R38JAs/HnMXYnu8R9s= - mute-stream@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" @@ -6597,11 +6407,6 @@ neo-async@^2.6.0: resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== -netmask@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/netmask/-/netmask-1.0.6.tgz#20297e89d86f6f6400f250d9f4f6b4c1945fcd35" - integrity sha1-ICl+idhvb2QA8lDZ9Pa0wZRfzTU= - nice-try@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" @@ -6831,11 +6636,6 @@ once@^1.3.0, once@^1.3.1, once@^1.4.0: dependencies: wrappy "1" -onetime@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" - integrity sha1-ofeDj4MUxRbwXs78vEzP4EtO14k= - onetime@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" @@ -6915,12 +6715,7 @@ os-locale@^3.0.0: lcid "^2.0.0" mem "^4.0.0" -os-shim@^0.1.2: - version "0.1.3" - resolved "https://registry.yarnpkg.com/os-shim/-/os-shim-0.1.3.tgz#6b62c3791cf7909ea35ed46e17658bb417cb3917" - integrity sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc= - -os-tmpdir@^1.0.0, os-tmpdir@~1.0.1, os-tmpdir@~1.0.2: +os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= @@ -7028,31 +6823,6 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -pac-proxy-agent@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/pac-proxy-agent/-/pac-proxy-agent-2.0.2.tgz#90d9f6730ab0f4d2607dcdcd4d3d641aa26c3896" - integrity sha512-cDNAN1Ehjbf5EHkNY5qnRhGPUCp6SnpyVof5fRzN800QV1Y2OkzbH9rmjZkbBRa8igof903yOnjIl6z0SlAhxA== - dependencies: - agent-base "^4.2.0" - debug "^3.1.0" - get-uri "^2.0.0" - http-proxy-agent "^2.1.0" - https-proxy-agent "^2.2.1" - pac-resolver "^3.0.0" - raw-body "^2.2.0" - socks-proxy-agent "^3.0.0" - -pac-resolver@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pac-resolver/-/pac-resolver-3.0.0.tgz#6aea30787db0a891704deb7800a722a7615a6f26" - integrity sha512-tcc38bsjuE3XZ5+4vP96OfhOugrX+JcnpUbhfuc4LuXBLQhoTthOstZeoQJBDnQUDYzYmdImKsbz0xSl1/9qeA== - dependencies: - co "^4.6.0" - degenerator "^1.0.4" - ip "^1.1.5" - netmask "^1.0.6" - thunkify "^2.1.2" - parent-module@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" @@ -7169,11 +6939,6 @@ pbxproj-dom@^1.0.11: resolved "https://registry.yarnpkg.com/pbxproj-dom/-/pbxproj-dom-1.2.0.tgz#1cf4101163bd666eba9eb92a5b8f616ce824ea85" integrity sha512-K2czrWqA68AR0q1UXz5EBi/zoxcljrkO4RSJX0jPnVn3iyE0HYnYOzaEEDYMpueczkT/Vtdm3SCc3NM+12kMaQ== -pegjs@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/pegjs/-/pegjs-0.10.0.tgz#cf8bafae6eddff4b5a7efb185269eaaf4610ddbd" - integrity sha1-z4uvrm7d/0tafvsYUmnqr0YQ3b0= - performance-now@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" @@ -7194,18 +6959,6 @@ pify@^4.0.1: resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= - pirates@^4.0.0, pirates@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" @@ -7241,15 +6994,6 @@ please-upgrade-node@^3.0.2, please-upgrade-node@^3.2.0: dependencies: semver-compare "^1.0.0" -plist@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/plist/-/plist-2.0.1.tgz#0a32ca9481b1c364e92e18dc55c876de9d01da8b" - integrity sha1-CjLKlIGxw2TpLhjcVch23p0B2os= - dependencies: - base64-js "1.1.2" - xmlbuilder "8.2.2" - xmldom "0.1.x" - plist@3.0.1, plist@^3.0.0, plist@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.1.tgz#a9b931d17c304e8912ef0ba3bdd6182baf2e1f8c" @@ -7410,25 +7154,6 @@ proto-list@~1.2.1: resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" integrity sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk= -proxy-agent@2: - version "2.3.1" - resolved "https://registry.yarnpkg.com/proxy-agent/-/proxy-agent-2.3.1.tgz#3d49d863d46cf5f37ca8394848346ea02373eac6" - integrity sha512-CNKuhC1jVtm8KJYFTS2ZRO71VCBx3QSA92So/e6NrY6GoJonkx3Irnk4047EsCcswczwqAekRj3s8qLRGahSKg== - dependencies: - agent-base "^4.2.0" - debug "^3.1.0" - http-proxy-agent "^2.1.0" - https-proxy-agent "^2.2.1" - lru-cache "^4.1.2" - pac-proxy-agent "^2.0.1" - proxy-from-env "^1.0.0" - socks-proxy-agent "^3.0.0" - -proxy-from-env@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee" - integrity sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4= - pseudomap@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" @@ -7462,16 +7187,6 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -q@^1.4.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" - integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= - -qs@^6.5.1: - version "6.9.1" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.1.tgz#20082c65cb78223635ab1a9eaca8875a29bf8ec9" - integrity sha512-Cxm7/SS/y/Z3MHWSxXb8lIFqgqBowP5JMlTUFyJN88y0SGQhVmZnqFK/PeuMX9LzUyWsqqhNxIyg0jlzq946yA== - qs@~6.5.2: version "6.5.2" resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" @@ -7496,16 +7211,6 @@ range-parser@~1.2.1: resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== -raw-body@^2.2.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.1.tgz#30ac82f98bb5ae8c152e67149dac8d55153b168c" - integrity sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA== - dependencies: - bytes "3.1.0" - http-errors "1.7.3" - iconv-lite "0.4.24" - unpipe "1.0.0" - react-addons-shallow-compare@15.6.2: version "15.6.2" resolved "https://registry.yarnpkg.com/react-addons-shallow-compare/-/react-addons-shallow-compare-15.6.2.tgz#198a00b91fc37623db64a28fd17b596ba362702f" @@ -7574,26 +7279,14 @@ react-native-autoheight-webview@^1.4.1: dependencies: prop-types "^15.7.2" -react-native-code-push@esteemapp/react-native-code-push: - version "1000.0.0-beta" - resolved "https://codeload.github.com/esteemapp/react-native-code-push/tar.gz/c07b7023c1212dc5d9231a0526a869d2501cb221" - dependencies: - code-push "2.0.6" - glob "^5.0.15" - hoist-non-react-statics "^2.3.1" - inquirer "1.1.2" - plist "3.0.1" - semver "^5.6.0" - xcode "1.0.0" - react-native-config@luggit/react-native-config#master: version "0.12.0" resolved "https://codeload.github.com/luggit/react-native-config/tar.gz/cf8ab95350a227d1a932fec7a920df562b3e9ae5" -react-native-dark-mode@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/react-native-dark-mode/-/react-native-dark-mode-0.2.1.tgz#10e74ec213c896c7f0a74c37670214a6c24a6623" - integrity sha512-/S4xv7t9v8nfndAkmOzvqkACWGlnDv0GQjM9GkK7wt/N0Ecy3BTARuBJ0LOk62NX+MVg/Z6MiJGP2KcYOUIxHw== +react-native-dark-mode@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/react-native-dark-mode/-/react-native-dark-mode-0.2.2.tgz#4faa335e36330bfca832ba8b3d2bd84c7b880381" + integrity sha512-2vhWOOimU7DRKYjCU/pdv0+JpnGKURq5+c7bre093Jtzk57HtlJfd+ViibbC9Y8zh0viIOyKtfL5mYhVhZ6Crw== dependencies: "@types/events" "*" "@types/react" "*" @@ -7687,10 +7380,15 @@ react-native-modal-dropdown@esteemapp/react-native-modal-dropdown: deprecated-react-native-listview "0.0.5" prop-types "^15.6.0" -react-native-navigation-bar-color@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/react-native-navigation-bar-color/-/react-native-navigation-bar-color-0.1.0.tgz#358be3eb8630dbaf5993ec9cf07b279590984f2e" - integrity sha512-Hymvfg40MH4vYgXZ5QgCk9i6BqcaD9inFiBGSj3Gobk0bq7O2G/uccs0+Dmlpe12RfC+R+XX6yvW7NTwOppQrQ== +react-native-modal-translucent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/react-native-modal-translucent/-/react-native-modal-translucent-5.0.0.tgz#8b35cfa4189dce776c77a925b00ad19d965bd0a2" + integrity sha512-xhJAlq4uCE7jPEIPxGS1WNiRIm5DCrZEO3SF88moTOm6b4/wfFEANf+lMsVkQf9b9dsQ6Em4nq4uAoejtbHb2A== + +react-native-navigation-bar-color@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/react-native-navigation-bar-color/-/react-native-navigation-bar-color-1.0.0.tgz#04ff752a58049af93ceea9ccf266b8d3fbc6514a" + integrity sha512-djBE0zSp+JT65VeUm4UpIpr9DA9SpE9YTLwDAcqkWfB9JI8l3djSx+SmrIYfc7dUs216Y6qo2dr0qR3+M5qbOQ== react-native-reanimated@^1.3.0: version "1.4.0" @@ -7953,17 +7651,7 @@ read-pkg@^5.2.0: parse-json "^5.0.0" type-fest "^0.6.0" -readable-stream@1.1.x: - version "1.1.14" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" - integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk= - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - -readable-stream@2, readable-stream@^2.0.1, readable-stream@^2.2.2, readable-stream@^2.3.5, readable-stream@~2.3.6: +readable-stream@^2.0.1, readable-stream@^2.2.2, readable-stream@~2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== @@ -7992,11 +7680,6 @@ realpath-native@^1.1.0: dependencies: util.promisify "^1.0.0" -recursive-fs@0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/recursive-fs/-/recursive-fs-0.1.4.tgz#47e08b1ddab8d7d9a960aa0d0daea76f875b63fa" - integrity sha1-R+CLHdq419mpYKoNDa6nb4dbY/o= - redux-devtools-extension@^2.13.5: version "2.13.8" resolved "https://registry.yarnpkg.com/redux-devtools-extension/-/redux-devtools-extension-2.13.8.tgz#37b982688626e5e4993ff87220c9bbb7cd2d96e1" @@ -8250,14 +7933,6 @@ resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.3.2, resolve@^1.5. dependencies: path-parse "^1.0.6" -restore-cursor@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" - integrity sha1-NGYfRohjJ/7SmRR5FSJS35LapUE= - dependencies: - exit-hook "^1.0.0" - onetime "^1.0.0" - restore-cursor@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" @@ -8342,11 +8017,6 @@ rx-lite@*, rx-lite@^4.0.8: resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" integrity sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ= -rx@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782" - integrity sha1-pfE/957zt0D+MKqAP7CfmIBdR4I= - rxjs@^5.4.3: version "5.5.12" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.5.12.tgz#6fa61b8a77c3d793dbaf270bee2f43f652d741cc" @@ -8575,15 +8245,6 @@ signal-exit@^3.0.0, signal-exit@^3.0.2: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= -simple-plist@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/simple-plist/-/simple-plist-0.2.1.tgz#71766db352326928cf3a807242ba762322636723" - integrity sha1-cXZts1IyaSjPOoByQrp2IyJjZyM= - dependencies: - bplist-creator "0.0.7" - bplist-parser "0.1.1" - plist "2.0.1" - simple-plist@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/simple-plist/-/simple-plist-1.1.0.tgz#8354ab63eb3922a054c78ce96c209c532e907a23" @@ -8598,11 +8259,6 @@ sisteransi@^1.0.3: resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.4.tgz#386713f1ef688c7c0304dc4c0632898941cad2e3" integrity sha512-/ekMoM4NJ59ivGSfKapeG+FWtrmWvA1p6FBZwXrqojw90vJu8lBmrTxCMuBCydKtkaUe2zt4PlxeTKpjwMbyig== -slash@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" - integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= - slash@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" @@ -8639,11 +8295,6 @@ slide@^1.1.5: resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" integrity sha1-VusCfWW00tzmyy4tMsTUr8nh1wc= -smart-buffer@^1.0.13: - version "1.1.15" - resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-1.1.15.tgz#7f114b5b65fab3e2a35aa775bb12f0d1c649bf16" - integrity sha1-fxFLW2X6s+KjWqd1uxLw0cZJvxY= - snapdragon-node@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" @@ -8674,22 +8325,6 @@ snapdragon@^0.8.1: source-map-resolve "^0.5.0" use "^3.1.0" -socks-proxy-agent@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-3.0.1.tgz#2eae7cf8e2a82d34565761539a7f9718c5617659" - integrity sha512-ZwEDymm204mTzvdqyUqOdovVr2YRd2NYskrYrF2LXyZ9qDiMAoFESGK8CRphiO7rtbo2Y757k2Nia3x2hGtalA== - dependencies: - agent-base "^4.1.0" - socks "^1.1.10" - -socks@^1.1.10: - version "1.1.10" - resolved "https://registry.yarnpkg.com/socks/-/socks-1.1.10.tgz#5b8b7fc7c8f341c53ed056e929b7bf4de8ba7b5a" - integrity sha1-W4t/x8jzQcU+0FbpKbe/Tei6e1o= - dependencies: - ip "^1.1.4" - smart-buffer "^1.0.13" - source-map-resolve@^0.5.0: version "0.5.2" resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" @@ -8724,14 +8359,6 @@ source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== -spawn-sync@^1.0.15: - version "1.0.15" - resolved "https://registry.yarnpkg.com/spawn-sync/-/spawn-sync-1.0.15.tgz#b00799557eb7fb0c8376c29d44e8a1ea67e57476" - integrity sha1-sAeZVX63+wyDdsKdROih6mfldHY= - dependencies: - concat-stream "^1.4.7" - os-shim "^0.1.2" - spdx-correct@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" @@ -8941,11 +8568,6 @@ string_decoder@^1.1.1: dependencies: safe-buffer "~5.2.0" -string_decoder@~0.10.x: - version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= - string_decoder@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" @@ -9003,30 +8625,6 @@ sudo-prompt@^9.0.0: resolved "https://registry.yarnpkg.com/sudo-prompt/-/sudo-prompt-9.1.1.tgz#73853d729770392caec029e2470db9c221754db0" integrity sha512-es33J1g2HjMpyAhz8lOR+ICmXXAqTuKbuXuUWLhOLew20oN9oUCgCJx615U/v7aioZg7IX5lIh9x34vwneu4pA== -superagent-proxy@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/superagent-proxy/-/superagent-proxy-1.0.3.tgz#acfa776672f11c24a90ad575e855def8be44f741" - integrity sha512-79Ujg1lRL2ICfuHUdX+H2MjIw73kB7bXsIkxLwHURz3j0XUmEEEoJ+u/wq+mKwna21Uejsm2cGR3OESA00TIjA== - dependencies: - debug "^3.1.0" - proxy-agent "2" - -superagent@^3.8.0: - version "3.8.3" - resolved "https://registry.yarnpkg.com/superagent/-/superagent-3.8.3.tgz#460ea0dbdb7d5b11bc4f78deba565f86a178e128" - integrity sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA== - dependencies: - component-emitter "^1.2.0" - cookiejar "^2.1.0" - debug "^3.1.0" - extend "^3.0.0" - form-data "^2.3.1" - formidable "^1.2.0" - methods "^1.1.1" - mime "^1.4.1" - qs "^6.5.1" - readable-stream "^2.3.5" - supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" @@ -9124,23 +8722,11 @@ through@^2.3.6: resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= -thunkify@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/thunkify/-/thunkify-2.1.2.tgz#faa0e9d230c51acc95ca13a361ac05ca7e04553d" - integrity sha1-+qDp0jDFGsyVyhOjYawFyn4EVT0= - time-stamp@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3" integrity sha1-dkpaEa9QVhkhsTPztE5hhofg9cM= -tmp@^0.0.29: - version "0.0.29" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.29.tgz#f25125ff0dd9da3ccb0c2dd371ee1288bb9128c0" - integrity sha1-8lEl/w3Z2jzLDC3Tce4SiLuRKMA= - dependencies: - os-tmpdir "~1.0.1" - tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" @@ -9357,7 +8943,7 @@ universalify@^0.1.0: resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== -unpipe@1.0.0, unpipe@~1.0.0: +unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= @@ -9420,11 +9006,6 @@ utils-merge@1.0.1: resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= -uuid@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" - integrity sha1-ZUS7ot/ajBzxfmKaOjBeK7H+5sE= - uuid@^3.3.2: version "3.3.3" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866" @@ -9650,15 +9231,6 @@ ws@^5.2.0: dependencies: async-limiter "~1.0.0" -xcode@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/xcode/-/xcode-1.0.0.tgz#e1f5b1443245ded38c180796df1a10fdeda084ec" - integrity sha1-4fWxRDJF3tOMGAeW3xoQ/e2ghOw= - dependencies: - pegjs "^0.10.0" - simple-plist "^0.2.1" - uuid "3.0.1" - xcode@2.0.0, xcode@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/xcode/-/xcode-2.0.0.tgz#134f1f94c26fbfe8a9aaa9724bfb2772419da1a2" @@ -9672,11 +9244,6 @@ xml-name-validator@^3.0.0: resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== -xmlbuilder@8.2.2: - version "8.2.2" - resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-8.2.2.tgz#69248673410b4ba42e1a6136551d2922335aa773" - integrity sha1-aSSGc0ELS6QuGmE2VR0pIjNap3M= - xmlbuilder@^9.0.7: version "9.0.7" resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" @@ -9699,11 +9266,6 @@ xpipe@^1.0.5: resolved "https://registry.yarnpkg.com/xpipe/-/xpipe-1.0.5.tgz#8dd8bf45fc3f7f55f0e054b878f43a62614dafdf" integrity sha1-jdi/Rfw/f1Xw4FS4ePQ6YmFNr98= -xregexp@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-2.0.0.tgz#52a63e56ca0b84a7f3a5f3d61872f126ad7a5943" - integrity sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM= - xtend@^4.0.1, xtend@~4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" @@ -9804,10 +9366,3 @@ yargs@^9.0.0: which-module "^2.0.0" y18n "^3.2.1" yargs-parser "^7.0.0" - -yazl@^2.4.1: - version "2.5.1" - resolved "https://registry.yarnpkg.com/yazl/-/yazl-2.5.1.tgz#a3d65d3dd659a5b0937850e8609f22fffa2b5c35" - integrity sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw== - dependencies: - buffer-crc32 "~0.2.3"