This commit is contained in:
commit
4c1b2c5c02
|
@ -149,6 +149,7 @@ android {
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
|
compile project(':react-native-maps')
|
||||||
compile project(':react-native-device-info')
|
compile project(':react-native-device-info')
|
||||||
compile project(':react-native-material-shadows')
|
compile project(':react-native-material-shadows')
|
||||||
compile project(':react-native-linear-gradient')
|
compile project(':react-native-linear-gradient')
|
||||||
|
|
|
@ -1,27 +1,30 @@
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
package="com.app">
|
package="com.app">
|
||||||
|
|
||||||
<uses-permission android:name="android.permission.INTERNET" />
|
<uses-permission android:name="android.permission.INTERNET"/>
|
||||||
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
|
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
|
||||||
<uses-permission android:name="android.permission.VIBRATE"/>
|
<uses-permission android:name="android.permission.VIBRATE"/>
|
||||||
|
|
||||||
<application
|
<application
|
||||||
android:name=".MainApplication"
|
android:name=".MainApplication"
|
||||||
android:label="@string/app_name"
|
android:label="@string/app_name"
|
||||||
android:icon="@mipmap/ic_launcher"
|
android:icon="@mipmap/ic_launcher"
|
||||||
android:allowBackup="false"
|
android:allowBackup="false"
|
||||||
android:theme="@style/AppTheme">
|
android:theme="@style/AppTheme">
|
||||||
<activity
|
<activity
|
||||||
android:name=".MainActivity"
|
android:name=".MainActivity"
|
||||||
android:label="@string/app_name"
|
android:label="@string/app_name"
|
||||||
android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
|
android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
|
||||||
android:windowSoftInputMode="adjustResize">
|
android:windowSoftInputMode="adjustResize">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.MAIN" />
|
<action android:name="android.intent.action.MAIN"/>
|
||||||
<category android:name="android.intent.category.LAUNCHER" />
|
<category android:name="android.intent.category.LAUNCHER"/>
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
|
<meta-data
|
||||||
|
android:name="com.google.android.geo.API_KEY"
|
||||||
|
android:value="AIzaSyAwM2Q3T62uh6BPDXcFPqdjXy8F7SI0WH4"/>
|
||||||
|
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity"/>
|
||||||
</application>
|
</application>
|
||||||
|
|
||||||
</manifest>
|
</manifest>
|
||||||
|
|
|
@ -3,6 +3,7 @@ package com.app;
|
||||||
import android.app.Application;
|
import android.app.Application;
|
||||||
|
|
||||||
import com.facebook.react.ReactApplication;
|
import com.facebook.react.ReactApplication;
|
||||||
|
import com.airbnb.android.react.maps.MapsPackage;
|
||||||
import com.learnium.RNDeviceInfo.RNDeviceInfo;
|
import com.learnium.RNDeviceInfo.RNDeviceInfo;
|
||||||
import ui.materialshadows.RNMaterialShadowsPackage;
|
import ui.materialshadows.RNMaterialShadowsPackage;
|
||||||
import com.BV.LinearGradient.LinearGradientPackage;
|
import com.BV.LinearGradient.LinearGradientPackage;
|
||||||
|
@ -29,6 +30,7 @@ public class MainApplication extends Application implements ReactApplication {
|
||||||
protected List<ReactPackage> getPackages() {
|
protected List<ReactPackage> getPackages() {
|
||||||
return Arrays.<ReactPackage>asList(
|
return Arrays.<ReactPackage>asList(
|
||||||
new MainReactPackage(),
|
new MainReactPackage(),
|
||||||
|
new MapsPackage(),
|
||||||
new RNDeviceInfo(),
|
new RNDeviceInfo(),
|
||||||
new RNMaterialShadowsPackage(),
|
new RNMaterialShadowsPackage(),
|
||||||
new LinearGradientPackage(),
|
new LinearGradientPackage(),
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
rootProject.name = 'app'
|
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'
|
include ':react-native-device-info'
|
||||||
project(':react-native-device-info').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-device-info/android')
|
project(':react-native-device-info').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-device-info/android')
|
||||||
include ':react-native-material-shadows'
|
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')
|
project(':react-native-vector-icons').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-vector-icons/android')
|
||||||
include ':react-native-gesture-handler'
|
include ':react-native-gesture-handler'
|
||||||
project(':react-native-gesture-handler').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-gesture-handler/android')
|
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'
|
include ':app'
|
||||||
|
|
|
@ -3,16 +3,23 @@ import {
|
||||||
TouchableOpacity,
|
TouchableOpacity,
|
||||||
Text,
|
Text,
|
||||||
View,
|
View,
|
||||||
Image
|
Image,
|
||||||
|
|
||||||
} from 'react-native';
|
} from 'react-native';
|
||||||
import {
|
import {
|
||||||
createStackNavigator,
|
createStackNavigator,
|
||||||
createAppContainer,
|
createAppContainer,
|
||||||
createSwitchNavigator,
|
createSwitchNavigator,
|
||||||
createBottomTabNavigator
|
createBottomTabNavigator,
|
||||||
|
HeaderBackButton
|
||||||
} from 'react-navigation';
|
} from 'react-navigation';
|
||||||
import * as Screens from './screens';
|
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'
|
import AuthLoadingScreen from './screens/AuthLoading'
|
||||||
|
|
||||||
|
@ -25,17 +32,18 @@ import Calendar from './screens/Calendar'
|
||||||
import Home from './screens/Home'
|
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 Profile from "./screens/Profile";
|
||||||
import editCalendar from './screens/editCalendar';
|
import editCalendar from './screens/editCalendar';
|
||||||
import choosePath from './screens/choosePath';
|
import choosePath from './screens/choosePath';
|
||||||
import calendarDetail from './screens/calendarDetail';
|
import calendarDetail from './screens/calendarDetail';
|
||||||
|
|
||||||
|
|
||||||
|
const navigationOptions = ({navigation}) => ({
|
||||||
|
headerLeft: <HeaderBackButton onPress={() => navigation.goBack(null)}/>,
|
||||||
|
headerStyle: {backgroundColor: 'transparent', zIndex: 100 },
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
const AppStack = createBottomTabNavigator(
|
const AppStack = createBottomTabNavigator(
|
||||||
{
|
{
|
||||||
Calendário: {
|
Calendário: {
|
||||||
|
@ -48,15 +56,15 @@ const AppStack = createBottomTabNavigator(
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
'Jogo do...': {
|
'Jogo do...': {
|
||||||
screen: Jogo,
|
screen: Jogo,
|
||||||
|
|
||||||
navigationOptions: {
|
navigationOptions: {
|
||||||
|
|
||||||
tabBarIcon: ({tintColor}) => (
|
tabBarIcon: ({tintColor}) => (
|
||||||
|
|
||||||
<Image style={{width:30, height:30}}source={require('./assets/img/logo2.png')}></Image>
|
<Image style={{width: 30, height: 30}} source={require('./assets/img/logo2.png')}></Image>
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -71,8 +79,8 @@ const AppStack = createBottomTabNavigator(
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
Eventos: {
|
Eventos: {
|
||||||
screen: Eventos,
|
screen: Eventos,
|
||||||
|
|
||||||
navigationOptions: {
|
navigationOptions: {
|
||||||
|
@ -82,7 +90,7 @@ const AppStack = createBottomTabNavigator(
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
Home: {
|
Home: {
|
||||||
screen: Home,
|
screen: Home,
|
||||||
navigationOptions: {
|
navigationOptions: {
|
||||||
|
@ -94,7 +102,6 @@ const AppStack = createBottomTabNavigator(
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
initialRouteName: 'Home',
|
initialRouteName: 'Home',
|
||||||
|
@ -120,51 +127,56 @@ const Stack = createStackNavigator({
|
||||||
return {
|
return {
|
||||||
headerTitle: `${navigation.state.routes[index].routeName}`,
|
headerTitle: `${navigation.state.routes[index].routeName}`,
|
||||||
headerRight: (
|
headerRight: (
|
||||||
<TouchableOpacity style={{marginRight: 20, flex:1, flexDirection:'row'}} onPress={() => navigation.navigate('Profile')}>
|
<TouchableOpacity style={{marginRight: 20, flex: 1, flexDirection: 'row'}}
|
||||||
|
onPress={() => navigation.navigate('Profile')}>
|
||||||
|
|
||||||
<Text>editar</Text>
|
<Text>editar</Text>
|
||||||
<IconFA name="user-edit" size={22}/>
|
<IconFA name="user-edit" size={22}/>
|
||||||
|
|
||||||
</TouchableOpacity>
|
</TouchableOpacity>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(navigation.state.routes[index].routeName == 'Calendário'){
|
else if (navigation.state.routes[index].routeName == 'Calendário') {
|
||||||
return {
|
return {
|
||||||
headerTitle: 'Calendário',
|
headerTitle: 'Calendário',
|
||||||
headerRight: (
|
headerRight: (
|
||||||
<View style={{flex:1, flexDirection:'row'}}>
|
<View style={{flex: 1, flexDirection: 'row'}}>
|
||||||
<TouchableOpacity style={{marginRight: 20, flex:1, flexDirection:'row'}} onPress={() => navigation.navigate('Edit')}>
|
<TouchableOpacity style={{marginRight: 20, flex: 1, flexDirection: 'row'}}
|
||||||
<Text>FAQ</Text>
|
onPress={() => navigation.navigate('Edit')}>
|
||||||
|
<Text>FAQ</Text>
|
||||||
</TouchableOpacity>
|
|
||||||
|
</TouchableOpacity>
|
||||||
|
|
||||||
|
<TouchableOpacity style={{marginRight: 20, flex: 1, flexDirection: 'row'}}
|
||||||
|
onPress={() => navigation.navigate('choosePath')}>
|
||||||
|
<Text>Escolher</Text>
|
||||||
|
<IconFA name="user-edit" size={22}/>
|
||||||
|
</TouchableOpacity></View>
|
||||||
|
|
||||||
<TouchableOpacity style={{marginRight: 20, flex:1, flexDirection:'row'}} onPress={() => navigation.navigate('choosePath')}>
|
|
||||||
<Text>Escolher</Text>
|
|
||||||
<IconFA name="user-edit" size={22}/>
|
|
||||||
</TouchableOpacity></View>
|
|
||||||
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(navigation.state.routes[index].routeName == 'choosePath'){
|
else if (navigation.state.routes[index].routeName == 'choosePath') {
|
||||||
return {
|
return {
|
||||||
headerTitle: 'Calendário',
|
headerTitle: 'Calendário',
|
||||||
headerRight: (
|
headerRight: (
|
||||||
<View style={{flex:1, flexDirection:'row'}}>
|
<View style={{flex: 1, flexDirection: 'row'}}>
|
||||||
<TouchableOpacity style={{marginRight: 20, flex:1, flexDirection:'row'}} onPress={() => navigation.navigate('Edit')}>
|
<TouchableOpacity style={{marginRight: 20, flex: 1, flexDirection: 'row'}}
|
||||||
<Text>FAQ</Text>
|
onPress={() => navigation.navigate('Edit')}>
|
||||||
|
<Text>FAQ</Text>
|
||||||
</TouchableOpacity>
|
|
||||||
|
</TouchableOpacity>
|
||||||
|
|
||||||
|
<TouchableOpacity style={{marginRight: 20, flex: 1, flexDirection: 'row'}}
|
||||||
|
onPress={() => navigation.navigate('choosePath')}>
|
||||||
|
<Text>Escolher</Text>
|
||||||
|
<IconFA name="user-edit" size={22}/>
|
||||||
|
</TouchableOpacity></View>
|
||||||
|
|
||||||
<TouchableOpacity style={{marginRight: 20, flex:1, flexDirection:'row'}} onPress={() => navigation.navigate('choosePath')}>
|
|
||||||
<Text>Escolher</Text>
|
|
||||||
<IconFA name="user-edit" size={22}/>
|
|
||||||
</TouchableOpacity></View>
|
|
||||||
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
return {
|
return {
|
||||||
header: null
|
header: null
|
||||||
|
@ -175,17 +187,15 @@ const Stack = createStackNavigator({
|
||||||
Profile: {
|
Profile: {
|
||||||
screen: Profile
|
screen: Profile
|
||||||
},
|
},
|
||||||
Edit:{
|
Edit: {
|
||||||
screen: editCalendar
|
screen: editCalendar
|
||||||
},
|
},
|
||||||
choosePath:{
|
choosePath: {
|
||||||
screen: choosePath
|
screen: choosePath
|
||||||
},
|
},
|
||||||
calendarDetail:{
|
calendarDetail: {
|
||||||
screen:calendarDetail
|
screen: calendarDetail,
|
||||||
}
|
},
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -194,7 +204,7 @@ export default createAppContainer(createSwitchNavigator(
|
||||||
{
|
{
|
||||||
AuthLoading: AuthLoadingScreen,
|
AuthLoading: AuthLoadingScreen,
|
||||||
App: Stack,
|
App: Stack,
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
@ -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 (
|
||||||
|
<View>
|
||||||
|
<View style={styles.container}>
|
||||||
|
<View style={styles.leftRow}>
|
||||||
|
<Icon
|
||||||
|
size={24}
|
||||||
|
name="arrow-back"
|
||||||
|
type="material-icon"
|
||||||
|
onPress={() => navigation.goBack(null)}
|
||||||
|
color= '#000'
|
||||||
|
iconStyle={styles.icon}
|
||||||
|
underlayColor="transparent"
|
||||||
|
underlineColorAndroid="transparent"
|
||||||
|
containerStyle={styles.iconContainer}
|
||||||
|
hitSlop={{ top: 15, bottom: 15, left: 15, right: 15 }}
|
||||||
|
/>
|
||||||
|
</View>
|
||||||
|
<View style={styles.centerRow}>
|
||||||
|
<Text style={styles.titleText} numberOfLines={1}>
|
||||||
|
{title}
|
||||||
|
</Text>
|
||||||
|
</View>
|
||||||
|
<View style={styles.rightRow}>
|
||||||
|
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Nav
|
|
@ -1,121 +1,174 @@
|
||||||
import React from 'react';
|
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 QRCodeScanner from 'react-native-qrcode-scanner';
|
||||||
import {UtilStyles} from '../assets/styles'
|
import {UtilStyles} from '../assets/styles'
|
||||||
import CodeInput from 'react-native-confirmation-code-input';
|
import CodeInput from 'react-native-confirmation-code-input';
|
||||||
|
|
||||||
import Modal from "react-native-modal";
|
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,
|
import IconMI from "react-native-vector-icons/MaterialIcons"
|
||||||
RkTheme , RkText} from 'react-native-ui-kitten';
|
|
||||||
|
|
||||||
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 {
|
export default class Scan extends React.Component {
|
||||||
|
|
||||||
_toggleModal = () =>
|
_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();
|
this.scanner.reactivate();
|
||||||
}
|
}
|
||||||
|
|
||||||
onSuccess = (e) => {
|
onSuccess = (e) => {
|
||||||
|
|
||||||
this.setState({ isModalVisible: !this.state.isModalVisible ,isActive:false});
|
this.setState({isModalVisible: !this.state.isModalVisible, isActive: false});
|
||||||
this.setState({code:e.data});
|
this.setState({code: e.data});
|
||||||
};
|
};
|
||||||
|
|
||||||
state = {
|
|
||||||
isActive:true,
|
state = {
|
||||||
isRender: true,
|
isActive: true,
|
||||||
reactivate:false,
|
isRender: true,
|
||||||
isModalVisible: false,
|
reactivate: false,
|
||||||
code:''
|
isModalVisible: false,
|
||||||
|
code: '',
|
||||||
}
|
|
||||||
componentDidMount() {
|
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.props.navigation.addListener('willFocus', (route) => {
|
||||||
this.setState({ isRender: true })
|
this.setState({isRender: true})
|
||||||
});
|
});
|
||||||
this.props.navigation.addListener('willBlur', (route) => {
|
this.props.navigation.addListener('willBlur', (route) => {
|
||||||
this.setState({ isRender: false })
|
this.setState({isRender: false})
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
render() {
|
|
||||||
|
|
||||||
{
|
|
||||||
|
|
||||||
return (
|
render() {
|
||||||
|
|
||||||
<View style={{flex: 1}}>
|
/*Screen SCAN*/
|
||||||
|
const scanScreen = () => (
|
||||||
{ this.state.isRender &&
|
<QRCodeScanner
|
||||||
|
|
||||||
<QRCodeScanner
|
|
||||||
showMarker
|
showMarker
|
||||||
ref={(node) => { this.scanner = node }}
|
ref={(node) => {
|
||||||
|
this.scanner = node
|
||||||
|
}}
|
||||||
reactivate={false}
|
reactivate={false}
|
||||||
|
cameraProps={{captureAudio: false}}
|
||||||
onRead={this.onSuccess.bind(this)}
|
onRead={this.onSuccess.bind(this)}
|
||||||
|
|
||||||
showMarker={true}
|
showMarker={true}
|
||||||
|
cameraStyle={{height: SCREEN_HEIGHT}}
|
||||||
cameraStyle={{ height: SCREEN_HEIGHT }}
|
|
||||||
|
|
||||||
fadeIn={true}
|
fadeIn={true}
|
||||||
|
|
||||||
customMarker={
|
customMarker={
|
||||||
|
<View style={{flex: 1}}>
|
||||||
<View style={{ flex: 1 }}>
|
<Modal isVisible={this.state.isModalVisible}
|
||||||
|
style={{backgroundColor: '#E8E8E8', borderRadius: 30, height: 100}}>
|
||||||
<Modal isVisible={this.state.isModalVisible} style={{backgroundColor:'#E8E8E8', borderRadius:30, height:100}}>
|
<View style={{flex: 1}}>
|
||||||
<View style={{ flex: 1 }}>
|
<Text></Text>
|
||||||
<Text></Text>
|
<Text> Qr code data: {this.state.code}</Text>
|
||||||
<Text> Qr code data: {this.state.code}</Text>
|
<Button onPress={this._activate} title="Close" color="#841584"
|
||||||
<Button onPress={this._activate} title="Close" color="#841584" accessibilityLabel="Learn more about this purple button"/>
|
accessibilityLabel="Learn more about this purple button"/>
|
||||||
|
</View>
|
||||||
</View>
|
</Modal>
|
||||||
</Modal>
|
</View>
|
||||||
</View>
|
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
}
|
);
|
||||||
</View>
|
|
||||||
)}
|
const historyScreen = () => (
|
||||||
|
<View style={{backgroundColor: '#ff4081'}}>
|
||||||
return (
|
|
||||||
<View style={{ flex: 1 }}>
|
|
||||||
<TouchableOpacity onPress={this._toggleModal}>
|
|
||||||
<Text>Show Modal</Text>
|
|
||||||
</TouchableOpacity>
|
|
||||||
<Modal isVisible={this.state.isModalVisible}>
|
|
||||||
<View style={{ flex: 1 }}>
|
|
||||||
<Text>Hello!</Text>
|
|
||||||
<TouchableOpacity onPress={this._toggleModal}>
|
|
||||||
<Text>Hide me!</Text>
|
|
||||||
</TouchableOpacity>
|
|
||||||
</View>
|
|
||||||
</Modal>
|
|
||||||
</View>
|
</View>
|
||||||
);
|
);
|
||||||
}
|
|
||||||
|
const favScreen = () => (
|
||||||
|
<View style={{backgroundColor: '#a95'}}>
|
||||||
|
</View>
|
||||||
|
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
_renderLazyPlaceholder = () => {
|
||||||
|
return (
|
||||||
|
<ActivityIndicator size="large" color="red" />
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
return (
|
||||||
|
|
||||||
|
<View style={{flex: 1}}>
|
||||||
|
|
||||||
|
{this.state.isRender &&
|
||||||
|
<TabView
|
||||||
|
lazy
|
||||||
|
navigationState={this.state}
|
||||||
|
renderScene={SceneMap({
|
||||||
|
scan: scanScreen,
|
||||||
|
history: historyScreen,
|
||||||
|
fav: favScreen,
|
||||||
|
})}
|
||||||
|
renderLazyPlaceholder={this._renderLazyPlaceholder}
|
||||||
|
onIndexChange={(index) => this.setState({index})}
|
||||||
|
initialLayout={{width: SCREEN_WIDTH, height: SCREEN_HEIGHT}}
|
||||||
|
renderIcon={({route}) => (
|
||||||
|
<IconMI
|
||||||
|
name={route.icon}
|
||||||
|
size={15}
|
||||||
|
color={'white'}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
|
/>
|
||||||
|
}
|
||||||
|
</View>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<View style={{flex: 1}}>
|
||||||
|
<TouchableOpacity onPress={this._toggleModal}>
|
||||||
|
<Text>Show Modal</Text>
|
||||||
|
</TouchableOpacity>
|
||||||
|
<Modal isVisible={this.state.isModalVisible}>
|
||||||
|
<View style={{flex: 1}}>
|
||||||
|
<Text>Hello!</Text>
|
||||||
|
<TouchableOpacity onPress={this._toggleModal}>
|
||||||
|
<Text>Hide me!</Text>
|
||||||
|
</TouchableOpacity>
|
||||||
|
</View>
|
||||||
|
</Modal>
|
||||||
|
</View>
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
RkTheme.setType('RkButton', 'dark', {
|
RkTheme.setType('RkButton', 'dark', {
|
||||||
container: {
|
container: {
|
||||||
paddingTop:10,
|
paddingTop: 10,
|
||||||
backgroundColor: 'gray',
|
backgroundColor: 'gray',
|
||||||
|
|
||||||
borderRadius: 90,
|
borderRadius: 90,
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
const rectDimensions = SCREEN_WIDTH * 0.85; // this is equivalent to 255 from a 393 device width
|
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 overlayColor = 'rgba(0,0,0,0.30)';
|
||||||
|
|
||||||
const styles = {
|
const styles = {
|
||||||
|
|
||||||
recover:{
|
recover: {
|
||||||
paddingTop:10,
|
paddingTop: 10,
|
||||||
color: "red",
|
color: "red",
|
||||||
paddingBottom:10
|
paddingBottom: 10
|
||||||
},
|
},
|
||||||
manual:{
|
manual: {},
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
},
|
logo: {
|
||||||
|
|
||||||
logo:{
|
|
||||||
|
|
||||||
height:SCREEN_HEIGHT*0.35,
|
height: SCREEN_HEIGHT * 0.35,
|
||||||
width:SCREEN_WIDTH,
|
width: SCREEN_WIDTH,
|
||||||
backgroundColor: overlayColor,
|
backgroundColor: overlayColor,
|
||||||
},
|
},
|
||||||
rectangleContainer: {
|
rectangleContainer: {
|
||||||
|
|
||||||
flex: 1,
|
flex: 1,
|
||||||
alignItems: "center",
|
alignItems: "center",
|
||||||
justifyContent: "center",
|
justifyContent: "center",
|
||||||
backgroundColor: "transparent",
|
backgroundColor: "transparent",
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
rectangle: {
|
rectangle: {
|
||||||
|
|
||||||
height: rectDimensions,
|
height: rectDimensions,
|
||||||
width: rectDimensions,
|
width: rectDimensions,
|
||||||
alignItems: "center",
|
alignItems: "center",
|
||||||
|
|
|
@ -1,15 +1,17 @@
|
||||||
import * as React from 'react';
|
import * as React from 'react';
|
||||||
import {
|
import {
|
||||||
View,
|
View,
|
||||||
StyleSheet,
|
StyleSheet,
|
||||||
Dimensions,
|
Dimensions,
|
||||||
Image,
|
Image,
|
||||||
ScrollView,
|
ScrollView,
|
||||||
Text,
|
Text,
|
||||||
Button,
|
Button,
|
||||||
TouchableOpacity
|
TouchableOpacity,
|
||||||
} from 'react-native';
|
ImageBackground
|
||||||
|
} from 'react-native';
|
||||||
|
|
||||||
|
import {Divider, Icon, Avatar} from 'react-native-elements'
|
||||||
import {TabView, TabBar, SceneMap} from 'react-native-tab-view';
|
import {TabView, TabBar, SceneMap} from 'react-native-tab-view';
|
||||||
import {
|
import {
|
||||||
RkButton, RkCard, RkText,
|
RkButton, RkCard, RkText,
|
||||||
|
@ -19,6 +21,7 @@ import Timeline from 'react-native-timeline-feed'
|
||||||
|
|
||||||
import * as Progress from 'react-native-progress';
|
import * as Progress from 'react-native-progress';
|
||||||
|
|
||||||
|
import NavAbsolute from '../components/Nav';
|
||||||
|
|
||||||
import {connect} from 'react-redux';
|
import {connect} from 'react-redux';
|
||||||
|
|
||||||
|
@ -30,7 +33,7 @@ import Swiper from 'react-native-swiper';
|
||||||
const SCREEN_HEIGHT = Dimensions.get("window").height;
|
const SCREEN_HEIGHT = Dimensions.get("window").height;
|
||||||
const SCREEN_WIDTH = Dimensions.get("window").width;
|
const SCREEN_WIDTH = Dimensions.get("window").width;
|
||||||
import FitImage from 'react-native-fit-image';
|
import FitImage from 'react-native-fit-image';
|
||||||
|
import MapView, {PROVIDER_GOOGLE} from 'react-native-maps';
|
||||||
|
|
||||||
const formatObj = (obj) => {
|
const formatObj = (obj) => {
|
||||||
|
|
||||||
|
@ -43,12 +46,19 @@ const formatObj = (obj) => {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class calendarDetail extends React.Component {
|
class calendarDetail extends React.Component {
|
||||||
|
|
||||||
|
static navigationOptions = ({navigation}) => ({
|
||||||
|
header: (
|
||||||
|
<NavAbsolute
|
||||||
|
navigation={navigation}
|
||||||
|
title={navigation.state.params.info.name}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
});
|
||||||
|
|
||||||
state = {
|
|
||||||
|
state = {};
|
||||||
};
|
|
||||||
|
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
|
|
||||||
|
@ -58,11 +68,10 @@ class calendarDetail extends React.Component {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
_update = () => {
|
_update = () => {
|
||||||
this.setState({user: this.props.user});
|
this.setState({user: this.props.user});
|
||||||
console.log(this.props.events);
|
console.log(this.props.events);
|
||||||
}
|
};
|
||||||
|
|
||||||
|
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
|
@ -70,97 +79,319 @@ class calendarDetail extends React.Component {
|
||||||
super(props)
|
super(props)
|
||||||
|
|
||||||
|
|
||||||
|
this.data = []
|
||||||
this.data = [
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
render() {
|
renderHeader = (info) => {
|
||||||
const { navigation } = this.props;
|
|
||||||
const info = navigation.getParam('info', 'error');
|
|
||||||
console.log(info);
|
|
||||||
return (
|
return (
|
||||||
<View>
|
<View style={styles.headerContainer}>
|
||||||
<Text>{info.name}, {info.description}</Text>
|
<View style={styles.coverContainer}>
|
||||||
|
<ImageBackground
|
||||||
|
source={{
|
||||||
|
uri: info.imageUrl,
|
||||||
|
}}
|
||||||
|
style={styles.coverImage}
|
||||||
|
>
|
||||||
|
</ImageBackground>
|
||||||
|
</View>
|
||||||
</View>
|
</View>
|
||||||
)
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
renderDescription = (info) => {
|
||||||
|
return (
|
||||||
|
<View>
|
||||||
|
<View style={styles.infoRow}>
|
||||||
|
<View style={{flexDirection: "row"}}>
|
||||||
|
<Text style={styles.ramoText}>Onde está o ramo? xD </Text>
|
||||||
|
<View style={styles.timeText}>
|
||||||
|
<Text style={{color: "#CC1A17", fontSize: 20,}}>
|
||||||
|
{info.time === info.timeEnd ? info.time : `${info.time} - ${info.timeEnd}`}
|
||||||
|
</Text>
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
|
||||||
|
<View style={styles.details}>
|
||||||
|
<Text style={styles.nameAttendee}>Attendee Name</Text>
|
||||||
|
<Progress.Bar color={'#000000'} progress={info.Enrolled / info.MaxAttendees} height={10}
|
||||||
|
unfilledColor={'white'} width={210}/>
|
||||||
|
<Text style={{alignSelf: "center"}}>{info.Enrolled} / {info.MaxAttendees}</Text>
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
|
||||||
|
<View style={styles.infoRow}>
|
||||||
|
<Text style={{fontSize: 30, color: "#CC1A17"}}>Descrição</Text>
|
||||||
|
<Divider style={{backgroundColor: '#000'}}/>
|
||||||
|
<View style={{marginTop: 10}}>
|
||||||
|
<Text style={{fontSize: 15}}>
|
||||||
|
{info.description}
|
||||||
|
</Text>
|
||||||
|
</View>
|
||||||
|
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
renderMap = () => {
|
||||||
|
return (
|
||||||
|
<MapView
|
||||||
|
provider={PROVIDER_GOOGLE}
|
||||||
|
style={{flex: 2}}
|
||||||
|
region={{
|
||||||
|
latitude: 40.19092111672049,
|
||||||
|
latitudeDelta: 0.007664297080957283,
|
||||||
|
longitude: -8.410662319511175,
|
||||||
|
longitudeDelta: 0.007551424205303192
|
||||||
|
}}
|
||||||
|
onRegionChangeComplete={(region) => {
|
||||||
|
|
||||||
|
console.log(region);
|
||||||
|
|
||||||
|
}}
|
||||||
|
|
||||||
|
/>
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
renderAttendee = () => {
|
||||||
|
return (
|
||||||
|
<View style={{backgroundColor: '#fff', height: SCREEN_HEIGHT * 0.1}}>
|
||||||
|
<View style={styles.AttendeeContainer}>
|
||||||
|
<View style={styles.leftRow}>
|
||||||
|
<Avatar
|
||||||
|
rounded
|
||||||
|
size="medium"
|
||||||
|
source={{
|
||||||
|
uri: "https://cdn3.iconfinder.com/data/icons/vector-icons-6/96/256-512.png",
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</View>
|
||||||
|
<View style={styles.centerRow}>
|
||||||
|
<Text style={styles.titleText} numberOfLines={1}>
|
||||||
|
Nome do gajo
|
||||||
|
</Text>
|
||||||
|
</View>
|
||||||
|
<View style={styles.rightRow}>
|
||||||
|
<Icon
|
||||||
|
size={24}
|
||||||
|
name="visibility"
|
||||||
|
type="material-icon"
|
||||||
|
onPress={() => navigation.goBack(null)}
|
||||||
|
color='#000'
|
||||||
|
iconStyle={styles.icon}
|
||||||
|
underlayColor="transparent"
|
||||||
|
underlineColorAndroid="transparent"
|
||||||
|
containerStyle={styles.iconContainer}
|
||||||
|
hitSlop={{top: 15, bottom: 15, left: 15, right: 15}}
|
||||||
|
/>
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
render() {
|
||||||
|
const {navigation} = this.props;
|
||||||
|
const info = navigation.getParam('info', 'error');
|
||||||
|
console.log(info);
|
||||||
|
|
||||||
|
return (
|
||||||
|
|
||||||
|
<View style={styles.mainViewStyle}>
|
||||||
|
<ScrollView style={styles.scroll}>
|
||||||
|
<View style={styles.container}>
|
||||||
|
<View style={styles.cardContainer}>
|
||||||
|
{this.renderHeader(info)}
|
||||||
|
</View>
|
||||||
|
{this.renderDescription(info)}
|
||||||
|
</View>
|
||||||
|
<View style={styles.infoRow}>
|
||||||
|
<Text style={{fontSize: 30, color: "#CC1A17"}}>Localização</Text>
|
||||||
|
<Divider style={{backgroundColor: '#000', marginBottom: 10}}/>
|
||||||
|
{this.renderMap()}
|
||||||
|
</View>
|
||||||
|
</ScrollView>
|
||||||
|
<Divider style={{backgroundColor: 'black'}}/>
|
||||||
|
{this.renderAttendee()}
|
||||||
|
</View>
|
||||||
|
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const styles = StyleSheet.create({
|
const styles = StyleSheet.create({
|
||||||
|
|
||||||
carreerPathContainer:{
|
AttendeeContainer: {
|
||||||
backgroundColor:'#CC1A17',
|
flexDirection: 'row',
|
||||||
height:50,
|
height: 55,
|
||||||
flex:1,
|
justifyContent: 'center',
|
||||||
alignItems:'center',
|
marginLeft: 10,
|
||||||
justifyContent:'center',
|
marginRight: 10,
|
||||||
paddingTop:15,
|
|
||||||
},
|
},
|
||||||
carreerPathText:{
|
|
||||||
|
centerRow: {
|
||||||
height:50,
|
alignItems: 'flex-start',
|
||||||
color:'white',
|
backgroundColor: 'transparent',
|
||||||
fontWeight:'bold',
|
flex: 3,
|
||||||
fontSize:20,
|
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:{
|
companyHeader: {
|
||||||
backgroundColor:'#dddddd',
|
backgroundColor: '#dddddd',
|
||||||
// height:150,
|
// height:150,
|
||||||
borderRadius:5,
|
borderRadius: 5,
|
||||||
margin:10,
|
margin: 10,
|
||||||
padding:10
|
padding: 10
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
companyTitle:{
|
companyTitle: {
|
||||||
paddingBottom:5,
|
paddingBottom: 5,
|
||||||
fontWeight:'bold',
|
fontWeight: 'bold',
|
||||||
color:'#777777',
|
color: '#777777',
|
||||||
fontSize:17,
|
fontSize: 17,
|
||||||
|
|
||||||
// padding:20
|
// padding:20
|
||||||
},
|
},
|
||||||
companyLogo: {
|
companyLogo: {
|
||||||
|
|
||||||
borderRadius: 20,
|
borderRadius: 20,
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
wrapper: {
|
|
||||||
|
|
||||||
},
|
|
||||||
company:{
|
|
||||||
flex:1,
|
|
||||||
flexDirection:'row',
|
|
||||||
// backgroundColor:'red',
|
|
||||||
color:'black'
|
|
||||||
},
|
},
|
||||||
|
|
||||||
companyLogoContainer:{
|
wrapper: {},
|
||||||
flex:1,
|
company: {
|
||||||
|
flex: 1,
|
||||||
|
flexDirection: 'row',
|
||||||
|
// backgroundColor:'red',
|
||||||
|
color: 'black'
|
||||||
|
},
|
||||||
|
|
||||||
|
companyLogoContainer: {
|
||||||
|
flex: 1,
|
||||||
justifyContent: 'center',
|
justifyContent: 'center',
|
||||||
width:'60%',
|
width: '60%',
|
||||||
// backgroundColor:'white',
|
// backgroundColor:'white',
|
||||||
margin:20,
|
margin: 20,
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
aboutCompany:{
|
aboutCompany: {
|
||||||
width:SCREEN_WIDTH,
|
width: SCREEN_WIDTH,
|
||||||
flex:1,
|
flex: 1,
|
||||||
justifyContent: 'center',
|
justifyContent: 'center',
|
||||||
alignItems: 'center',
|
alignItems: 'center',
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
function mapStateToProps(state, props) {
|
function mapStateToProps(state, props) {
|
||||||
|
|
|
@ -60,6 +60,7 @@
|
||||||
BE5EAC41221B889900E92E5B /* libReactNativePermissions.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BE5EAC40221B888C00E92E5B /* libReactNativePermissions.a */; };
|
BE5EAC41221B889900E92E5B /* libReactNativePermissions.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BE5EAC40221B888C00E92E5B /* libReactNativePermissions.a */; };
|
||||||
4EBB88037B054A508BF35245 /* libRNDeviceInfo.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0F42241E0235464C91B24049 /* libRNDeviceInfo.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 */; };
|
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 */
|
/* End PBXBuildFile section */
|
||||||
|
|
||||||
/* Begin PBXContainerItemProxy 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 = "<group>"; fileEncoding = undefined; lastKnownFileType = wrapper.pb-project; explicitFileType = undefined; includeInIndex = 0; };
|
5BA133418E6F4967BC5BC234 /* RNDeviceInfo.xcodeproj */ = {isa = PBXFileReference; name = "RNDeviceInfo.xcodeproj"; path = "../node_modules/react-native-device-info/ios/RNDeviceInfo.xcodeproj"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = wrapper.pb-project; explicitFileType = undefined; includeInIndex = 0; };
|
||||||
0F42241E0235464C91B24049 /* libRNDeviceInfo.a */ = {isa = PBXFileReference; name = "libRNDeviceInfo.a"; path = "libRNDeviceInfo.a"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; };
|
0F42241E0235464C91B24049 /* libRNDeviceInfo.a */ = {isa = PBXFileReference; name = "libRNDeviceInfo.a"; path = "libRNDeviceInfo.a"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; };
|
||||||
3C4D43A092A4408B91B32E76 /* libRNDeviceInfo-tvOS.a */ = {isa = PBXFileReference; name = "libRNDeviceInfo-tvOS.a"; path = "libRNDeviceInfo-tvOS.a"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; };
|
3C4D43A092A4408B91B32E76 /* libRNDeviceInfo-tvOS.a */ = {isa = PBXFileReference; name = "libRNDeviceInfo-tvOS.a"; path = "libRNDeviceInfo-tvOS.a"; sourceTree = "<group>"; 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 = "<group>"; fileEncoding = undefined; lastKnownFileType = wrapper.pb-project; explicitFileType = undefined; includeInIndex = 0; };
|
||||||
|
C0906CC582484A7393F9B1F6 /* libAirMaps.a */ = {isa = PBXFileReference; name = "libAirMaps.a"; path = "libAirMaps.a"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; };
|
||||||
/* End PBXFileReference section */
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
/* Begin PBXFrameworksBuildPhase section */
|
/* Begin PBXFrameworksBuildPhase section */
|
||||||
|
@ -473,6 +476,7 @@
|
||||||
BE104176D74E47E9A369B15A /* libRNVectorIcons.a in Frameworks */,
|
BE104176D74E47E9A369B15A /* libRNVectorIcons.a in Frameworks */,
|
||||||
69E1B84AE0DF486CB1B1D226 /* libBVLinearGradient.a in Frameworks */,
|
69E1B84AE0DF486CB1B1D226 /* libBVLinearGradient.a in Frameworks */,
|
||||||
4EBB88037B054A508BF35245 /* libRNDeviceInfo.a in Frameworks */,
|
4EBB88037B054A508BF35245 /* libRNDeviceInfo.a in Frameworks */,
|
||||||
|
A52E07192CD249F7B10FDA66 /* libAirMaps.a in Frameworks */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
@ -667,6 +671,7 @@
|
||||||
664970B9D10A41A18B44727F /* RNVectorIcons.xcodeproj */,
|
664970B9D10A41A18B44727F /* RNVectorIcons.xcodeproj */,
|
||||||
1908F5E093844AC5A143E888 /* BVLinearGradient.xcodeproj */,
|
1908F5E093844AC5A143E888 /* BVLinearGradient.xcodeproj */,
|
||||||
5BA133418E6F4967BC5BC234 /* RNDeviceInfo.xcodeproj */,
|
5BA133418E6F4967BC5BC234 /* RNDeviceInfo.xcodeproj */,
|
||||||
|
A97F1617782E42EC83467F41 /* AirMaps.xcodeproj */,
|
||||||
);
|
);
|
||||||
name = Libraries;
|
name = Libraries;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
|
@ -1450,6 +1455,7 @@
|
||||||
"$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
|
"$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
|
||||||
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
|
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
|
||||||
"$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo",
|
"$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo",
|
||||||
|
"$(SRCROOT)\..\node_modules\react-native-maps\lib\ios/**",
|
||||||
);
|
);
|
||||||
INFOPLIST_FILE = appTests/Info.plist;
|
INFOPLIST_FILE = appTests/Info.plist;
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
||||||
|
@ -1461,6 +1467,7 @@
|
||||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||||
|
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||||
);
|
);
|
||||||
OTHER_LDFLAGS = (
|
OTHER_LDFLAGS = (
|
||||||
"-ObjC",
|
"-ObjC",
|
||||||
|
@ -1482,6 +1489,7 @@
|
||||||
"$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
|
"$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
|
||||||
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
|
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
|
||||||
"$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo",
|
"$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo",
|
||||||
|
"$(SRCROOT)\..\node_modules\react-native-maps\lib\ios/**",
|
||||||
);
|
);
|
||||||
INFOPLIST_FILE = appTests/Info.plist;
|
INFOPLIST_FILE = appTests/Info.plist;
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
||||||
|
@ -1493,6 +1501,7 @@
|
||||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||||
|
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||||
);
|
);
|
||||||
OTHER_LDFLAGS = (
|
OTHER_LDFLAGS = (
|
||||||
"-ObjC",
|
"-ObjC",
|
||||||
|
@ -1516,6 +1525,7 @@
|
||||||
"$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
|
"$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
|
||||||
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
|
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
|
||||||
"$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo",
|
"$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo",
|
||||||
|
"$(SRCROOT)\..\node_modules\react-native-maps\lib\ios/**",
|
||||||
);
|
);
|
||||||
INFOPLIST_FILE = app/Info.plist;
|
INFOPLIST_FILE = app/Info.plist;
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
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-vector-icons/RNVectorIconsManager",
|
||||||
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
|
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
|
||||||
"$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo",
|
"$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo",
|
||||||
|
"$(SRCROOT)\..\node_modules\react-native-maps\lib\ios/**",
|
||||||
);
|
);
|
||||||
INFOPLIST_FILE = app/Info.plist;
|
INFOPLIST_FILE = app/Info.plist;
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
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-vector-icons/RNVectorIconsManager",
|
||||||
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
|
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
|
||||||
"$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo",
|
"$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo",
|
||||||
|
"$(SRCROOT)\..\node_modules\react-native-maps\lib\ios/**",
|
||||||
);
|
);
|
||||||
INFOPLIST_FILE = "app-tvOS/Info.plist";
|
INFOPLIST_FILE = "app-tvOS/Info.plist";
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||||
|
@ -1582,6 +1594,7 @@
|
||||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||||
|
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||||
);
|
);
|
||||||
OTHER_LDFLAGS = (
|
OTHER_LDFLAGS = (
|
||||||
"-ObjC",
|
"-ObjC",
|
||||||
|
@ -1612,6 +1625,7 @@
|
||||||
"$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
|
"$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
|
||||||
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
|
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
|
||||||
"$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo",
|
"$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo",
|
||||||
|
"$(SRCROOT)\..\node_modules\react-native-maps\lib\ios/**",
|
||||||
);
|
);
|
||||||
INFOPLIST_FILE = "app-tvOS/Info.plist";
|
INFOPLIST_FILE = "app-tvOS/Info.plist";
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||||
|
@ -1622,6 +1636,7 @@
|
||||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||||
|
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||||
);
|
);
|
||||||
OTHER_LDFLAGS = (
|
OTHER_LDFLAGS = (
|
||||||
"-ObjC",
|
"-ObjC",
|
||||||
|
@ -1651,6 +1666,7 @@
|
||||||
"$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
|
"$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
|
||||||
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
|
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
|
||||||
"$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo",
|
"$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo",
|
||||||
|
"$(SRCROOT)\..\node_modules\react-native-maps\lib\ios/**",
|
||||||
);
|
);
|
||||||
INFOPLIST_FILE = "app-tvOSTests/Info.plist";
|
INFOPLIST_FILE = "app-tvOSTests/Info.plist";
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
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)\"",
|
||||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||||
|
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||||
);
|
);
|
||||||
OTHER_LDFLAGS = (
|
OTHER_LDFLAGS = (
|
||||||
"-ObjC",
|
"-ObjC",
|
||||||
|
@ -1690,6 +1707,7 @@
|
||||||
"$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
|
"$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
|
||||||
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
|
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
|
||||||
"$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo",
|
"$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo",
|
||||||
|
"$(SRCROOT)\..\node_modules\react-native-maps\lib\ios/**",
|
||||||
);
|
);
|
||||||
INFOPLIST_FILE = "app-tvOSTests/Info.plist";
|
INFOPLIST_FILE = "app-tvOSTests/Info.plist";
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
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)\"",
|
||||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||||
|
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||||
);
|
);
|
||||||
OTHER_LDFLAGS = (
|
OTHER_LDFLAGS = (
|
||||||
"-ObjC",
|
"-ObjC",
|
||||||
|
|
|
@ -3059,6 +3059,10 @@
|
||||||
"ansi-styles": "^3.2.0"
|
"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": {
|
"react-native-screens": {
|
||||||
"version": "1.0.0-alpha.22",
|
"version": "1.0.0-alpha.22",
|
||||||
"resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-1.0.0-alpha.22.tgz",
|
"resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-1.0.0-alpha.22.tgz",
|
||||||
|
@ -7965,8 +7969,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"react-native-maps": {
|
"react-native-maps": {
|
||||||
"version": "github:expo/react-native-maps#e6f98ff7272e5d0a7fe974a41f28593af2d77bb2",
|
"version": "0.23.0",
|
||||||
"from": "github:expo/react-native-maps#v0.22.1-exp.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": {
|
"react-native-material-buttons": {
|
||||||
"version": "0.5.0",
|
"version": "0.5.0",
|
||||||
|
|
|
@ -31,6 +31,7 @@
|
||||||
"react-native-linear-gradient": "^2.5.3",
|
"react-native-linear-gradient": "^2.5.3",
|
||||||
"react-native-loader": "^1.2.1",
|
"react-native-loader": "^1.2.1",
|
||||||
"react-native-loading-spinner-overlay": "^1.0.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-dropdown": "^0.11.1",
|
||||||
"react-native-material-shadows": "0.0.2",
|
"react-native-material-shadows": "0.0.2",
|
||||||
"react-native-modal": "^7.0.2",
|
"react-native-modal": "^7.0.2",
|
||||||
|
|
Loading…
Reference in New Issue