diff --git a/App/android/app/build.gradle b/App/android/app/build.gradle
index 2b2f7adc..ec49a2d4 100755
--- a/App/android/app/build.gradle
+++ b/App/android/app/build.gradle
@@ -149,6 +149,7 @@ android {
}
dependencies {
+ compile project(':react-native-maps')
compile project(':react-native-device-info')
compile project(':react-native-material-shadows')
compile project(':react-native-linear-gradient')
diff --git a/App/android/app/src/main/AndroidManifest.xml b/App/android/app/src/main/AndroidManifest.xml
index 94c48efd..46057b3b 100755
--- a/App/android/app/src/main/AndroidManifest.xml
+++ b/App/android/app/src/main/AndroidManifest.xml
@@ -1,27 +1,30 @@
+ package="com.app">
-
+
-
-
-
-
-
-
-
+ android:name=".MainApplication"
+ android:label="@string/app_name"
+ android:icon="@mipmap/ic_launcher"
+ android:allowBackup="false"
+ android:theme="@style/AppTheme">
+
+
+
+
+
+
+
+
diff --git a/App/android/app/src/main/java/com/app/MainApplication.java b/App/android/app/src/main/java/com/app/MainApplication.java
index 8b11f16a..23ca3771 100755
--- a/App/android/app/src/main/java/com/app/MainApplication.java
+++ b/App/android/app/src/main/java/com/app/MainApplication.java
@@ -3,6 +3,7 @@ package com.app;
import android.app.Application;
import com.facebook.react.ReactApplication;
+import com.airbnb.android.react.maps.MapsPackage;
import com.learnium.RNDeviceInfo.RNDeviceInfo;
import ui.materialshadows.RNMaterialShadowsPackage;
import com.BV.LinearGradient.LinearGradientPackage;
@@ -29,6 +30,7 @@ public class MainApplication extends Application implements ReactApplication {
protected List getPackages() {
return Arrays.asList(
new MainReactPackage(),
+ new MapsPackage(),
new RNDeviceInfo(),
new RNMaterialShadowsPackage(),
new LinearGradientPackage(),
diff --git a/App/android/settings.gradle b/App/android/settings.gradle
index 7c9cafb3..8dc9c679 100755
--- a/App/android/settings.gradle
+++ b/App/android/settings.gradle
@@ -1,4 +1,6 @@
rootProject.name = 'app'
+include ':react-native-maps'
+project(':react-native-maps').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-maps/lib/android')
include ':react-native-device-info'
project(':react-native-device-info').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-device-info/android')
include ':react-native-material-shadows'
@@ -11,5 +13,7 @@ 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-gesture-handler'
project(':react-native-gesture-handler').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-gesture-handler/android')
+include ':react-native-maps'
+project(':react-native-maps').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-maps/lib/android')
include ':app'
diff --git a/App/app/Router.js b/App/app/Router.js
index 74783cfe..cdd6d7c8 100755
--- a/App/app/Router.js
+++ b/App/app/Router.js
@@ -3,16 +3,23 @@ import {
TouchableOpacity,
Text,
View,
- Image
+ Image,
+
} from 'react-native';
import {
createStackNavigator,
createAppContainer,
createSwitchNavigator,
- createBottomTabNavigator
+ createBottomTabNavigator,
+ HeaderBackButton
} from 'react-navigation';
import * as Screens from './screens';
+/*Icons*/
+import Icon from "react-native-vector-icons/Ionicons"
+import IconF from "react-native-vector-icons/Foundation"
+import IconFA from "react-native-vector-icons/FontAwesome5"
+
import AuthLoadingScreen from './screens/AuthLoading'
@@ -25,17 +32,18 @@ import Calendar from './screens/Calendar'
import Home from './screens/Home'
-
-/*Icons*/
-import Icon from "react-native-vector-icons/Ionicons"
-import IconF from "react-native-vector-icons/Foundation"
-import IconFA from "react-native-vector-icons/FontAwesome5"
import Profile from "./screens/Profile";
import editCalendar from './screens/editCalendar';
import choosePath from './screens/choosePath';
import calendarDetail from './screens/calendarDetail';
+const navigationOptions = ({navigation}) => ({
+ headerLeft: navigation.goBack(null)}/>,
+ headerStyle: {backgroundColor: 'transparent', zIndex: 100 },
+
+});
+
const AppStack = createBottomTabNavigator(
{
Calendário: {
@@ -48,15 +56,15 @@ const AppStack = createBottomTabNavigator(
)
},
},
-
+
'Jogo do...': {
screen: Jogo,
navigationOptions: {
tabBarIcon: ({tintColor}) => (
-
-
+
+
)
},
},
@@ -71,8 +79,8 @@ const AppStack = createBottomTabNavigator(
},
},
-
- Eventos: {
+
+ Eventos: {
screen: Eventos,
navigationOptions: {
@@ -82,7 +90,7 @@ const AppStack = createBottomTabNavigator(
)
},
},
-
+
Home: {
screen: Home,
navigationOptions: {
@@ -94,7 +102,6 @@ const AppStack = createBottomTabNavigator(
},
-
},
{
initialRouteName: 'Home',
@@ -120,51 +127,56 @@ const Stack = createStackNavigator({
return {
headerTitle: `${navigation.state.routes[index].routeName}`,
headerRight: (
- navigation.navigate('Profile')}>
-
+ navigation.navigate('Profile')}>
+
editar
-
+
)
}
}
- else if(navigation.state.routes[index].routeName == 'Calendário'){
+ else if (navigation.state.routes[index].routeName == 'Calendário') {
return {
headerTitle: 'Calendário',
headerRight: (
-
- navigation.navigate('Edit')}>
- FAQ
-
-
+
+ navigation.navigate('Edit')}>
+ FAQ
+
+
+
+ navigation.navigate('choosePath')}>
+ Escolher
+
+
- navigation.navigate('choosePath')}>
- Escolher
-
-
-
)
}
- }
- else if(navigation.state.routes[index].routeName == 'choosePath'){
+ }
+ else if (navigation.state.routes[index].routeName == 'choosePath') {
return {
headerTitle: 'Calendário',
headerRight: (
-
- navigation.navigate('Edit')}>
- FAQ
-
-
+
+ navigation.navigate('Edit')}>
+ FAQ
+
+
+
+ navigation.navigate('choosePath')}>
+ Escolher
+
+
- navigation.navigate('choosePath')}>
- Escolher
-
-
-
)
}
- }
+ }
else {
return {
header: null
@@ -175,17 +187,15 @@ const Stack = createStackNavigator({
Profile: {
screen: Profile
},
- Edit:{
+ Edit: {
screen: editCalendar
},
- choosePath:{
+ choosePath: {
screen: choosePath
},
- calendarDetail:{
- screen:calendarDetail
- }
-
-
+ calendarDetail: {
+ screen: calendarDetail,
+ },
});
@@ -194,7 +204,7 @@ export default createAppContainer(createSwitchNavigator(
{
AuthLoading: AuthLoadingScreen,
App: Stack,
-
+
},
{
diff --git a/App/app/components/Nav.js b/App/app/components/Nav.js
new file mode 100644
index 00000000..eb06de50
--- /dev/null
+++ b/App/app/components/Nav.js
@@ -0,0 +1,99 @@
+import React, { Component } from 'react'
+import { StyleSheet, Text, View } from 'react-native'
+import { Icon } from 'react-native-elements'
+
+const styles = StyleSheet.create({
+ centerRow: {
+ alignItems: 'flex-start',
+ backgroundColor: 'transparent',
+ flex: 3,
+ flexDirection: 'column',
+ justifyContent: 'center',
+ },
+
+ container: {
+ backgroundColor: 'transparent',
+ borderBottomWidth: 0,
+ elevation: 0,
+ flexDirection: 'row',
+ height: 55,
+ justifyContent: 'center',
+ left: 0,
+ marginLeft: 10,
+ marginRight: 10,
+ //marginTop: 22,
+ position: 'absolute',
+ right: 0,
+ zIndex: 100,
+ },
+ icon: {
+ justifyContent: 'flex-start',
+ marginTop: 2.8,
+ },
+ iconContainer: {
+ alignSelf: 'center',
+ },
+ leftRow: {
+ backgroundColor: 'transparent',
+ flex: 1,
+ flexDirection: 'row',
+ justifyContent: 'flex-start',
+ },
+ rightRow: {
+ alignItems: 'flex-end',
+ backgroundColor: 'transparent',
+ flex: 2,
+ flexDirection: 'row',
+ justifyContent: 'flex-end',
+ marginRight: 4,
+ },
+ titleText: {
+ color: '#000',
+ fontSize: 24,
+ fontWeight: '600',
+ },
+ subTitleText: {
+ color: '#000',
+ fontSize: 14,
+ fontWeight: '400',
+ },
+});
+
+class Nav extends Component {
+
+
+ render() {
+ const { navigation, title} = this.props;
+
+ return (
+
+
+
+ navigation.goBack(null)}
+ color= '#000'
+ iconStyle={styles.icon}
+ underlayColor="transparent"
+ underlineColorAndroid="transparent"
+ containerStyle={styles.iconContainer}
+ hitSlop={{ top: 15, bottom: 15, left: 15, right: 15 }}
+ />
+
+
+
+ {title}
+
+
+
+
+
+
+
+ )
+ }
+}
+
+export default Nav
\ No newline at end of file
diff --git a/App/app/screens/Scan.js b/App/app/screens/Scan.js
index 9eda08b8..fb0702ea 100644
--- a/App/app/screens/Scan.js
+++ b/App/app/screens/Scan.js
@@ -1,121 +1,174 @@
import React from 'react';
-import { View, Image, Vibration, Dimensions,Text ,Button ,TouchableOpacity } from 'react-native';
+import {View, Image, Vibration, Dimensions, Text, Button, TouchableOpacity, ActivityIndicator} from 'react-native';
import QRCodeScanner from 'react-native-qrcode-scanner';
import {UtilStyles} from '../assets/styles'
import CodeInput from 'react-native-confirmation-code-input';
import Modal from "react-native-modal";
+import {TabView, TabBar, SceneMap} from 'react-native-tab-view';
+
+import {
+ RkButton,
+ RkTheme, RkText
+} from 'react-native-ui-kitten';
-import {RkButton,
- RkTheme , RkText} from 'react-native-ui-kitten';
+import IconMI from "react-native-vector-icons/MaterialIcons"
- const SCREEN_HEIGHT = Dimensions.get("window").height;
- const SCREEN_WIDTH = Dimensions.get("window").width;
+
+const SCREEN_HEIGHT = Dimensions.get("window").height;
+const SCREEN_WIDTH = Dimensions.get("window").width;
export default class Scan extends React.Component {
_toggleModal = () =>
- this.setState({ isModalVisible: !this.state.isModalVisible });
+ this.setState({isModalVisible: !this.state.isModalVisible});
- _activate=()=>{
+ _activate = () => {
- this.setState({ isModalVisible: !this.state.isModalVisible ,reactivate:true});
+ this.setState({isModalVisible: !this.state.isModalVisible, reactivate: true});
this.scanner.reactivate();
}
onSuccess = (e) => {
- this.setState({ isModalVisible: !this.state.isModalVisible ,isActive:false});
- this.setState({code:e.data});
- };
+ this.setState({isModalVisible: !this.state.isModalVisible, isActive: false});
+ this.setState({code: e.data});
+ };
- state = {
- isActive:true,
- isRender: true,
- reactivate:false,
- isModalVisible: false,
- code:''
-
- }
- componentDidMount() {
+
+ state = {
+ isActive: true,
+ isRender: true,
+ reactivate: false,
+ isModalVisible: false,
+ code: '',
+
+ index: 0,
+ routes: [
+ {key: 'scan', title: 'Scan', icon: ''},
+ {key: 'history', title: 'Histórico', icon: 'history'},
+ {key: 'fav', title: 'Favoritos', icon: 'favorite'},
+ ],
+
+ };
+
+ componentDidMount() {
this.props.navigation.addListener('willFocus', (route) => {
- this.setState({ isRender: true })
+ this.setState({isRender: true})
});
this.props.navigation.addListener('willBlur', (route) => {
- this.setState({ isRender: false })
+ this.setState({isRender: false})
});
- }
-
- render() {
-
- {
+ }
- return (
+ render() {
-
-
- { this.state.isRender &&
-
- (
+ { this.scanner = node }}
+ ref={(node) => {
+ this.scanner = node
+ }}
reactivate={false}
-
+ cameraProps={{captureAudio: false}}
onRead={this.onSuccess.bind(this)}
-
showMarker={true}
-
- cameraStyle={{ height: SCREEN_HEIGHT }}
-
+ cameraStyle={{height: SCREEN_HEIGHT}}
fadeIn={true}
-
customMarker={
-
-
-
-
-
-
- Qr code data: {this.state.code}
-
-
-
-
-
+
+
+
+
+ Qr code data: {this.state.code}
+
+
+
+
}
- />
- }
-
- )}
-
- return (
-
-
- Show Modal
-
-
-
- Hello!
-
- Hide me!
-
-
-
+ />
+ );
+
+ const historyScreen = () => (
+
- );
- }
+ );
+
+ const favScreen = () => (
+
+
+
+ );
+
+
+ _renderLazyPlaceholder = () => {
+ return (
+
+ );
+ };
+
+ {
+
+ return (
+
+
+
+ {this.state.isRender &&
+ this.setState({index})}
+ initialLayout={{width: SCREEN_WIDTH, height: SCREEN_HEIGHT}}
+ renderIcon={({route}) => (
+
+ )}
+ />
+ }
+
+ )
+ }
+
+ return (
+
+
+ Show Modal
+
+
+
+ Hello!
+
+ Hide me!
+
+
+
+
+ );
+ }
}
RkTheme.setType('RkButton', 'dark', {
container: {
- paddingTop:10,
- backgroundColor: 'gray',
-
- borderRadius: 90,
+ paddingTop: 10,
+ backgroundColor: 'gray',
+
+ borderRadius: 90,
}
- });
+});
const rectDimensions = SCREEN_WIDTH * 0.85; // this is equivalent to 255 from a 393 device width
@@ -123,35 +176,31 @@ const rectDimensions = SCREEN_WIDTH * 0.85; // this is equivalent to 255 from a
const overlayColor = 'rgba(0,0,0,0.30)';
const styles = {
-
- recover:{
- paddingTop:10,
+
+ recover: {
+ paddingTop: 10,
color: "red",
- paddingBottom:10
+ paddingBottom: 10
},
- manual:{
-
-
+ manual: {},
- },
-
- logo:{
+ logo: {
- height:SCREEN_HEIGHT*0.35,
- width:SCREEN_WIDTH,
+ height: SCREEN_HEIGHT * 0.35,
+ width: SCREEN_WIDTH,
backgroundColor: overlayColor,
},
rectangleContainer: {
-
+
flex: 1,
alignItems: "center",
justifyContent: "center",
backgroundColor: "transparent",
-
+
},
rectangle: {
-
+
height: rectDimensions,
width: rectDimensions,
alignItems: "center",
diff --git a/App/app/screens/calendarDetail.js b/App/app/screens/calendarDetail.js
index 3c97714c..171acf8c 100644
--- a/App/app/screens/calendarDetail.js
+++ b/App/app/screens/calendarDetail.js
@@ -1,15 +1,17 @@
import * as React from 'react';
import {
- View,
- StyleSheet,
- Dimensions,
- Image,
- ScrollView,
- Text,
- Button,
- TouchableOpacity
- } from 'react-native';
+ View,
+ StyleSheet,
+ Dimensions,
+ Image,
+ ScrollView,
+ Text,
+ Button,
+ TouchableOpacity,
+ ImageBackground
+} from 'react-native';
+import {Divider, Icon, Avatar} from 'react-native-elements'
import {TabView, TabBar, SceneMap} from 'react-native-tab-view';
import {
RkButton, RkCard, RkText,
@@ -19,6 +21,7 @@ import Timeline from 'react-native-timeline-feed'
import * as Progress from 'react-native-progress';
+import NavAbsolute from '../components/Nav';
import {connect} from 'react-redux';
@@ -30,7 +33,7 @@ import Swiper from 'react-native-swiper';
const SCREEN_HEIGHT = Dimensions.get("window").height;
const SCREEN_WIDTH = Dimensions.get("window").width;
import FitImage from 'react-native-fit-image';
-
+import MapView, {PROVIDER_GOOGLE} from 'react-native-maps';
const formatObj = (obj) => {
@@ -43,12 +46,19 @@ const formatObj = (obj) => {
};
-
class calendarDetail extends React.Component {
+
+ static navigationOptions = ({navigation}) => ({
+ header: (
+
+ ),
+ });
- state = {
-
- };
+
+ state = {};
componentDidMount() {
@@ -58,11 +68,10 @@ class calendarDetail extends React.Component {
}
-
_update = () => {
this.setState({user: this.props.user});
console.log(this.props.events);
- }
+ };
constructor(props) {
@@ -70,97 +79,319 @@ class calendarDetail extends React.Component {
super(props)
-
- this.data = [
-
-
-
- ]
+ this.data = []
}
- render() {
- const { navigation } = this.props;
- const info = navigation.getParam('info', 'error');
- console.log(info);
+ renderHeader = (info) => {
return (
-
- {info.name}, {info.description}
+
+
+
+
+
)
+ };
+
+ renderDescription = (info) => {
+ return (
+
+
+
+ Onde está o ramo? xD
+
+
+ {info.time === info.timeEnd ? info.time : `${info.time} - ${info.timeEnd}`}
+
+
+
+
+
+ Attendee Name
+
+ {info.Enrolled} / {info.MaxAttendees}
+
+
+
+
+ Descrição
+
+
+
+ {info.description}
+
+
+
+
+
+ )
+ };
+
+
+ renderMap = () => {
+ return (
+ {
+
+ console.log(region);
+
+ }}
+
+ />
+ )
+ };
+
+ renderAttendee = () => {
+ return (
+
+
+
+
+
+
+
+ Nome do gajo
+
+
+
+ navigation.goBack(null)}
+ color='#000'
+ iconStyle={styles.icon}
+ underlayColor="transparent"
+ underlineColorAndroid="transparent"
+ containerStyle={styles.iconContainer}
+ hitSlop={{top: 15, bottom: 15, left: 15, right: 15}}
+ />
+
+
+
+ );
+ };
+
+
+ render() {
+ const {navigation} = this.props;
+ const info = navigation.getParam('info', 'error');
+ console.log(info);
+
+ return (
+
+
+
+
+
+ {this.renderHeader(info)}
+
+ {this.renderDescription(info)}
+
+
+ Localização
+
+ {this.renderMap()}
+
+
+
+ {this.renderAttendee()}
+
+
+ )
}
-
+
}
const styles = StyleSheet.create({
-
- carreerPathContainer:{
- backgroundColor:'#CC1A17',
- height:50,
- flex:1,
- alignItems:'center',
- justifyContent:'center',
- paddingTop:15,
+
+ AttendeeContainer: {
+ flexDirection: 'row',
+ height: 55,
+ justifyContent: 'center',
+ marginLeft: 10,
+ marginRight: 10,
},
- carreerPathText:{
-
- height:50,
- color:'white',
- fontWeight:'bold',
- fontSize:20,
+
+ centerRow: {
+ alignItems: 'flex-start',
+ backgroundColor: 'transparent',
+ flex: 3,
+ flexDirection: 'column',
+ justifyContent: 'center',
+ },
+
+ leftRow: {
+ backgroundColor: 'transparent',
+ flex: 1,
+ flexDirection: 'row',
+ justifyContent: 'flex-start',
+ alignSelf: 'center'
+ },
+ rightRow: {
+ alignItems: 'flex-end',
+ backgroundColor: 'transparent',
+ flex: 2,
+ flexDirection: 'row',
+ justifyContent: 'flex-end',
+ marginRight: 4,
+ alignSelf: 'center'
+ },
+
+ icon: {
+ justifyContent: 'flex-start',
+ marginTop: 2.8,
+ },
+
+ nameAttendee: {
+ alignSelf: 'center',
+ fontSize: 20,
+ fontWeight: '400',
+ color: '#000',
+ marginBottom: 10,
+ },
+
+ details: {
+ marginTop: 20,
+ flex: 1,
+ alignSelf: 'center',
+ },
+
+ infoRow: {
+ margin: 25,
+ },
+
+ ramoText: {
+ alignSelf: 'flex-start',
+ marginBottom: 5,
+ color: '#000',
+ fontSize: 20,
+ fontWeight: '400',
+ },
+
+ timeText: {
+ alignItems: 'flex-end',
+ flex: 2,
+ marginBottom: 5,
+ marginRight: 4,
+ },
+
+ mainViewStyle: {
+ flex: 1,
+ flexGrow: 1,
+ flexDirection: 'column',
+ },
+
+ scroll: {
+ backgroundColor: '#FFF',
+ flex: 1,
+ //marginBottom: 55,
+ },
+
+ cardContainer: {
+ flex: 1,
+ },
+ container: {
+ flex: 1,
+ flexDirection: 'column',
+ },
+ coverContainer: {
+ position: 'relative',
+ },
+ coverImage: {
+ height: Dimensions.get('window').width * (2 / 4),
+ width: Dimensions.get('window').width,
+ },
+ headerContainer: {
+ alignItems: 'center',
+ backgroundColor: '#FFF',
+ },
+
+
+ carreerPathContainer: {
+ backgroundColor: '#CC1A17',
+ height: 50,
+ flex: 1,
+ alignItems: 'center',
+ justifyContent: 'center',
+ paddingTop: 15,
+ },
+ carreerPathText: {
+
+ height: 50,
+ color: 'white',
+ fontWeight: 'bold',
+ fontSize: 20,
},
- companyHeader:{
- backgroundColor:'#dddddd',
- // height:150,
- borderRadius:5,
- margin:10,
- padding:10
-
-
+ companyHeader: {
+ backgroundColor: '#dddddd',
+ // height:150,
+ borderRadius: 5,
+ margin: 10,
+ padding: 10
+
+
},
- companyTitle:{
- paddingBottom:5,
- fontWeight:'bold',
- color:'#777777',
- fontSize:17,
-
- // padding:20
+ companyTitle: {
+ paddingBottom: 5,
+ fontWeight: 'bold',
+ color: '#777777',
+ fontSize: 17,
+
+ // padding:20
},
companyLogo: {
-
borderRadius: 20,
-
- },
-
- wrapper: {
-
- },
- company:{
- flex:1,
- flexDirection:'row',
- // backgroundColor:'red',
- color:'black'
+
},
- companyLogoContainer:{
- flex:1,
+ wrapper: {},
+ company: {
+ flex: 1,
+ flexDirection: 'row',
+ // backgroundColor:'red',
+ color: 'black'
+ },
+
+ companyLogoContainer: {
+ flex: 1,
justifyContent: 'center',
- width:'60%',
- // backgroundColor:'white',
- margin:20,
+ width: '60%',
+ // backgroundColor:'white',
+ margin: 20,
},
- aboutCompany:{
- width:SCREEN_WIDTH,
- flex:1,
+ aboutCompany: {
+ width: SCREEN_WIDTH,
+ flex: 1,
justifyContent: 'center',
alignItems: 'center',
}
-
-});
+});
function mapStateToProps(state, props) {
diff --git a/App/ios/app.xcodeproj/project.pbxproj b/App/ios/app.xcodeproj/project.pbxproj
index 45d672e3..7e95f411 100644
--- a/App/ios/app.xcodeproj/project.pbxproj
+++ b/App/ios/app.xcodeproj/project.pbxproj
@@ -60,6 +60,7 @@
BE5EAC41221B889900E92E5B /* libReactNativePermissions.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BE5EAC40221B888C00E92E5B /* libReactNativePermissions.a */; };
4EBB88037B054A508BF35245 /* libRNDeviceInfo.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0F42241E0235464C91B24049 /* libRNDeviceInfo.a */; };
E677346A94D54E90817979B0 /* libRNDeviceInfo-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3C4D43A092A4408B91B32E76 /* libRNDeviceInfo-tvOS.a */; };
+ A52E07192CD249F7B10FDA66 /* libAirMaps.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C0906CC582484A7393F9B1F6 /* libAirMaps.a */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -440,6 +441,8 @@
5BA133418E6F4967BC5BC234 /* RNDeviceInfo.xcodeproj */ = {isa = PBXFileReference; name = "RNDeviceInfo.xcodeproj"; path = "../node_modules/react-native-device-info/ios/RNDeviceInfo.xcodeproj"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = wrapper.pb-project; explicitFileType = undefined; includeInIndex = 0; };
0F42241E0235464C91B24049 /* libRNDeviceInfo.a */ = {isa = PBXFileReference; name = "libRNDeviceInfo.a"; path = "libRNDeviceInfo.a"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; };
3C4D43A092A4408B91B32E76 /* libRNDeviceInfo-tvOS.a */ = {isa = PBXFileReference; name = "libRNDeviceInfo-tvOS.a"; path = "libRNDeviceInfo-tvOS.a"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; };
+ A97F1617782E42EC83467F41 /* AirMaps.xcodeproj */ = {isa = PBXFileReference; name = "AirMaps.xcodeproj"; path = "../node_modules/react-native-maps/lib/ios/AirMaps.xcodeproj"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = wrapper.pb-project; explicitFileType = undefined; includeInIndex = 0; };
+ C0906CC582484A7393F9B1F6 /* libAirMaps.a */ = {isa = PBXFileReference; name = "libAirMaps.a"; path = "libAirMaps.a"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -473,6 +476,7 @@
BE104176D74E47E9A369B15A /* libRNVectorIcons.a in Frameworks */,
69E1B84AE0DF486CB1B1D226 /* libBVLinearGradient.a in Frameworks */,
4EBB88037B054A508BF35245 /* libRNDeviceInfo.a in Frameworks */,
+ A52E07192CD249F7B10FDA66 /* libAirMaps.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -667,6 +671,7 @@
664970B9D10A41A18B44727F /* RNVectorIcons.xcodeproj */,
1908F5E093844AC5A143E888 /* BVLinearGradient.xcodeproj */,
5BA133418E6F4967BC5BC234 /* RNDeviceInfo.xcodeproj */,
+ A97F1617782E42EC83467F41 /* AirMaps.xcodeproj */,
);
name = Libraries;
sourceTree = "";
@@ -1450,6 +1455,7 @@
"$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
"$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo",
+ "$(SRCROOT)\..\node_modules\react-native-maps\lib\ios/**",
);
INFOPLIST_FILE = appTests/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
@@ -1461,6 +1467,7 @@
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
+ "\"$(SRCROOT)/$(TARGET_NAME)\"",
);
OTHER_LDFLAGS = (
"-ObjC",
@@ -1482,6 +1489,7 @@
"$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
"$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo",
+ "$(SRCROOT)\..\node_modules\react-native-maps\lib\ios/**",
);
INFOPLIST_FILE = appTests/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
@@ -1493,6 +1501,7 @@
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
+ "\"$(SRCROOT)/$(TARGET_NAME)\"",
);
OTHER_LDFLAGS = (
"-ObjC",
@@ -1516,6 +1525,7 @@
"$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
"$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo",
+ "$(SRCROOT)\..\node_modules\react-native-maps\lib\ios/**",
);
INFOPLIST_FILE = app/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
@@ -1541,6 +1551,7 @@
"$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
"$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo",
+ "$(SRCROOT)\..\node_modules\react-native-maps\lib\ios/**",
);
INFOPLIST_FILE = app/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
@@ -1572,6 +1583,7 @@
"$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
"$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo",
+ "$(SRCROOT)\..\node_modules\react-native-maps\lib\ios/**",
);
INFOPLIST_FILE = "app-tvOS/Info.plist";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
@@ -1582,6 +1594,7 @@
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
+ "\"$(SRCROOT)/$(TARGET_NAME)\"",
);
OTHER_LDFLAGS = (
"-ObjC",
@@ -1612,6 +1625,7 @@
"$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
"$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo",
+ "$(SRCROOT)\..\node_modules\react-native-maps\lib\ios/**",
);
INFOPLIST_FILE = "app-tvOS/Info.plist";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
@@ -1622,6 +1636,7 @@
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
+ "\"$(SRCROOT)/$(TARGET_NAME)\"",
);
OTHER_LDFLAGS = (
"-ObjC",
@@ -1651,6 +1666,7 @@
"$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
"$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo",
+ "$(SRCROOT)\..\node_modules\react-native-maps\lib\ios/**",
);
INFOPLIST_FILE = "app-tvOSTests/Info.plist";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
@@ -1661,6 +1677,7 @@
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
+ "\"$(SRCROOT)/$(TARGET_NAME)\"",
);
OTHER_LDFLAGS = (
"-ObjC",
@@ -1690,6 +1707,7 @@
"$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
"$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo",
+ "$(SRCROOT)\..\node_modules\react-native-maps\lib\ios/**",
);
INFOPLIST_FILE = "app-tvOSTests/Info.plist";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
@@ -1700,6 +1718,7 @@
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
+ "\"$(SRCROOT)/$(TARGET_NAME)\"",
);
OTHER_LDFLAGS = (
"-ObjC",
diff --git a/App/package-lock.json b/App/package-lock.json
index 5409bc1a..84fa35f8 100755
--- a/App/package-lock.json
+++ b/App/package-lock.json
@@ -3059,6 +3059,10 @@
"ansi-styles": "^3.2.0"
}
},
+ "react-native-maps": {
+ "version": "github:expo/react-native-maps#e6f98ff7272e5d0a7fe974a41f28593af2d77bb2",
+ "from": "github:expo/react-native-maps#v0.22.1-exp.0"
+ },
"react-native-screens": {
"version": "1.0.0-alpha.22",
"resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-1.0.0-alpha.22.tgz",
@@ -7965,8 +7969,9 @@
}
},
"react-native-maps": {
- "version": "github:expo/react-native-maps#e6f98ff7272e5d0a7fe974a41f28593af2d77bb2",
- "from": "github:expo/react-native-maps#v0.22.1-exp.0"
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/react-native-maps/-/react-native-maps-0.23.0.tgz",
+ "integrity": "sha512-qxOIQGsDtQXQlSJdXMW1wg8pvLaVYdbiIolB7tZTTgTGgIA/hDxXwZbQZ08c4KDD6/VTk8krfd1APaHkqvh6og=="
},
"react-native-material-buttons": {
"version": "0.5.0",
diff --git a/App/package.json b/App/package.json
index 77dcf036..5cf0dd02 100755
--- a/App/package.json
+++ b/App/package.json
@@ -31,6 +31,7 @@
"react-native-linear-gradient": "^2.5.3",
"react-native-loader": "^1.2.1",
"react-native-loading-spinner-overlay": "^1.0.1",
+ "react-native-maps": "^0.23.0",
"react-native-material-dropdown": "^0.11.1",
"react-native-material-shadows": "0.0.2",
"react-native-modal": "^7.0.2",