diff --git a/android/app/build.gradle b/android/app/build.gradle index 16ed21e..1084da9 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -77,6 +77,7 @@ project.ext.react = [ ] apply from: "../../node_modules/react-native/react.gradle" +apply from: "../../node_modules/react-native-vector-icons/fonts.gradle" /** * Set this to true to create two separate APKs instead of one: @@ -137,9 +138,9 @@ android { } dependencies { + compile project(':react-native-vector-icons') compile project(':react-native-share') compile project(':realm') - compile project(':react-native-svg') 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/Entypo.ttf b/android/app/src/main/assets/fonts/Entypo.ttf new file mode 100644 index 0000000..1c8f5e9 Binary files /dev/null and b/android/app/src/main/assets/fonts/Entypo.ttf differ diff --git a/android/app/src/main/assets/fonts/EvilIcons.ttf b/android/app/src/main/assets/fonts/EvilIcons.ttf new file mode 100644 index 0000000..6868f7b Binary files /dev/null and b/android/app/src/main/assets/fonts/EvilIcons.ttf differ diff --git a/android/app/src/main/assets/fonts/Feather.ttf b/android/app/src/main/assets/fonts/Feather.ttf new file mode 100755 index 0000000..fc963df Binary files /dev/null and b/android/app/src/main/assets/fonts/Feather.ttf differ diff --git a/android/app/src/main/assets/fonts/FontAwesome.ttf b/android/app/src/main/assets/fonts/FontAwesome.ttf new file mode 100644 index 0000000..35acda2 Binary files /dev/null and b/android/app/src/main/assets/fonts/FontAwesome.ttf differ diff --git a/android/app/src/main/assets/fonts/FontAwesome5_Brands.ttf b/android/app/src/main/assets/fonts/FontAwesome5_Brands.ttf new file mode 100644 index 0000000..2ffa92d Binary files /dev/null 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 new file mode 100644 index 0000000..43406e8 Binary files /dev/null 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 new file mode 100644 index 0000000..a1da1bb Binary files /dev/null and b/android/app/src/main/assets/fonts/FontAwesome5_Solid.ttf differ diff --git a/android/app/src/main/assets/fonts/Foundation.ttf b/android/app/src/main/assets/fonts/Foundation.ttf new file mode 100644 index 0000000..6cce217 Binary files /dev/null and b/android/app/src/main/assets/fonts/Foundation.ttf differ diff --git a/android/app/src/main/assets/fonts/Ionicons.ttf b/android/app/src/main/assets/fonts/Ionicons.ttf new file mode 100644 index 0000000..67bd842 Binary files /dev/null and b/android/app/src/main/assets/fonts/Ionicons.ttf differ diff --git a/android/app/src/main/assets/fonts/MaterialCommunityIcons.ttf b/android/app/src/main/assets/fonts/MaterialCommunityIcons.ttf new file mode 100644 index 0000000..7845112 Binary files /dev/null and b/android/app/src/main/assets/fonts/MaterialCommunityIcons.ttf differ diff --git a/android/app/src/main/assets/fonts/MaterialIcons.ttf b/android/app/src/main/assets/fonts/MaterialIcons.ttf new file mode 100644 index 0000000..7015564 Binary files /dev/null and b/android/app/src/main/assets/fonts/MaterialIcons.ttf differ diff --git a/android/app/src/main/assets/fonts/Octicons.ttf b/android/app/src/main/assets/fonts/Octicons.ttf new file mode 100644 index 0000000..0ffe00b Binary files /dev/null and b/android/app/src/main/assets/fonts/Octicons.ttf differ diff --git a/android/app/src/main/assets/fonts/SimpleLineIcons.ttf b/android/app/src/main/assets/fonts/SimpleLineIcons.ttf new file mode 100644 index 0000000..6ecb686 Binary files /dev/null and b/android/app/src/main/assets/fonts/SimpleLineIcons.ttf differ diff --git a/android/app/src/main/assets/fonts/Zocial.ttf b/android/app/src/main/assets/fonts/Zocial.ttf new file mode 100644 index 0000000..e4ae46c Binary files /dev/null and b/android/app/src/main/assets/fonts/Zocial.ttf differ diff --git a/android/app/src/main/java/com/drip/MainApplication.java b/android/app/src/main/java/com/drip/MainApplication.java index 532b206..44756ab 100644 --- a/android/app/src/main/java/com/drip/MainApplication.java +++ b/android/app/src/main/java/com/drip/MainApplication.java @@ -3,10 +3,10 @@ package com.drip; import android.app.Application; import com.facebook.react.ReactApplication; +import com.oblador.vectoricons.VectorIconsPackage; import cl.json.RNSharePackage; import cl.json.ShareApplication; import io.realm.react.RealmReactPackage; -import com.horcrux.svg.SvgPackage; import com.facebook.react.ReactNativeHost; import com.facebook.react.ReactPackage; import com.facebook.react.shell.MainReactPackage; @@ -27,9 +27,9 @@ public class MainApplication extends Application implements ReactApplication, Sh protected List getPackages() { return Arrays.asList( new MainReactPackage(), + new VectorIconsPackage(), new RNSharePackage(), - new RealmReactPackage(), - new SvgPackage() + new RealmReactPackage() ); } diff --git a/android/settings.gradle b/android/settings.gradle index 0c603cd..4e17216 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -1,9 +1,9 @@ rootProject.name = 'drip' +include ':react-native-vector-icons' +project(':react-native-vector-icons').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-vector-icons/android') include ':react-native-share' project(':react-native-share').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-share/android') include ':realm' project(':realm').projectDir = new File(rootProject.projectDir, '../node_modules/realm/android') -include ':react-native-svg' -project(':react-native-svg').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-svg/android') include ':app' diff --git a/components/chart/chart.js b/components/chart/chart.js index 79bea87..449a120 100644 --- a/components/chart/chart.js +++ b/components/chart/chart.js @@ -1,15 +1,8 @@ import React, { Component } from 'react' -import { Text as ReactNativeText, View, FlatList, ScrollView } from 'react-native' +import { Text, View, FlatList, ScrollView } from 'react-native' import range from 'date-range' -import Svg,{ - G, - Rect, - Text, - Circle, - Line, - Path -} from 'react-native-svg' import { LocalDate } from 'js-joda' +import Icon from 'react-native-vector-icons/Entypo' import { getCycleDay, getOrCreateCycleDay, cycleDaysSortedByDate } from '../../db' import cycleModule from '../../lib/cycle' import styles from './styles' @@ -46,83 +39,118 @@ export default class CycleChart extends Component { } placeHorizontalGrid() { - return yAxis.tickPositions.map(tick => { - return ( - - ) - }) } makeDayColumn({ dateString, cycleDay, y }, index) { const cycleDayNumber = getCycleDayNumber(dateString) const label = styles.column.label - const dateLabel = dateString.split('-').slice(1).join('-') + const dateText = dateString.split('-').slice(1).join('-') const getFhmAndLtlInfo = setUpFertilityStatusFunc() const nfpLineInfo = getFhmAndLtlInfo(dateString, cycleDay) - return ( - this.passDateToDayView(dateString)}> - - {nfpLineInfo.drawFhmLine ? - : null} - - {this.placeHorizontalGrid()} - - - {cycleDayNumber} - - - {dateLabel} - - - {cycleDay && cycleDay.bleeding ? - - : null} - - {nfpLineInfo.drawLtlAt ? - : null} - - {y ? - this.drawDotAndLines(y, cycleDay.temperature.exclude, index) - : null + const horizontalGrid = yAxis.labels.map((_, i) => { + return React.createElement( + View, + { + style: Object.assign( + {}, + styles.horizontalGrid, + { marginTop: yAxis.tickDistance } + ), + key: i.toString() } - {cycleDay && cycleDay.mucus ? - : null} + ) + }) + //TODO move these so they are visible + const cycleDayLabel = ( + + {cycleDayNumber} + ) + const dateLabel = ( + + {dateText} + + ) + const columnElements = [] + if (cycleDay && cycleDay.bleeding) { + console.log('ever?') + columnElements.push( + + ) + } + columnElements.push(...[horizontalGrid, cycleDayLabel, dateLabel]) + // {nfpLineInfo.drawFhmLine ? + // : null} + // />) - {y ? - this.drawDotAndLines(y, cycleDay.temperature.exclude, index) - : null} - + // onPress: () => this.passDateToDayView(dateString), + + // + // : null} + + // {nfpLineInfo.drawLtlAt ? + // : null} + + if (y) { + columnElements.push(this.drawDotAndLines(y, cycleDay.temperature.exclude, index)) + } + // {cycleDay && cycleDay.mucus ? + // : null} + + // {y ? + // this.drawDotAndLines(y, cycleDay.temperature.exclude, index) + // : null} */} + + return React.createElement( + View, + { + style: styles.column.rect, + key: index.toString() + }, + columnElements ) } drawDotAndLines(currY, exclude, index) { + /* + ) */ let lineToRight let lineToLeft const cols = this.state.columns @@ -144,7 +172,7 @@ export default class CycleChart extends Component { const thereIsADotToTheRight = index > 0 && cols[index - 1].y const thereIsADotToTheLeft = index < cols.length - 1 && cols[index + 1].y - if (thereIsADotToTheRight) { + /* if (thereIsADotToTheRight) { const otherDot = cols[index - 1] const excludedLine = otherDot.cycleDay.temperature.exclude || exclude lineToRight = makeLine(otherDot.y, config.columnWidth, excludedLine) @@ -153,18 +181,20 @@ export default class CycleChart extends Component { const otherDot = cols[index + 1] const excludedLine = otherDot.cycleDay.temperature.exclude || exclude lineToLeft = makeLine(otherDot.y, 0, excludedLine) - } + } */ const dotStyle = exclude ? styles.curveDotsExcluded : styles.curveDots - return ( - {lineToRight} - {lineToLeft} - - ) + ] } render() { @@ -177,15 +207,11 @@ export default class CycleChart extends Component { showsHorizontalScrollIndicator={false} data={this.state.columns} renderItem={({ item, index }) => { - return ( - - {this.makeDayColumn(item, index)} - - ) + return this.makeDayColumn(item, index) }} keyExtractor={item => item.dateString} - > - + initialNumToRender={20} + /> ) } @@ -235,7 +261,6 @@ function makeYAxis() { const numberOfTicks = (scaleMax - scaleMin) * 2 const tickDistance = config.chartHeight / numberOfTicks - const tickPositions = [] const labels = [] // for style reasons, we don't want the first and last tick for (let i = 1; i < numberOfTicks - 1; i++) { @@ -246,16 +271,15 @@ function makeYAxis() { // to reliably place the label vertically centered to the grid style.top = y - 8 labels.push( - {scaleMax - i * 0.5} - + ) - tickPositions.push(y) } - return {labels, tickPositions} + return {labels, tickDistance} } function setUpFertilityStatusFunc() { diff --git a/components/chart/config.js b/components/chart/config.js index d18c722..d36413a 100644 --- a/components/chart/config.js +++ b/components/chart/config.js @@ -5,7 +5,7 @@ const config = { low: 33, high: 40 }, - xAxisRangeInDays: 40 + xAxisRangeInDays: 30 } const margin = 3 diff --git a/components/chart/drop.svg b/components/chart/drop.svg new file mode 100644 index 0000000..809d239 --- /dev/null +++ b/components/chart/drop.svg @@ -0,0 +1,12 @@ + + + + diff --git a/components/chart/styles.js b/components/chart/styles.js index 8c2ab2e..d503f5c 100644 --- a/components/chart/styles.js +++ b/components/chart/styles.js @@ -11,8 +11,10 @@ const styles = { strokeDashArray: [4] }, curveDots: { - fill: '#00aedb', - r: 6 + backgroundColor: '#00aedb', + width: 15, + height: 15, + borderRadius: 50 }, curveDotsExcluded: { fill: 'lightgrey', @@ -33,13 +35,12 @@ const styles = { } }, rect: { - fill: '#f9f9f9', - strokeWidth: 1, - stroke: 'grey', - x: 0, - y: 0, width: config.columnWidth, - height: config.chartHeight + height: config.chartHeight, + borderStyle: 'solid', + borderColor: 'grey', + borderWidth: 1, + backgroundColor: 'transparent' } }, bleedingIcon: { @@ -72,8 +73,10 @@ const styles = { fontWeight: 'bold' }, horizontalGrid: { - stroke: 'lightgrey', - strokeWidth: 1 + borderColor: 'lightgrey', + borderWidth: 1, + width: config.columnWidth, + borderStyle: 'solid' }, nfpLine: { stroke: '#00b159', diff --git a/ios/drip.xcodeproj/project.pbxproj b/ios/drip.xcodeproj/project.pbxproj index 109fe9f..b6ef381 100644 --- a/ios/drip.xcodeproj/project.pbxproj +++ b/ios/drip.xcodeproj/project.pbxproj @@ -37,12 +37,25 @@ 5E9157361DD0AC6A00FF2AA8 /* libRCTAnimation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */; }; 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 832341B51AAA6A8300B99B32 /* libRCTText.a */; }; ADBDB9381DFEBF1600ED6528 /* libRCTBlob.a in Frameworks */ = {isa = PBXBuildFile; fileRef = ADBDB9271DFEBF0700ED6528 /* libRCTBlob.a */; }; - EFD2F9E5E59248D9AD6EBABA /* libRNSVG.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F4A1722D79F04D5EB528E21A /* libRNSVG.a */; }; - 934282049FA3497D9062CEC1 /* libRNSVG-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5ADC07BB282A481EBD5FD2A2 /* libRNSVG-tvOS.a */; }; 089A8A31B3244EB381D3BA67 /* libRealmReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7A5827160B914D2B99C47381 /* libRealmReact.a */; }; 62F2A4645AC84CDC9506FF27 /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 9AEBF0735214455AAEDF56D5 /* libc++.tbd */; }; D91133DCE120440893E2FD2E /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = CD8C8B91E0A747B3883A0D56 /* libz.tbd */; }; 26DC04B498C64CE5AAA0C4F8 /* libRNShare.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A8B59389C2FC4F19BD30ABC3 /* libRNShare.a */; }; + AED64B7892744F21B3A156BB /* libRNVectorIcons.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F5039D0A572B4BBCB7995891 /* libRNVectorIcons.a */; }; + 283136C9CE964E07BD52BE20 /* Entypo.ttf in Resources */ = {isa = PBXBuildFile; fileRef = A2811C9225AC4EAC93FCD2DB /* Entypo.ttf */; }; + 87508EF4BE7548878981BE9E /* EvilIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = B41CDA1146DB4492B1796444 /* EvilIcons.ttf */; }; + 4E04B0A1FECA4915AD4A6CCF /* Feather.ttf in Resources */ = {isa = PBXBuildFile; fileRef = F59A471BDE4144A1A41D4B52 /* Feather.ttf */; }; + 20146F2E2E9E4EB289472E81 /* FontAwesome.ttf in Resources */ = {isa = PBXBuildFile; fileRef = EE8CBB8533DA48A9A78697C3 /* FontAwesome.ttf */; }; + AF2EAEC3772C41A49A4AF117 /* FontAwesome5_Brands.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 044ECCD7D9B8470782A453CA /* FontAwesome5_Brands.ttf */; }; + 3F0F9C6368674C66AEAC3807 /* FontAwesome5_Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = C783C08EEEB541D2A30FEE44 /* FontAwesome5_Regular.ttf */; }; + 7D48A7B9435741CCA9678C42 /* FontAwesome5_Solid.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 0BE71E2D5A634744A662DF44 /* FontAwesome5_Solid.ttf */; }; + 8E4308D3D8614B0BACABF058 /* Foundation.ttf in Resources */ = {isa = PBXBuildFile; fileRef = EA87C1DB160640E0907EE056 /* Foundation.ttf */; }; + DB93C03E56074FB78F7F5B7C /* Ionicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 8F2C7294680449AEA698AF76 /* Ionicons.ttf */; }; + 96687426D3D64D0F8E15FE4B /* MaterialCommunityIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 5D8CEEF11CF346C7A641F4EC /* MaterialCommunityIcons.ttf */; }; + DF31809C83AD48569741458C /* MaterialIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = B39DD260535A4B0EB31A3E0A /* MaterialIcons.ttf */; }; + DB91E6CCC3EB4A549D947797 /* Octicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 4902D5DCD46748BD8DC403FD /* Octicons.ttf */; }; + 3DF2498A20844F298CD84CC3 /* SimpleLineIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = E954835D62BD45F0A5FFC523 /* SimpleLineIcons.ttf */; }; + A1410AC4C98A49B2820D9E45 /* Zocial.ttf in Resources */ = {isa = PBXBuildFile; fileRef = B6F5078F7DEC470782757471 /* Zocial.ttf */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -348,15 +361,28 @@ 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTLinking.xcodeproj; path = "../node_modules/react-native/Libraries/LinkingIOS/RCTLinking.xcodeproj"; sourceTree = ""; }; 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTText.xcodeproj; path = "../node_modules/react-native/Libraries/Text/RCTText.xcodeproj"; sourceTree = ""; }; ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTBlob.xcodeproj; path = "../node_modules/react-native/Libraries/Blob/RCTBlob.xcodeproj"; sourceTree = ""; }; - 8316A5AD64274E6FBA6C9FFE /* RNSVG.xcodeproj */ = {isa = PBXFileReference; name = "RNSVG.xcodeproj"; path = "../node_modules/react-native-svg/ios/RNSVG.xcodeproj"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = wrapper.pb-project; explicitFileType = undefined; includeInIndex = 0; }; - F4A1722D79F04D5EB528E21A /* libRNSVG.a */ = {isa = PBXFileReference; name = "libRNSVG.a"; path = "libRNSVG.a"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; }; - 5ADC07BB282A481EBD5FD2A2 /* libRNSVG-tvOS.a */ = {isa = PBXFileReference; name = "libRNSVG-tvOS.a"; path = "libRNSVG-tvOS.a"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; }; 7F6C9FA9B66B453CA602B334 /* RealmReact.xcodeproj */ = {isa = PBXFileReference; name = "RealmReact.xcodeproj"; path = "../node_modules/realm/react-native/ios/RealmReact.xcodeproj"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = wrapper.pb-project; explicitFileType = undefined; includeInIndex = 0; }; 7A5827160B914D2B99C47381 /* libRealmReact.a */ = {isa = PBXFileReference; name = "libRealmReact.a"; path = "libRealmReact.a"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; }; 9AEBF0735214455AAEDF56D5 /* libc++.tbd */ = {isa = PBXFileReference; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; fileEncoding = undefined; lastKnownFileType = sourcecode.text-based-dylib-definition; explicitFileType = undefined; includeInIndex = 0; }; CD8C8B91E0A747B3883A0D56 /* libz.tbd */ = {isa = PBXFileReference; name = "libz.tbd"; path = "usr/lib/libz.tbd"; sourceTree = SDKROOT; fileEncoding = undefined; lastKnownFileType = sourcecode.text-based-dylib-definition; explicitFileType = undefined; includeInIndex = 0; }; 4E6AB77B55F2491487B6124E /* RNShare.xcodeproj */ = {isa = PBXFileReference; name = "RNShare.xcodeproj"; path = "../node_modules/react-native-share/ios/RNShare.xcodeproj"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = wrapper.pb-project; explicitFileType = undefined; includeInIndex = 0; }; A8B59389C2FC4F19BD30ABC3 /* libRNShare.a */ = {isa = PBXFileReference; name = "libRNShare.a"; path = "libRNShare.a"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; }; + D1E5ACC4B66345868F556374 /* RNVectorIcons.xcodeproj */ = {isa = PBXFileReference; name = "RNVectorIcons.xcodeproj"; path = "../node_modules/react-native-vector-icons/RNVectorIcons.xcodeproj"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = wrapper.pb-project; explicitFileType = undefined; includeInIndex = 0; }; + F5039D0A572B4BBCB7995891 /* libRNVectorIcons.a */ = {isa = PBXFileReference; name = "libRNVectorIcons.a"; path = "libRNVectorIcons.a"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; }; + A2811C9225AC4EAC93FCD2DB /* Entypo.ttf */ = {isa = PBXFileReference; name = "Entypo.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/Entypo.ttf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; }; + B41CDA1146DB4492B1796444 /* EvilIcons.ttf */ = {isa = PBXFileReference; name = "EvilIcons.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/EvilIcons.ttf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; }; + F59A471BDE4144A1A41D4B52 /* Feather.ttf */ = {isa = PBXFileReference; name = "Feather.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/Feather.ttf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; }; + EE8CBB8533DA48A9A78697C3 /* FontAwesome.ttf */ = {isa = PBXFileReference; name = "FontAwesome.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome.ttf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; }; + 044ECCD7D9B8470782A453CA /* FontAwesome5_Brands.ttf */ = {isa = PBXFileReference; name = "FontAwesome5_Brands.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Brands.ttf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; }; + C783C08EEEB541D2A30FEE44 /* FontAwesome5_Regular.ttf */ = {isa = PBXFileReference; name = "FontAwesome5_Regular.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Regular.ttf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; }; + 0BE71E2D5A634744A662DF44 /* FontAwesome5_Solid.ttf */ = {isa = PBXFileReference; name = "FontAwesome5_Solid.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Solid.ttf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; }; + EA87C1DB160640E0907EE056 /* Foundation.ttf */ = {isa = PBXFileReference; name = "Foundation.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/Foundation.ttf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; }; + 8F2C7294680449AEA698AF76 /* Ionicons.ttf */ = {isa = PBXFileReference; name = "Ionicons.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/Ionicons.ttf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; }; + 5D8CEEF11CF346C7A641F4EC /* MaterialCommunityIcons.ttf */ = {isa = PBXFileReference; name = "MaterialCommunityIcons.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; }; + B39DD260535A4B0EB31A3E0A /* MaterialIcons.ttf */ = {isa = PBXFileReference; name = "MaterialIcons.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/MaterialIcons.ttf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; }; + 4902D5DCD46748BD8DC403FD /* Octicons.ttf */ = {isa = PBXFileReference; name = "Octicons.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/Octicons.ttf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; }; + E954835D62BD45F0A5FFC523 /* SimpleLineIcons.ttf */ = {isa = PBXFileReference; name = "SimpleLineIcons.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/SimpleLineIcons.ttf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; }; + B6F5078F7DEC470782757471 /* Zocial.ttf */ = {isa = PBXFileReference; name = "Zocial.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/Zocial.ttf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -385,11 +411,11 @@ 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */, 00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */, 139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */, - EFD2F9E5E59248D9AD6EBABA /* libRNSVG.a in Frameworks */, 089A8A31B3244EB381D3BA67 /* libRealmReact.a in Frameworks */, 62F2A4645AC84CDC9506FF27 /* libc++.tbd in Frameworks */, D91133DCE120440893E2FD2E /* libz.tbd in Frameworks */, 26DC04B498C64CE5AAA0C4F8 /* libRNShare.a in Frameworks */, + AED64B7892744F21B3A156BB /* libRNVectorIcons.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -579,9 +605,9 @@ 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */, 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */, 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */, - 8316A5AD64274E6FBA6C9FFE /* RNSVG.xcodeproj */, 7F6C9FA9B66B453CA602B334 /* RealmReact.xcodeproj */, 4E6AB77B55F2491487B6124E /* RNShare.xcodeproj */, + D1E5ACC4B66345868F556374 /* RNVectorIcons.xcodeproj */, ); name = Libraries; sourceTree = ""; @@ -603,6 +629,7 @@ 00E356EF1AD99517003FC87E /* dripTests */, 83CBBA001A601CBA00E9B192 /* Products */, 2D16E6871FA4F8E400B85C8A /* Frameworks */, + 006C39A0B9774387BC5ACA43 /* Resources */, ); indentWidth = 2; sourceTree = ""; @@ -629,6 +656,28 @@ name = Products; sourceTree = ""; }; + 006C39A0B9774387BC5ACA43 /* Resources */ = { + isa = "PBXGroup"; + children = ( + A2811C9225AC4EAC93FCD2DB /* Entypo.ttf */, + B41CDA1146DB4492B1796444 /* EvilIcons.ttf */, + F59A471BDE4144A1A41D4B52 /* Feather.ttf */, + EE8CBB8533DA48A9A78697C3 /* FontAwesome.ttf */, + 044ECCD7D9B8470782A453CA /* FontAwesome5_Brands.ttf */, + C783C08EEEB541D2A30FEE44 /* FontAwesome5_Regular.ttf */, + 0BE71E2D5A634744A662DF44 /* FontAwesome5_Solid.ttf */, + EA87C1DB160640E0907EE056 /* Foundation.ttf */, + 8F2C7294680449AEA698AF76 /* Ionicons.ttf */, + 5D8CEEF11CF346C7A641F4EC /* MaterialCommunityIcons.ttf */, + B39DD260535A4B0EB31A3E0A /* MaterialIcons.ttf */, + 4902D5DCD46748BD8DC403FD /* Octicons.ttf */, + E954835D62BD45F0A5FFC523 /* SimpleLineIcons.ttf */, + B6F5078F7DEC470782757471 /* Zocial.ttf */, + ); + name = Resources; + sourceTree = ""; + path = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -1075,6 +1124,20 @@ files = ( 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */, 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */, + 283136C9CE964E07BD52BE20 /* Entypo.ttf in Resources */, + 87508EF4BE7548878981BE9E /* EvilIcons.ttf in Resources */, + 4E04B0A1FECA4915AD4A6CCF /* Feather.ttf in Resources */, + 20146F2E2E9E4EB289472E81 /* FontAwesome.ttf in Resources */, + AF2EAEC3772C41A49A4AF117 /* FontAwesome5_Brands.ttf in Resources */, + 3F0F9C6368674C66AEAC3807 /* FontAwesome5_Regular.ttf in Resources */, + 7D48A7B9435741CCA9678C42 /* FontAwesome5_Solid.ttf in Resources */, + 8E4308D3D8614B0BACABF058 /* Foundation.ttf in Resources */, + DB93C03E56074FB78F7F5B7C /* Ionicons.ttf in Resources */, + 96687426D3D64D0F8E15FE4B /* MaterialCommunityIcons.ttf in Resources */, + DF31809C83AD48569741458C /* MaterialIcons.ttf in Resources */, + DB91E6CCC3EB4A549D947797 /* Octicons.ttf in Resources */, + 3DF2498A20844F298CD84CC3 /* SimpleLineIcons.ttf in Resources */, + A1410AC4C98A49B2820D9E45 /* Zocial.ttf in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1212,9 +1275,9 @@ ); HEADER_SEARCH_PATHS = ( "$(inherited)", - "$(SRCROOT)/../node_modules/react-native-svg/ios/**", "$(SRCROOT)/../node_modules/realm/src/**", "$(SRCROOT)/../node_modules/react-native-share/ios", + "$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager", ); }; name = Debug; @@ -1239,9 +1302,9 @@ ); HEADER_SEARCH_PATHS = ( "$(inherited)", - "$(SRCROOT)/../node_modules/react-native-svg/ios/**", "$(SRCROOT)/../node_modules/realm/src/**", "$(SRCROOT)/../node_modules/react-native-share/ios", + "$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager", ); }; name = Release; @@ -1263,9 +1326,9 @@ VERSIONING_SYSTEM = "apple-generic"; HEADER_SEARCH_PATHS = ( "$(inherited)", - "$(SRCROOT)/../node_modules/react-native-svg/ios/**", "$(SRCROOT)/../node_modules/realm/src/**", "$(SRCROOT)/../node_modules/react-native-share/ios", + "$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager", ); }; name = Debug; @@ -1286,9 +1349,9 @@ VERSIONING_SYSTEM = "apple-generic"; HEADER_SEARCH_PATHS = ( "$(inherited)", - "$(SRCROOT)/../node_modules/react-native-svg/ios/**", "$(SRCROOT)/../node_modules/realm/src/**", "$(SRCROOT)/../node_modules/react-native-share/ios", + "$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager", ); }; name = Release; @@ -1322,9 +1385,9 @@ ); HEADER_SEARCH_PATHS = ( "$(inherited)", - "$(SRCROOT)/../node_modules/react-native-svg/ios/**", "$(SRCROOT)/../node_modules/realm/src/**", "$(SRCROOT)/../node_modules/react-native-share/ios", + "$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager", ); }; name = Debug; @@ -1358,9 +1421,9 @@ ); HEADER_SEARCH_PATHS = ( "$(inherited)", - "$(SRCROOT)/../node_modules/react-native-svg/ios/**", "$(SRCROOT)/../node_modules/realm/src/**", "$(SRCROOT)/../node_modules/react-native-share/ios", + "$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager", ); }; name = Release; @@ -1393,9 +1456,9 @@ ); HEADER_SEARCH_PATHS = ( "$(inherited)", - "$(SRCROOT)/../node_modules/react-native-svg/ios/**", "$(SRCROOT)/../node_modules/realm/src/**", "$(SRCROOT)/../node_modules/react-native-share/ios", + "$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager", ); }; name = Debug; @@ -1428,9 +1491,9 @@ ); HEADER_SEARCH_PATHS = ( "$(inherited)", - "$(SRCROOT)/../node_modules/react-native-svg/ios/**", "$(SRCROOT)/../node_modules/realm/src/**", "$(SRCROOT)/../node_modules/react-native-share/ios", + "$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager", ); }; name = Release; diff --git a/ios/drip/Info.plist b/ios/drip/Info.plist index 615a393..804756f 100644 --- a/ios/drip/Info.plist +++ b/ios/drip/Info.plist @@ -39,9 +39,8 @@ UIViewControllerBasedStatusBarAppearance NSLocationWhenInUseUsageDescription - + NSAppTransportSecurity - NSExceptionDomains @@ -52,5 +51,22 @@ + UIAppFonts + + Entypo.ttf + EvilIcons.ttf + Feather.ttf + FontAwesome.ttf + FontAwesome5_Brands.ttf + FontAwesome5_Regular.ttf + FontAwesome5_Solid.ttf + Foundation.ttf + Ionicons.ttf + MaterialCommunityIcons.ttf + MaterialIcons.ttf + Octicons.ttf + SimpleLineIcons.ttf + Zocial.ttf + diff --git a/package-lock.json b/package-lock.json index a9e59b5..86dcf00 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2376,15 +2376,6 @@ "object-visit": "^1.0.0" } }, - "color": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color/-/color-2.0.1.tgz", - "integrity": "sha512-ubUCVVKfT7r2w2D3qtHakj8mbmKms+tThR8gI8zEYCbUBl8/voqFGt3kgBqGwXAopgXybnkuOq+qMYCRrp4cXw==", - "requires": { - "color-convert": "^1.9.1", - "color-string": "^1.5.2" - } - }, "color-convert": { "version": "1.9.2", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.2.tgz", @@ -2398,15 +2389,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.1.tgz", "integrity": "sha1-SxQVMEz1ACjqgWQ2Q72C6gWANok=" }, - "color-string": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz", - "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==", - "requires": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, "color-support": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", @@ -6444,16 +6426,6 @@ "resolved": "https://registry.npmjs.org/react-native-simple-radio-button/-/react-native-simple-radio-button-2.7.2.tgz", "integrity": "sha512-BdlllHsC/gYJtxPJ2tshDWN8CzmlGg1G9uB+Lu4FRGvGkwhvMtJ/uNShMbvxu134xosH/feri6HQgLGlIT202Q==" }, - "react-native-svg": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-6.5.1.tgz", - "integrity": "sha512-Fnn89loVOeek0NrSQ9sM13eXCPn/BK16Xvx8BgzZpoTx6/SEaoxi3kPLVzAbHLiV7VHq1opSkNcvRd+2/wUOOw==", - "requires": { - "color": "^2.0.1", - "lodash": "^4.16.6", - "pegjs": "^0.10.0" - } - }, "react-native-tab-view": { "version": "0.0.77", "resolved": "https://registry.npmjs.org/react-native-tab-view/-/react-native-tab-view-0.0.77.tgz", @@ -6462,6 +6434,38 @@ "prop-types": "^15.6.0" } }, + "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==", + "requires": { + "lodash": "^4.0.0", + "prop-types": "^15.5.10", + "yargs": "^8.0.2" + }, + "dependencies": { + "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", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^7.0.0" + } + } + } + }, "react-navigation": { "version": "2.10.0", "resolved": "https://registry.npmjs.org/react-navigation/-/react-navigation-2.10.0.tgz", @@ -7437,21 +7441,6 @@ } } }, - "simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", - "requires": { - "is-arrayish": "^0.3.1" - }, - "dependencies": { - "is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" - } - } - }, "slash": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", diff --git a/package.json b/package.json index 217d5ff..58f2638 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "react-native-modal-datetime-picker-nevo": "^4.11.0", "react-native-share": "^1.1.0", "react-native-simple-radio-button": "^2.7.1", - "react-native-svg": "^6.3.1", + "react-native-vector-icons": "^5.0.0", "react-navigation": "^2.0.4", "realm": "^2.7.1", "uuid": "^3.2.1"