diff --git a/android/app/build.gradle b/android/app/build.gradle index 50b43ca2d897db4f4b5df71387877c7a3ecaeae6..9c0e0943b93f9762f31dae5f6c7f80f3492ed4c0 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -149,14 +149,14 @@ android { } dependencies { - compile project(':nodejs-mobile-react-native') - compile project(':react-native-restart') - compile project(':react-native-push-notification') - compile project(':react-native-vector-icons') - compile project(':react-native-fs') - compile project(':react-native-document-picker') - compile project(':react-native-share') - compile project(':realm') + implementation project(':realm') + implementation project(':react-native-vector-icons') + implementation project(':react-native-share') + implementation project(':react-native-restart') + implementation project(':react-native-push-notification') + implementation project(':react-native-fs') + implementation project(':react-native-document-picker') + implementation project(':nodejs-mobile-react-native') compile fileTree(dir: "libs", include: ["*.jar"]) compile "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}" compile "com.facebook.react:react-native:+" // From node_modules diff --git a/android/app/src/main/assets/fonts/AntDesign.ttf b/android/app/src/main/assets/fonts/AntDesign.ttf new file mode 100644 index 0000000000000000000000000000000000000000..2abf03542c17e6f7a7806a226c3be732b51c5a40 Binary files /dev/null and b/android/app/src/main/assets/fonts/AntDesign.ttf differ diff --git a/android/app/src/main/assets/fonts/FontAwesome5_Brands.ttf b/android/app/src/main/assets/fonts/FontAwesome5_Brands.ttf index 2ffa92d4fadb1ccccee6568190d19de33a649c87..5f72e9127ffaae2a500cd9d950067f46c21b277c 100644 Binary files a/android/app/src/main/assets/fonts/FontAwesome5_Brands.ttf and b/android/app/src/main/assets/fonts/FontAwesome5_Brands.ttf differ diff --git a/android/app/src/main/assets/fonts/FontAwesome5_Regular.ttf b/android/app/src/main/assets/fonts/FontAwesome5_Regular.ttf index 43406e854c2da65c8b265caef07f3c211ee88528..a309313d5fb20765dff1d8f41dbd72c558097611 100644 Binary files a/android/app/src/main/assets/fonts/FontAwesome5_Regular.ttf and b/android/app/src/main/assets/fonts/FontAwesome5_Regular.ttf differ diff --git a/android/app/src/main/assets/fonts/FontAwesome5_Solid.ttf b/android/app/src/main/assets/fonts/FontAwesome5_Solid.ttf index a1da1bbb5cfe3dada307313edf776231171c80e9..7ece3282a4f7824b249d9e568819d98bd2fa3da6 100644 Binary files a/android/app/src/main/assets/fonts/FontAwesome5_Solid.ttf and b/android/app/src/main/assets/fonts/FontAwesome5_Solid.ttf differ diff --git a/android/app/src/main/assets/fonts/MaterialCommunityIcons.ttf b/android/app/src/main/assets/fonts/MaterialCommunityIcons.ttf index 7845112675481a1feaec41905f7bf47d55cb8ff3..3219fca04a286ac369e63b507908d557f1a5cb9c 100644 Binary files a/android/app/src/main/assets/fonts/MaterialCommunityIcons.ttf and b/android/app/src/main/assets/fonts/MaterialCommunityIcons.ttf differ diff --git a/android/app/src/main/assets/fonts/Octicons.ttf b/android/app/src/main/assets/fonts/Octicons.ttf index 0ffe00b92b2e2d21c1f33024760f685cbb7ffdb8..ceac75d75e6bcaf56823bacd051bd9f135af6f4a 100644 Binary files a/android/app/src/main/assets/fonts/Octicons.ttf and b/android/app/src/main/assets/fonts/Octicons.ttf differ diff --git a/components/cycle-day/symptoms/action-button-footer.js b/components/cycle-day/symptoms/action-button-footer.js deleted file mode 100644 index 37526f385c8007985d6a0c2a16f4fd9fe12a7c3c..0000000000000000000000000000000000000000 --- a/components/cycle-day/symptoms/action-button-footer.js +++ /dev/null @@ -1,67 +0,0 @@ -import React, { Component } from 'react' -import { - View, TouchableOpacity, Text, Alert} from 'react-native' -import Icon from 'react-native-vector-icons/MaterialCommunityIcons' -import { saveSymptom } from '../../../db' -import styles, {iconStyles} from '../../../styles' -import {sharedDialogs as labels} from '../../../i18n/en/cycle-day' - - -export default class ActionButtonFooter extends Component { - render() { - const { - symptom, - currentSymptomValue, - date, - navigate, - } - = this.props - const navigateToOverView = () => navigate('CycleDay', {date}) - const buttons = [ - { - title: labels.delete, - action: () => { - Alert.alert( - labels.areYouSureTitle, - labels.areYouSureToDelete, - [{ - text: labels.cancel, - style: 'cancel' - }, { - text: labels.reallyDeleteData, - onPress: () => { - saveSymptom(symptom, date) - navigateToOverView() - } - }] - ) - }, - disabledCondition: (!currentSymptomValue || - (Object.keys(currentSymptomValue).length === 0 && currentSymptomValue.constructor === Object) || - (Object.values(currentSymptomValue).every(x => !x) && currentSymptomValue.constructor === Object) - ), - icon: 'delete-outline' - } - ] - return ( - <View style={styles.menu}> - {buttons.map(({ title, action, icon }, i) => { - const textStyle = [styles.menuText] - return ( - <TouchableOpacity - onPress={action} - style={styles.actionButtonItem} - key={i.toString()} - > - <Icon name={icon} {...iconStyles.menuIcon} /> - <Text style={textStyle}> - {title.toLowerCase()} - </Text> - </TouchableOpacity> - - ) - })} - </View> - ) - } -} diff --git a/components/cycle-day/symptoms/symptom-view.js b/components/cycle-day/symptoms/symptom-view.js index 9bd7a03fe545eaeb449e09ef0b152fc59e6bda4d..b782a12c597b744e389ca3e2431f4d8bfcf37445 100644 --- a/components/cycle-day/symptoms/symptom-view.js +++ b/components/cycle-day/symptoms/symptom-view.js @@ -1,8 +1,9 @@ import React, { Component } from 'react' -import { BackHandler, View } from 'react-native' +import { BackHandler, View, Alert } from 'react-native' import { saveSymptom } from '../../../db' import Header from '../../header/symptom-view' import { headerTitles } from '../../../i18n/en/labels' +import { sharedDialogs } from '../../../i18n/en/cycle-day' export default class SymptomView extends Component { constructor(props) { @@ -33,6 +34,13 @@ export default class SymptomView extends Component { this.backHandler.remove() } + isDeleteIconActive() { + return Object.values(this.state).some(value => { + // is there any meaningful value in the current state? + return value || value === 0 + }) + } + render() { return ( <View style={{flex: 1}}> @@ -40,9 +48,22 @@ export default class SymptomView extends Component { title={headerTitles[this.symptomName].toLowerCase()} date={this.date} goBack={this.handleBackButtonPressOnSymptomView.bind(this)} + deleteIconActive={this.isDeleteIconActive()} deleteEntry={() => { - this.deleteSymptomEntry() - this.globalBackhandler() + Alert.alert( + sharedDialogs.areYouSureTitle, + sharedDialogs.areYouSureToDelete, + [{ + text: sharedDialogs.cancel, + style: 'cancel' + }, { + text: sharedDialogs.reallyDeleteData, + onPress: () => { + this.deleteSymptomEntry() + this.globalBackhandler() + } + }] + ) }} /> {this.renderContent()} diff --git a/components/cycle-day/symptoms/temperature.js b/components/cycle-day/symptoms/temperature.js index 3bb08c966f854be71088b3e9719bf210333dad42..8171f8696e8fce4becb48e2408087e4b53bff561 100644 --- a/components/cycle-day/symptoms/temperature.js +++ b/components/cycle-day/symptoms/temperature.js @@ -47,7 +47,7 @@ export default class Temp extends SymptomView { } else { const prevTemp = getPreviousTemperature(props.date) if (prevTemp) { - this.state.temperature = prevTemp.toString() + this.state.suggestedTemperature = prevTemp.toString() this.state.isSuggestion = true } } @@ -55,6 +55,14 @@ export default class Temp extends SymptomView { symptomName = 'temperature' + isDeleteIconActive() { + return ['temperature', 'note', 'exclude'].some(key => { + // the time is always and the suggested temp sometimes prefilled, so they're not relevant for setting + // the delete button active. + return this.state[key] || this.state[key] === 0 + }) + } + async onBackButtonPress() { if (typeof this.state.temperature != 'string' || this.state.temperature === '') { this.deleteSymptomEntry() @@ -142,8 +150,7 @@ export default class Temp extends SymptomView { <AppTextInput style={[inputStyle]} autoFocus={true} - placeholder={this.state.temperature} - value={this.state.temperature} + value={this.state.temperature || this.state.suggestedTemperature} onChangeText={this.setTemperature} keyboardType='numeric' maxLength={5} diff --git a/components/header/back-button.js b/components/header/back-button.js index 619610681393259315eb42df311da34a50378fa2..e4437e12b2c7e33273e04d12d65b037fecda4595 100644 --- a/components/header/back-button.js +++ b/components/header/back-button.js @@ -4,7 +4,7 @@ import { TouchableOpacity, View } from 'react-native' -import styles, { iconStyles } from '../../styles' +import styles from '../../styles' import NavigationArrow from './navigation-arrow' import Icon from 'react-native-vector-icons/Entypo' @@ -21,10 +21,9 @@ export default function BackButtonHeader(props) { {props.title} </Text> </View> - <TouchableOpacity style={styles.hiddenIcon}> + <TouchableOpacity> <Icon name={'chevron-thin-right'} - {...iconStyles.hiddenIcon} /> </TouchableOpacity> </View> diff --git a/components/header/symptom-view.js b/components/header/symptom-view.js index 6b6e384a4167edaddf2a51b7d5c9c222d760db92..d3df5857b84e58b97ff3bcb3ab626fd7ae43778f 100644 --- a/components/header/symptom-view.js +++ b/components/header/symptom-view.js @@ -6,7 +6,7 @@ import { Dimensions } from 'react-native' import styles, { iconStyles } from '../../styles' -import FeatherIcon from 'react-native-vector-icons/Feather' +import Icon from 'react-native-vector-icons/AntDesign' import NavigationArrow from './navigation-arrow' import formatDate from '../helpers/format-date' @@ -32,11 +32,12 @@ export default function SymptomViewHeader(props) { </View > <TouchableOpacity onPress={props.deleteEntry} - style={styles.infoButton} + style={[styles.infoButton, {opacity: props.deleteIconActive ? 1 : 0}]} + disabled={!props.deleteIconActive} > - <FeatherIcon - name="info" - style={styles.symptomInfoIcon} + <Icon + name="delete" + style={styles.symptomDeleteIcon} {...iconStyles.symptomHeaderIcons} /> </TouchableOpacity> diff --git a/ios/drip.xcodeproj/project.pbxproj b/ios/drip.xcodeproj/project.pbxproj index 59f72244148cdee403feee18916d3079383f32a3..87553be45aab8cb4097d769012825a4ef69983ed 100644 --- a/ios/drip.xcodeproj/project.pbxproj +++ b/ios/drip.xcodeproj/project.pbxproj @@ -5,7 +5,6 @@ }; objectVersion = 46; objects = { - /* Begin PBXBuildFile section */ 00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */; }; 00C302E71ABCBA2D00DB3ED1 /* libRCTGeolocation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */; }; @@ -72,6 +71,7 @@ E09F3B05A4F84E9883101CC7 /* libRNNodeJsMobile.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F992F2D99E614DD79FAD6565 /* libRNNodeJsMobile.a */; }; E43EF009AC8C4698AB322190 /* NodeMobile.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C225FC4966694B9FBD32E946 /* NodeMobile.framework */; }; E4584E55EEC24302A3E84A23 /* nodejs-project in Resources */ = {isa = PBXBuildFile; fileRef = 6466AE2461BE4FA88B8372F0 /* nodejs-project */; }; + 77500FAD5ADD402AAD2D9972 /* AntDesign.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 3102FB76D69C42938E0E126D /* AntDesign.ttf */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -515,6 +515,7 @@ F5039D0A572B4BBCB7995891 /* libRNVectorIcons.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNVectorIcons.a; sourceTree = "<group>"; }; F59A471BDE4144A1A41D4B52 /* Feather.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Feather.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Feather.ttf"; sourceTree = "<group>"; }; F992F2D99E614DD79FAD6565 /* libRNNodeJsMobile.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNNodeJsMobile.a; sourceTree = "<group>"; }; + 3102FB76D69C42938E0E126D /* AntDesign.ttf */ = {isa = PBXFileReference; name = "AntDesign.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/AntDesign.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -606,6 +607,7 @@ 5E7B0A75F8004C6699B70F86 /* Prompt-ExtraLight.ttf */, 673C016DDDD74C2F89050279 /* OpenSans-Light.ttf */, 644690BCCEBF41789960B9A2 /* OpenSans-SemiBold.ttf */, + 3102FB76D69C42938E0E126D /* AntDesign.ttf */, ); name = Resources; sourceTree = "<group>"; @@ -949,9 +951,9 @@ 13B07F8E1A680F5B00A75B9A /* Resources */, 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, 2B572382D4504B8FB4B9D251 /* Embed Frameworks */, - FF1D4199225D4DA692E5AEB6 /* Build NodeJS Mobile Native Modules */, - BF4F9DB28A984C43A497C8E6 /* Sign NodeJS Mobile Native Modules */, - 6292723A374D49FDB7CF4114 /* Remove NodeJS Mobile Framework Simulator Strips */, + 6A61F9B7BEB149D1894D6AB5 /* Build NodeJS Mobile Native Modules */, + 53E84D10AC6B4045A1DBAB0C /* Sign NodeJS Mobile Native Modules */, + F43CB3783FD9405C8198826C /* Remove NodeJS Mobile Framework Simulator Strips */, ); buildRules = ( ); @@ -1510,6 +1512,7 @@ B9A5B9946C4C456C823B7641 /* Prompt-ExtraLight.ttf in Resources */, 5D921C348AC14944835A4D82 /* OpenSans-Light.ttf in Resources */, 71D0BCE4666A4AB8A0874B5A /* OpenSans-SemiBold.ttf in Resources */, + 77500FAD5ADD402AAD2D9972 /* AntDesign.ttf in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1559,47 +1562,159 @@ shellPath = /bin/sh; shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh"; }; - 6292723A374D49FDB7CF4114 /* Remove NodeJS Mobile Framework Simulator Strips */ = { + 6A61F9B7BEB149D1894D6AB5 /* Build NodeJS Mobile Native Modules */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); + runOnlyForDeploymentPostprocessing = 0; + name = "Build NodeJS Mobile Native Modules"; inputPaths = ( ); - name = "Remove NodeJS Mobile Framework Simulator Strips"; outputPaths = ( ); - runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\nset -e\nFRAMEWORK_BINARY_PATH=\"$TARGET_BUILD_DIR/$FRAMEWORKS_FOLDER_PATH/NodeMobile.framework/NodeMobile\"\nFRAMEWORK_STRIPPED_PATH=\"$FRAMEWORK_BINARY_PATH-strip\"\nif [ \"$PLATFORM_NAME\" != \"iphonesimulator\" ]; then\n if $(lipo \"$FRAMEWORK_BINARY_PATH\" -verify_arch \"x86_64\") ; then\n lipo -output \"$FRAMEWORK_STRIPPED_PATH\" -remove \"x86_64\" \"$FRAMEWORK_BINARY_PATH\"\n rm \"$FRAMEWORK_BINARY_PATH\"\n mv \"$FRAMEWORK_STRIPPED_PATH\" \"$FRAMEWORK_BINARY_PATH\"\n echo \"Removed simulator strip from NodeMobile.framework\"\n fi\nfi\n"; - }; - BF4F9DB28A984C43A497C8E6 /* Sign NodeJS Mobile Native Modules */ = { + shellScript = " +set -e +if [ -z \"$NODEJS_MOBILE_BUILD_NATIVE_MODULES\" ]; then +# If build native modules preference is not set, look for it in the project's +#nodejs-assets/BUILD_NATIVE_MODULES.txt file. +NODEJS_ASSETS_DIR=\"$( cd \"$PROJECT_DIR\" && cd ../nodejs-assets/ && pwd )\" +PREFERENCE_FILE_PATH=\"$NODEJS_ASSETS_DIR/BUILD_NATIVE_MODULES.txt\" + if [ -f \"$PREFERENCE_FILE_PATH\" ]; then + NODEJS_MOBILE_BUILD_NATIVE_MODULES=\"$(cat $PREFERENCE_FILE_PATH | xargs)\" + fi +fi +if [ -z \"$NODEJS_MOBILE_BUILD_NATIVE_MODULES\" ]; then +# If build native modules preference is not set, try to find .gyp files +#to turn it on. + gypfiles=($(find \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -type f -name \"*.gyp\")) + if [ ${#gypfiles[@]} -gt 0 ]; then + NODEJS_MOBILE_BUILD_NATIVE_MODULES=1 + else + NODEJS_MOBILE_BUILD_NATIVE_MODULES=0 + fi +fi +if [ \"1\" != \"$NODEJS_MOBILE_BUILD_NATIVE_MODULES\" ]; then exit 0; fi +# Delete object files that may already come from within the npm package. +find \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -name \"*.o\" -type f -delete +find \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -name \"*.a\" -type f -delete +find \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -name \"*.node\" -type f -delete +# Delete bundle contents that may be there from previous builds. +find \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -path \"*/*.node/*\" -delete +find \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -name \"*.node\" -type d -delete +find \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -path \"*/*.framework/*\" -delete +find \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -name \"*.framework\" -type d -delete +# Apply patches to the modules package.json +if [ -d \"$CODESIGNING_FOLDER_PATH\"/nodejs-project/node_modules/ ]; then + PATCH_SCRIPT_DIR=\"$( cd \"$PROJECT_DIR\" && cd ../node_modules/nodejs-mobile-react-native/scripts/ && pwd )\" + NODEJS_PROJECT_MODULES_DIR=\"$( cd \"$CODESIGNING_FOLDER_PATH\" && cd nodejs-project/node_modules/ && pwd )\" + node \"$PATCH_SCRIPT_DIR\"/patch-package.js $NODEJS_PROJECT_MODULES_DIR +fi +# Get the nodejs-mobile-gyp location +if [ -d \"$PROJECT_DIR/../node_modules/nodejs-mobile-gyp/\" ]; then + NODEJS_MOBILE_GYP_DIR=\"$( cd \"$PROJECT_DIR\" && cd ../node_modules/nodejs-mobile-gyp/ && pwd )\" +else + NODEJS_MOBILE_GYP_DIR=\"$( cd \"$PROJECT_DIR\" && cd ../node_modules/nodejs-mobile-react-native/node_modules/nodejs-mobile-gyp/ && pwd )\" +fi +NODEJS_MOBILE_GYP_BIN_FILE=\"$NODEJS_MOBILE_GYP_DIR\"/bin/node-gyp.js +# Rebuild modules with right environment +NODEJS_HEADERS_DIR=\"$( cd \"$PROJECT_DIR\" && cd ../node_modules/nodejs-mobile-react-native/ios/libnode/ && pwd )\" +pushd $CODESIGNING_FOLDER_PATH/nodejs-project/ +if [ \"$PLATFORM_NAME\" == \"iphoneos\" ] +then + GYP_DEFINES=\"OS=ios\" npm_config_nodedir=\"$NODEJS_HEADERS_DIR\" npm_config_node_gyp=\"$NODEJS_MOBILE_GYP_BIN_FILE\" npm_config_platform=\"ios\" npm_config_format=\"make-ios\" npm_config_node_engine=\"chakracore\" npm_config_arch=\"arm64\" npm --verbose rebuild --build-from-source +else + GYP_DEFINES=\"OS=ios\" npm_config_nodedir=\"$NODEJS_HEADERS_DIR\" npm_config_node_gyp=\"$NODEJS_MOBILE_GYP_BIN_FILE\" npm_config_platform=\"ios\" npm_config_format=\"make-ios\" npm_config_node_engine=\"chakracore\" npm_config_arch=\"x64\" npm --verbose rebuild --build-from-source +fi +popd +"; + }; + 53E84D10AC6B4045A1DBAB0C /* Sign NodeJS Mobile Native Modules */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); + runOnlyForDeploymentPostprocessing = 0; + name = "Sign NodeJS Mobile Native Modules"; inputPaths = ( ); - name = "Sign NodeJS Mobile Native Modules"; outputPaths = ( ); - runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\nset -e\nif [ -z \"$NODEJS_MOBILE_BUILD_NATIVE_MODULES\" ]; then\n# If build native modules preference is not set, look for it in the project's\n#nodejs-assets/BUILD_NATIVE_MODULES.txt file.\nNODEJS_ASSETS_DIR=\"$( cd \"$PROJECT_DIR\" && cd ../nodejs-assets/ && pwd )\"\nPREFERENCE_FILE_PATH=\"$NODEJS_ASSETS_DIR/BUILD_NATIVE_MODULES.txt\"\n if [ -f \"$PREFERENCE_FILE_PATH\" ]; then\n NODEJS_MOBILE_BUILD_NATIVE_MODULES=\"$(cat $PREFERENCE_FILE_PATH | xargs)\"\n fi\nfi\nif [ -z \"$NODEJS_MOBILE_BUILD_NATIVE_MODULES\" ]; then\n# If build native modules preference is not set, try to find .gyp files\n#to turn it on.\n gypfiles=($(find \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -type f -name \"*.gyp\"))\n if [ ${#gypfiles[@]} -gt 0 ]; then\n NODEJS_MOBILE_BUILD_NATIVE_MODULES=1\n else\n NODEJS_MOBILE_BUILD_NATIVE_MODULES=0\n fi\nfi\nif [ \"1\" != \"$NODEJS_MOBILE_BUILD_NATIVE_MODULES\" ]; then exit 0; fi\n# Delete object files\nfind \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -name \"*.o\" -type f -delete\nfind \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -name \"*.a\" -type f -delete\n# Create Info.plist for each framework built and loader override.\nPATCH_SCRIPT_DIR=\"$( cd \"$PROJECT_DIR\" && cd ../node_modules/nodejs-mobile-react-native/scripts/ && pwd )\"\nNODEJS_PROJECT_DIR=\"$( cd \"$CODESIGNING_FOLDER_PATH\" && cd nodejs-project/ && pwd )\"\nnode \"$PATCH_SCRIPT_DIR\"/ios-create-plists-and-dlopen-override.js $NODEJS_PROJECT_DIR\n# Embed every resulting .framework in the application and delete them afterwards.\nembed_framework()\n{\n FRAMEWORK_NAME=\"$(basename \"$1\")\"\n cp -r \"$1\" \"$TARGET_BUILD_DIR/$FRAMEWORKS_FOLDER_PATH/\"\n \n /usr/bin/codesign --force --sign $EXPANDED_CODE_SIGN_IDENTITY --preserve-metadata=identifier,entitlements,flags --timestamp=none \"$TARGET_BUILD_DIR/$FRAMEWORKS_FOLDER_PATH/$FRAMEWORK_NAME\"\n}\nfind \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -name \"*.framework\" -type d | while read frmwrk_path; do embed_framework \"$frmwrk_path\"; done\n\n#Delete gyp temporary .deps dependency folders from the project structure.\nfind \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -path \"*/.deps/*\" -delete\nfind \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -name \".deps\" -type d -delete\n\n#Delete frameworks from their build paths\nfind \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -path \"*/*.framework/*\" -delete\nfind \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -name \"*.framework\" -type d -delete\n"; + shellScript = " +set -e +if [ -z \"$NODEJS_MOBILE_BUILD_NATIVE_MODULES\" ]; then +# If build native modules preference is not set, look for it in the project's +#nodejs-assets/BUILD_NATIVE_MODULES.txt file. +NODEJS_ASSETS_DIR=\"$( cd \"$PROJECT_DIR\" && cd ../nodejs-assets/ && pwd )\" +PREFERENCE_FILE_PATH=\"$NODEJS_ASSETS_DIR/BUILD_NATIVE_MODULES.txt\" + if [ -f \"$PREFERENCE_FILE_PATH\" ]; then + NODEJS_MOBILE_BUILD_NATIVE_MODULES=\"$(cat $PREFERENCE_FILE_PATH | xargs)\" + fi +fi +if [ -z \"$NODEJS_MOBILE_BUILD_NATIVE_MODULES\" ]; then +# If build native modules preference is not set, try to find .gyp files +#to turn it on. + gypfiles=($(find \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -type f -name \"*.gyp\")) + if [ ${#gypfiles[@]} -gt 0 ]; then + NODEJS_MOBILE_BUILD_NATIVE_MODULES=1 + else + NODEJS_MOBILE_BUILD_NATIVE_MODULES=0 + fi +fi +if [ \"1\" != \"$NODEJS_MOBILE_BUILD_NATIVE_MODULES\" ]; then exit 0; fi +# Delete object files +find \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -name \"*.o\" -type f -delete +find \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -name \"*.a\" -type f -delete +# Create Info.plist for each framework built and loader override. +PATCH_SCRIPT_DIR=\"$( cd \"$PROJECT_DIR\" && cd ../node_modules/nodejs-mobile-react-native/scripts/ && pwd )\" +NODEJS_PROJECT_DIR=\"$( cd \"$CODESIGNING_FOLDER_PATH\" && cd nodejs-project/ && pwd )\" +node \"$PATCH_SCRIPT_DIR\"/ios-create-plists-and-dlopen-override.js $NODEJS_PROJECT_DIR +# Embed every resulting .framework in the application and delete them afterwards. +embed_framework() +{ + FRAMEWORK_NAME=\"$(basename \"$1\")\" + cp -r \"$1\" \"$TARGET_BUILD_DIR/$FRAMEWORKS_FOLDER_PATH/\" + + /usr/bin/codesign --force --sign $EXPANDED_CODE_SIGN_IDENTITY --preserve-metadata=identifier,entitlements,flags --timestamp=none \"$TARGET_BUILD_DIR/$FRAMEWORKS_FOLDER_PATH/$FRAMEWORK_NAME\" +} +find \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -name \"*.framework\" -type d | while read frmwrk_path; do embed_framework \"$frmwrk_path\"; done + +#Delete gyp temporary .deps dependency folders from the project structure. +find \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -path \"*/.deps/*\" -delete +find \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -name \".deps\" -type d -delete + +#Delete frameworks from their build paths +find \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -path \"*/*.framework/*\" -delete +find \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -name \"*.framework\" -type d -delete +"; }; - FF1D4199225D4DA692E5AEB6 /* Build NodeJS Mobile Native Modules */ = { + F43CB3783FD9405C8198826C /* Remove NodeJS Mobile Framework Simulator Strips */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); + runOnlyForDeploymentPostprocessing = 0; + name = "Remove NodeJS Mobile Framework Simulator Strips"; inputPaths = ( ); - name = "Build NodeJS Mobile Native Modules"; outputPaths = ( ); - runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\nset -e\nif [ -z \"$NODEJS_MOBILE_BUILD_NATIVE_MODULES\" ]; then\n# If build native modules preference is not set, look for it in the project's\n#nodejs-assets/BUILD_NATIVE_MODULES.txt file.\nNODEJS_ASSETS_DIR=\"$( cd \"$PROJECT_DIR\" && cd ../nodejs-assets/ && pwd )\"\nPREFERENCE_FILE_PATH=\"$NODEJS_ASSETS_DIR/BUILD_NATIVE_MODULES.txt\"\n if [ -f \"$PREFERENCE_FILE_PATH\" ]; then\n NODEJS_MOBILE_BUILD_NATIVE_MODULES=\"$(cat $PREFERENCE_FILE_PATH | xargs)\"\n fi\nfi\nif [ -z \"$NODEJS_MOBILE_BUILD_NATIVE_MODULES\" ]; then\n# If build native modules preference is not set, try to find .gyp files\n#to turn it on.\n gypfiles=($(find \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -type f -name \"*.gyp\"))\n if [ ${#gypfiles[@]} -gt 0 ]; then\n NODEJS_MOBILE_BUILD_NATIVE_MODULES=1\n else\n NODEJS_MOBILE_BUILD_NATIVE_MODULES=0\n fi\nfi\nif [ \"1\" != \"$NODEJS_MOBILE_BUILD_NATIVE_MODULES\" ]; then exit 0; fi\n# Delete object files that may already come from within the npm package.\nfind \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -name \"*.o\" -type f -delete\nfind \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -name \"*.a\" -type f -delete\nfind \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -name \"*.node\" -type f -delete\n# Delete bundle contents that may be there from previous builds.\nfind \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -path \"*/*.node/*\" -delete\nfind \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -name \"*.node\" -type d -delete\nfind \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -path \"*/*.framework/*\" -delete\nfind \"$CODESIGNING_FOLDER_PATH/nodejs-project/\" -name \"*.framework\" -type d -delete\n# Apply patches to the modules package.json\nif [ -d \"$CODESIGNING_FOLDER_PATH\"/nodejs-project/node_modules/ ]; then\n PATCH_SCRIPT_DIR=\"$( cd \"$PROJECT_DIR\" && cd ../node_modules/nodejs-mobile-react-native/scripts/ && pwd )\"\n NODEJS_PROJECT_MODULES_DIR=\"$( cd \"$CODESIGNING_FOLDER_PATH\" && cd nodejs-project/node_modules/ && pwd )\"\n node \"$PATCH_SCRIPT_DIR\"/patch-package.js $NODEJS_PROJECT_MODULES_DIR\nfi\n# Get the nodejs-mobile-gyp location\nif [ -d \"$PROJECT_DIR/../node_modules/nodejs-mobile-gyp/\" ]; then\n NODEJS_MOBILE_GYP_DIR=\"$( cd \"$PROJECT_DIR\" && cd ../node_modules/nodejs-mobile-gyp/ && pwd )\"\nelse\n NODEJS_MOBILE_GYP_DIR=\"$( cd \"$PROJECT_DIR\" && cd ../node_modules/nodejs-mobile-react-native/node_modules/nodejs-mobile-gyp/ && pwd )\"\nfi\nNODEJS_MOBILE_GYP_BIN_FILE=\"$NODEJS_MOBILE_GYP_DIR\"/bin/node-gyp.js\n# Rebuild modules with right environment\nNODEJS_HEADERS_DIR=\"$( cd \"$PROJECT_DIR\" && cd ../node_modules/nodejs-mobile-react-native/ios/libnode/ && pwd )\"\npushd $CODESIGNING_FOLDER_PATH/nodejs-project/\nif [ \"$PLATFORM_NAME\" == \"iphoneos\" ]\nthen\n GYP_DEFINES=\"OS=ios\" npm_config_nodedir=\"$NODEJS_HEADERS_DIR\" npm_config_node_gyp=\"$NODEJS_MOBILE_GYP_BIN_FILE\" npm_config_platform=\"ios\" npm_config_format=\"make-ios\" npm_config_node_engine=\"chakracore\" npm_config_arch=\"arm64\" npm --verbose rebuild --build-from-source\nelse\n GYP_DEFINES=\"OS=ios\" npm_config_nodedir=\"$NODEJS_HEADERS_DIR\" npm_config_node_gyp=\"$NODEJS_MOBILE_GYP_BIN_FILE\" npm_config_platform=\"ios\" npm_config_format=\"make-ios\" npm_config_node_engine=\"chakracore\" npm_config_arch=\"x64\" npm --verbose rebuild --build-from-source\nfi\npopd\n"; + shellScript = " +set -e +FRAMEWORK_BINARY_PATH=\"$TARGET_BUILD_DIR/$FRAMEWORKS_FOLDER_PATH/NodeMobile.framework/NodeMobile\" +FRAMEWORK_STRIPPED_PATH=\"$FRAMEWORK_BINARY_PATH-strip\" +if [ \"$PLATFORM_NAME\" != \"iphonesimulator\" ]; then + if $(lipo \"$FRAMEWORK_BINARY_PATH\" -verify_arch \"x86_64\") ; then + lipo -output \"$FRAMEWORK_STRIPPED_PATH\" -remove \"x86_64\" \"$FRAMEWORK_BINARY_PATH\" + rm \"$FRAMEWORK_BINARY_PATH\" + mv \"$FRAMEWORK_STRIPPED_PATH\" \"$FRAMEWORK_BINARY_PATH\" + echo \"Removed simulator strip from NodeMobile.framework\" + fi +fi +"; }; /* End PBXShellScriptBuildPhase section */ diff --git a/ios/drip/Info.plist b/ios/drip/Info.plist index b4d44864dbd054b981df1588e4eb95fb0113e3fe..9091292f92e0367242382e4c32e057602318d2d1 100644 --- a/ios/drip/Info.plist +++ b/ios/drip/Info.plist @@ -86,6 +86,7 @@ <string>OpenSans-Light.ttf</string> <string>OpenSans-Regular.ttf</string> <string>OpenSans-SemiBold.ttf</string> + <string>AntDesign.ttf</string> </array> </dict> </plist> diff --git a/package-lock.json b/package-lock.json index 66701f9e7b15b4df57e1f26395d8cd1b32360159..4edb154c5c93f122970b47253b056380873e5127 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2392,8 +2392,7 @@ "emoji-regex": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" }, "encodeurl": { "version": "1.0.2", @@ -3229,7 +3228,8 @@ }, "ansi-regex": { "version": "2.1.1", - "bundled": true + "bundled": true, + "optional": true }, "aproba": { "version": "1.2.0", @@ -3247,11 +3247,13 @@ }, "balanced-match": { "version": "1.0.0", - "bundled": true + "bundled": true, + "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, + "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -3264,15 +3266,18 @@ }, "code-point-at": { "version": "1.1.0", - "bundled": true + "bundled": true, + "optional": true }, "concat-map": { "version": "0.0.1", - "bundled": true + "bundled": true, + "optional": true }, "console-control-strings": { "version": "1.1.0", - "bundled": true + "bundled": true, + "optional": true }, "core-util-is": { "version": "1.0.2", @@ -3375,7 +3380,8 @@ }, "inherits": { "version": "2.0.3", - "bundled": true + "bundled": true, + "optional": true }, "ini": { "version": "1.3.5", @@ -3385,6 +3391,7 @@ "is-fullwidth-code-point": { "version": "1.0.0", "bundled": true, + "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -3397,17 +3404,20 @@ "minimatch": { "version": "3.0.4", "bundled": true, + "optional": true, "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { "version": "0.0.8", - "bundled": true + "bundled": true, + "optional": true }, "minipass": { "version": "2.3.5", "bundled": true, + "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -3424,6 +3434,7 @@ "mkdirp": { "version": "0.5.1", "bundled": true, + "optional": true, "requires": { "minimist": "0.0.8" } @@ -3496,7 +3507,8 @@ }, "number-is-nan": { "version": "1.0.1", - "bundled": true + "bundled": true, + "optional": true }, "object-assign": { "version": "4.1.1", @@ -3506,6 +3518,7 @@ "once": { "version": "1.4.0", "bundled": true, + "optional": true, "requires": { "wrappy": "1" } @@ -3581,7 +3594,8 @@ }, "safe-buffer": { "version": "5.1.2", - "bundled": true + "bundled": true, + "optional": true }, "safer-buffer": { "version": "2.1.2", @@ -3611,6 +3625,7 @@ "string-width": { "version": "1.0.2", "bundled": true, + "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -3628,6 +3643,7 @@ "strip-ansi": { "version": "3.0.1", "bundled": true, + "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -3666,11 +3682,13 @@ }, "wrappy": { "version": "1.0.2", - "bundled": true + "bundled": true, + "optional": true }, "yallist": { "version": "3.0.3", - "bundled": true + "bundled": true, + "optional": true } } }, @@ -4869,6 +4887,14 @@ "tmpl": "1.0.x" } }, + "map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "requires": { + "p-defer": "^1.0.0" + } + }, "map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", @@ -5948,11 +5974,21 @@ "os-tmpdir": "^1.0.0" } }, + "p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=" + }, "p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" }, + "p-is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", + "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==" + }, "p-limit": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", @@ -6691,60 +6727,192 @@ "integrity": "sha512-vKAJqgkEt7HjsF0HUwgom+E0FbmFNVZNncHwby1+O8/mXlKugh+Ym6rvv+A2ASHmD5TXKohJMYT2+jYofzPORA==" }, "react-native-vector-icons": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-5.0.0.tgz", - "integrity": "sha512-3ZmLGhQFk5QeHuttx0tOpghXhpVMGwXzb3pVaW/M8Qj0qkcg7koVyZmoR9vABQuxFC6KbM3l6/WLYZPh2aGfuQ==", + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-6.4.2.tgz", + "integrity": "sha512-G7Y5HksOQkCanFWKJ+fjwP38XL8tQREOSnw7jrbq28AFrrv41YtafOF4uDSDS7HxMRXs17HeEzn24OzJb63iuA==", "requires": { "lodash": "^4.0.0", - "prop-types": "^15.5.10", - "yargs": "^8.0.2" + "prop-types": "^15.6.2", + "yargs": "^13.2.2" }, "dependencies": { "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "find-up": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + }, + "invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==" }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" }, + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "requires": { + "invert-kv": "^2.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "mem": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, + "os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "requires": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + } + }, + "p-limit": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", + "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + }, "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "requires": { + "emoji-regex": "^7.0.1", "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "strip-ansi": "^5.1.0" } }, "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "^4.1.0" } }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" + }, "yargs": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", - "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", - "requires": { - "camelcase": "^4.1.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "read-pkg-up": "^2.0.0", + "version": "13.2.4", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.4.tgz", + "integrity": "sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg==", + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "os-locale": "^3.1.0", "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", + "require-main-filename": "^2.0.0", "set-blocking": "^2.0.0", - "string-width": "^2.0.0", + "string-width": "^3.0.0", "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^7.0.0" + "y18n": "^4.0.0", + "yargs-parser": "^13.1.0" + } + }, + "yargs-parser": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.0.tgz", + "integrity": "sha512-Yq+32PrijHRri0vVKQEm+ys8mbqWjLiwQkMFNXEENutzLPP0bE4Lcd4iA3OQY5HF+GD3xXxf0MEHb8E4/SA3AA==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" } } } diff --git a/package.json b/package.json index 374ce706d85c85c974768287418ce6629a5b6874..eedc5975298c2a2ec3ea815d4159996c27f5128f 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "react-native-push-notification": "github:jfr3000/react-native-push-notification", "react-native-restart": "0.0.7", "react-native-share": "^1.1.3", - "react-native-vector-icons": "^5.0.0", + "react-native-vector-icons": "^6.4.2", "realm": "^2.22.0", "sympto": "^1.0.4" }, diff --git a/styles/index.js b/styles/index.js index df73543a0ddf259ce00e4669e95dc7d8a4ad0e7f..2b5d0f0f3268d3279c94a905896805b1f3ce0975 100644 --- a/styles/index.js +++ b/styles/index.js @@ -176,7 +176,7 @@ export default StyleSheet.create({ fontFamily: textFontBold, marginTop: 10 }, - symptomInfoIcon: { + symptomDeleteIcon: { marginRight: 20, marginLeft: 20 }, @@ -243,9 +243,6 @@ export default StyleSheet.create({ navigationArrow: { padding: 20 }, - hiddenIcon: { - padding: 20 - }, menu: { backgroundColor: primaryColor, alignItems: 'center', @@ -484,9 +481,5 @@ export const iconStyles = { infoInHeading: { marginRight: 5, color: 'black' - }, - hiddenIcon: { - size: 20, - display: 'none' } }