This commit is contained in:
henrydays 2019-02-22 23:38:34 +00:00
parent 11ed571d02
commit 7ef0dd1868
67 changed files with 11639 additions and 508 deletions

View File

@ -3,7 +3,7 @@
buildscript {
ext {
buildToolsVersion = "27.0.3"
minSdkVersion = 16
minSdkVersion = 21
compileSdkVersion = 27
targetSdkVersion = 26
supportLibVersion = "27.1.1"

View File

@ -22,4 +22,4 @@ android.enableAapt2=false
MYAPP_RELEASE_STORE_FILE=my-release-key.keystore
MYAPP_RELEASE_KEY_ALIAS=my-key-alias
MYAPP_RELEASE_STORE_PASSWORD=aspire98H
MYAPP_RELEASE_KEY_PASSWORD=encontroINFORMATICA2019
MYAPP_RELEASE_KEY_PASSWORD=aspire98H

View File

@ -15,7 +15,8 @@ import {
LinearGradient,
TouchableOpacity,
TextInput,
NetInfo,
Animated
} from 'react-native';
@ -25,7 +26,7 @@ import {connect} from 'react-redux';
import QRCodeScanner from 'react-native-qrcode-scanner';
import {UtilStyles} from './assets/styles'
import * as Actions from './store/actions'; //Import your actions
import * as Actions from './store/actions';
import {RkButton, RkTheme, RkText, RkTextInput} from 'react-native-ui-kitten';
@ -40,7 +41,9 @@ const SCREEN_WIDTH = Dimensions.get("window").width;
import Swiper from 'react-native-swiper';
function handleConnectivityChange() {
console.log("asdasd");
}
class App extends Component {
_activate=()=>{
@ -93,7 +96,15 @@ class App extends Component {
checkValue=(e)=>{
console.log("check"+e)
}
_handleConnectionChange = (isConnected) => {
this.props.connectionState(true);
};
componentDidMount() {
NetInfo.isConnected.addEventListener('connectionChange', this.handleConnectivityChange);
this.setState({isModalVisible: false})
//verifica se o utilizador tem token guardado
this.props.checkUser();
@ -102,6 +113,10 @@ class App extends Component {
}
componentWillUnmount() {
NetInfo.isConnected.removeEventListener('connectionChange', this.handleConnectivityChange);
}
_keyboardDidShow () {
//alert('Keyboard Shown');
// this.setState({push:0})
@ -120,7 +135,7 @@ class App extends Component {
this.props.closeLoginQRScan();
this.setState({username:e.data})
console.log("tentativa de login");
console.log("QR code lido");
@ -128,24 +143,25 @@ class App extends Component {
render() {
if (this.props.onHold && !this.props.logged) {
if (!this.props.logged) {
return (
<View style={UtilStyles.containerLoading}>
<Text>CARREGANDO {this.props.onHold}</Text>
<ActivityIndicator size="large" color="#0000ff"/>
<ActivityIndicator size="large" color="red"/>
</View>
)
}
else
{
//console.log('token... '+ this.props.logged)
// console.log('token... '+ this.props.logged)
//se existir token
if (this.props.logged) {
if (this.props.logged ) {
return (
@ -153,41 +169,8 @@ class App extends Component {
)
}
return (
<Swiper style={styles.wrapper}
showsButtons={false}
//paginationStyle={{backgroundColor: 'white'}}
dot={<View style={{backgroundColor:'rgba(0,0,0,.2)', width: 15, height: 15,borderRadius: 8, marginLeft: 6, marginRight: 6, marginTop: 6, marginBottom: 6,}} />}
activeDot={<View style={{backgroundColor: 'red', width: 15, height: 15, borderRadius: 8, marginLeft: 6, marginRight: 6, marginTop: 6, marginBottom: 6,}} />}
>
<View style={styles.slide1}>
<View style={styles.logoContainer}>
<Image style={styles.logo2} source={require('./assets/img/logo2.png')}/>
</View>
<ImageBackground
opacity={0.5}
source={require('./assets/img/bg_coimbra.png')}
style={{
width: '100%',
height: '100%',
// marginTop:150,
backgroundColor: 'rgba(255,255,255,0.4)' ,
}
}
>
<Text></Text>
</ImageBackground>
</View>
<View style={styles.slide2}>
<Modal isVisible={this.props.UI_loginScannerActive}>
@ -239,8 +222,7 @@ class App extends Component {
</View>
</TouchableOpacity>
</View>
</View>
<TextInput style={styles.passwordInput}
onFocus={this._print}
@ -293,11 +275,8 @@ class App extends Component {
</View>
</View>
</View>
<View style={styles.slide3}>
<Text>Manual de utilização</Text>
</View>
</Swiper>
);
}
@ -349,7 +328,7 @@ const styles = {
},
scanQR:{
fontFamily: 'Open Sans',
//flexDirection: 'row',
paddingTop:5,
backgroundColor:10,
@ -383,7 +362,7 @@ const styles = {
input: {
fontFamily: 'Open Sans',
flex: 1,
paddingRight: 10,

View File

@ -32,6 +32,7 @@ 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 AppStack = createBottomTabNavigator(
@ -63,7 +64,7 @@ const AppStack = createBottomTabNavigator(
navigationOptions: {
tabBarIcon: ({tintColor}) => (
<Icon name="ios-qr-scanner" color={tintColor} size={45}/>
<Icon name="ios-qr-scanner" color={tintColor} size={30}/>
),
},
},
@ -85,7 +86,7 @@ const AppStack = createBottomTabNavigator(
navigationOptions: {
tabBarIcon: ({tintColor}) => (
<Icon name="md-home" color={tintColor} size={30}/>
<Icon name="ios-person" color={tintColor} size={30}/>
)
},
},
@ -97,8 +98,8 @@ const AppStack = createBottomTabNavigator(
initialRouteName: 'Home',
tabBarOptions: {
showLabel: false, // hide labels
activeTintColor: '#858683', // active icon color
showLabel: true, // hide labels
activeTintColor: '#CC1A17', // active icon color
inactiveTintColor: '#d8d6c9', // inactive icon color
style: {
backgroundColor: '#fff' // TabBar background
@ -117,8 +118,11 @@ const Stack = createStackNavigator({
return {
headerTitle: `${navigation.state.routes[index].routeName}`,
headerRight: (
<TouchableOpacity style={{marginRight: 20}} onPress={() => navigation.navigate('Profile')}>
<TouchableOpacity style={{marginRight: 20, flex:1, flexDirection:'row'}} onPress={() => navigation.navigate('Profile')}>
<Text>editar</Text>
<IconFA name="user-edit" size={22}/>
</TouchableOpacity>
)
}
@ -157,6 +161,9 @@ const Stack = createStackNavigator({
},
choosePath:{
screen: choosePath
},
calendarDetail:{
screen:calendarDetail
}

View File

@ -14,7 +14,7 @@ export const UtilStyles = StyleSheet.create({
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
backgroundColor: 'white',
},
titleText: {
fontSize: 20,

View File

@ -39,7 +39,7 @@ const FourthRoute = () => (
class Calendar extends React.Component {
state = {
index: 0,
routes: [
@ -58,11 +58,16 @@ class Calendar extends React.Component {
console.log(this.props.events);
}
_openDetails=()=>{
console.log("los");
}
renderDetail = ({item, index}) => {
const {navigate} = this.props.navigation;
// <Image source={{ uri:item.imageUrl, width:'100%' , height:100 }} style={{borderRadius:0}}/>
return (
<TouchableOpacity onPress={() => navigate('calendarDetail', { info: item })} >
<View style={styles.event}>
<View style={styles.titleContainer}>
@ -82,6 +87,7 @@ class Calendar extends React.Component {
</View>
</View>
</TouchableOpacity>
);
}
@ -133,7 +139,6 @@ class Calendar extends React.Component {
super()
const archeryImgSource = require('../assets/img/archery.png');
const badmintonImgSource = require('../assets/img/badminton.png');
const lunchImgSource = require('../assets/img/lunch.png');
@ -158,11 +163,57 @@ class Calendar extends React.Component {
const FirstRoute = () => (
<ScrollView contentContainerStyle={styles.contentContainer}>
<Timeline
data={this.props.events}
timeContainerStyle={{ marginTop: 0}}
timeStyle={{
textAlign: 'center',
// backgroundColor: 'red',
height:100,
color:"#CC1A17",
padding: 5,
//marginTop:10,
// fontWeight:'bold',
fontSize:23,
//borderRadius: 13
}}
descriptionStyle={{color: 'red'}}
renderDetail={this.renderDetail}
lineColor='rgba(0,0,0,0)'
lineWidth={1}
separator={false}
flatListProps={{
style: {
margin: 15
}
}}
keyExtractor={(item, index) => index.toString()}
/>
</ScrollView>
)
const SecondRoute = () => (
<ScrollView contentContainerStyle={styles.contentContainer}>
<Timeline
data={this.props.events}
@ -209,56 +260,21 @@ class Calendar extends React.Component {
)
const SecondRoute = () => (
<ScrollView contentContainerStyle={styles.contentContainer}>
<Timeline
data={this.props.events}
timeContainerStyle={{minWidth: 52, marginTop: 0}}
timeStyle={{
textAlign: 'center',
backgroundColor: '#ff9797',
color: 'white',
padding: 5,
borderRadius: 13
}}
// descriptionStyle={{color: 'gray'}}
lineWidth={0}
renderDetail={this.renderDetail}
lineColor={'red'}
flatListProps={{
style: {
// margin: 15
}
}}
keyExtractor={(item, index) => index.toString()}
/>
</ScrollView>
)
return (
<View style={{flex:1}}>
<View>
<Text style={{
backgroundColor:"#CC1A17",
color:'white',
fontWeight:'bold',
fontSize:15,
textAlign:'center',
}}>
WEB DEVELOPMENT
</Text>
</View>
<TabView
navigationState={this.state}
renderScene={SceneMap({
@ -274,6 +290,7 @@ class Calendar extends React.Component {
style={{backgroundColor:"#F2F2F2"}}
indicatorStyle={{ backgroundColor: 'pink' }}
/>
</View>
);
}
}
@ -282,13 +299,24 @@ const styles = StyleSheet.create({
tabBar: {
flexDirection: 'row',
paddingTop:0,
marginTop:0,
backgroundColor:'white',
borderWidth: 1,
borderRadius: 2,
borderColor: '#ddd',
borderBottomWidth: 0,
shadowColor: '#000',
shadowOffset: { width: 0, height: 2 },
shadowOpacity: 0.8,
shadowRadius: 2,
elevation: 2,
backgroundColor:'white'
},
tabItem: {
flex: 1,
alignItems: 'center',
padding: 16,
padding: 10,
},
details: {
backgroundColor: "#FFFFFF",
@ -316,8 +344,14 @@ const styles = StyleSheet.create({
event: {
borderRadius: 5,
backgroundColor: "#FFFFFF",
marginLeft:-25
marginLeft:-25,
shadowColor: "#000",
shadowOffset: { width: 0, height: 2,},
shadowOpacity: 0.25,
shadowRadius: 1,
elevation: 2,
marginRight:2
},

View File

@ -10,7 +10,8 @@ import {
Dimensions,
StyleSheet,
Image,
ImageBackground
ImageBackground,
NetInfo
} from 'react-native';
import {Shadow} from 'react-native-shadow'
@ -38,17 +39,6 @@ import {Card, Divider} from 'react-native-elements'
import RNMaterialShadows from 'react-native-material-shadows';
const shadowOpt = {
width:100,
height:100,
color:"#000",
border:2,
radius:3,
opacity:0.2,
x:0,
y:3,
style:{marginVertical:5}
}
class Home extends Component {
@ -73,9 +63,11 @@ class Home extends Component {
user: {Name: ''}
};
}
handleConnectivityChange = () => {
console.log("asdasdasdasdasd");
}
componentDidMount() {
NetInfo.isConnected.addEventListener('connectionChange', this.handleConnectivityChange);
this.props.hold();
//this.props.logoutUser();
@ -92,6 +84,9 @@ class Home extends Component {
}
componentWillUnmount() {
NetInfo.isConnected.removeEventListener('connectionChange', this.handleConnectivityChange);
}
bClick() {
@ -142,9 +137,6 @@ _update=()=>{
// marginTop:150,
backgroundColor: 'rgba(255,255,255,1)' ,
shadowOffset:{ width: 10, height: 10, },
shadowColor: 'black',
shadowOpacity: 1.0
}
}>

View File

@ -0,0 +1,183 @@
import * as React from 'react';
import {
View,
StyleSheet,
Dimensions,
Image,
ScrollView,
Text,
Button,
TouchableOpacity
} from 'react-native';
import {TabView, TabBar, SceneMap} from 'react-native-tab-view';
import {
RkButton, RkCard, RkText,
RkTheme
} from 'react-native-ui-kitten';
import Timeline from 'react-native-timeline-feed'
import * as Progress from 'react-native-progress';
import {connect} from 'react-redux';
import {bindActionCreators} from 'redux';
import * as Actions from '../store/actions'; //Import your actionss
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';
const formatObj = (obj) => {
let a = {};
a.push({})
return a
};
class calendarDetail extends React.Component {
state = {
};
componentDidMount() {
this.props.getEvents(this.props.user);
console.log('didMount');
console.log(this.props.events);
}
_update = () => {
this.setState({user: this.props.user});
console.log(this.props.events);
}
constructor(props) {
super(props)
this.data = [
]
}
render() {
const { navigation } = this.props;
const info = navigation.getParam('info', 'error');
console.log(info);
return (
<View>
<Text>{info.name}, {info.description}</Text>
</View>
)
}
}
const styles = StyleSheet.create({
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
},
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,
justifyContent: 'center',
width:'60%',
// backgroundColor:'white',
margin:20,
},
aboutCompany:{
width:SCREEN_WIDTH,
flex:1,
justifyContent: 'center',
alignItems: 'center',
}
});
function mapStateToProps(state, props) {
return {
token: state.apiReducer.token,
user: state.apiReducer.user,
logged: state.apiReducer.logged,
events: state.apiReducer.events
}
}
function mapDispatchToProps(dispatch) {
return bindActionCreators(Actions, dispatch);
}
export default connect(mapStateToProps, mapDispatchToProps)(calendarDetail);

View File

@ -31,6 +31,8 @@ const SCREEN_HEIGHT = Dimensions.get("window").height;
const SCREEN_WIDTH = Dimensions.get("window").width;
import FitImage from 'react-native-fit-image';
import { Dropdown } from 'react-native-material-dropdown';
const formatObj = (obj) => {
@ -79,41 +81,25 @@ class choosePath extends React.Component {
}
render() {
let data = [{
value: 'Desenvolvimento Web',
}, {
value: 'Inteligencia artificial',
}, {
value: 'Redes e segurança',
}];
return (
<Swiper style={styles.wrapper} showsButtons={false}>
<View style={styles.company}>
<ScrollView>
<View style={styles.carreerPathContainer}>
<Text style={styles.carreerPathText}>Web development</Text>
</View>
<View style={styles.aboutCompany}>
<View style={styles.companyLogoContainer}>
<FitImage source={{uri:'http://trabalhotemporario.pt/wp-content/uploads/2014/03/blip.jpg'}} style={styles.companyLogo}/>
</View>
</View>
<View style={styles.companyHeader}>
<Text style={styles.companyTitle}>Blip: Game On</Text>
<Text>Based in Porto, Blip is a software engineering company with a difference. Founded in 2009, we already have 300 Blippers. And were still growing.</Text>
<Text>Were in the API Billionaires Club alongside Twitter, Facebook and Google. The code we write is used by over five million people across the world. The websites, mobile apps and retail systems we create keep us three steps ahead of the competition, from Europe to Australia.</Text>
</View>
</ScrollView>
</View>
<View>
<Text>asd</Text>
</View>
</Swiper>
<View style={{width:SCREEN_WIDTH*0.7}}>
<Dropdown
label='Career Path'
data={data}
/>
</View>
)
}
);
}
}

View File

@ -1,9 +1,20 @@
import { AsyncStorage } from 'react-native';
const axios = require('axios');
import { NetInfo } from 'react-native';
import { DATA_AVAILABLE, API_LOGIN, CHECK_USER, LOGOUT_USER, USER_INFO, HOLD, GET_EVENTS } from "./actionTypes" //Import the actions types constant we defined in our actions
import moment from 'moment'
export const connectionState = (status) => {
console.log(status);
return { type: 'CHANGE_CONNECTION_STATUS', isConnected: status };
};
export function getEvents(user){
return (dispatch)=>{
let events = [];
@ -68,6 +79,7 @@ const saveToken = async token => {
obj.expirationDateToken = await AsyncStorage.getItem('expirationDateToken') || 'none';
obj.refreshToken = await AsyncStorage.getItem('refreshToken') || 'none';
} catch (error) {
// Error retrieving data
@ -160,7 +172,7 @@ export function login(user, pass){
}
var obj={
access_token:parsed.access_token,
expirationDateToken:Math.round(new Date().getTime()/1000) + parsed.expires_in,
expirationDateToken:Math.round(new Date().getTime()/1000) + 3598,
refreshToken:parsed.refresh_token,
valid:true
};
@ -240,13 +252,15 @@ export function getUserInfo(token){
.then(function(res) {
console.log(res);
let obj = JSON.parse(res._bodyText);
dispatch({ type: USER_INFO, user: obj,onHold:false, logged:true });
}).catch(function(res){
dispatch({ type: USER_INFO, user: '',onHold:false, logged:true });
console.log("erro")
// dispatch({ type: USER_INFO,onHold:false});
})
@ -288,7 +302,7 @@ export function checkUser(){
a.valid=false;
console.log('check user deu falso')
console.log('token não existe em memória')
dispatch({type: CHECK_USER,token:a,logged:false, onHold:false});
@ -297,25 +311,23 @@ export function checkUser(){
a.valid=true;
console.log('Existe Token em memória' )
console.log('Existe Token em memória :'+ a.refreshToken )
//se expirar
if(Math.round(new Date().getTime()/1000) >= a.expirationDateToken){
refresh=a.refreshToken
// a.valid=false;
//chamar funçao para renovar
console.log("expirou")
var details = {
'grant_type': 'refresh_token',
'refresh_token':refresh
};
var formBody = [];
for (var property in details) {
@ -330,8 +342,6 @@ export function checkUser(){
formBody = formBody.join("&");
fetch('http://enei2019.uingress.com/internal/api/token', {
method: 'POST',
@ -345,16 +355,18 @@ export function checkUser(){
}).then(res=>res.json()).then(parsed=>{
console.log(parsed);
if(parsed.error=='invalid_grant'){
console.log(formBody);
dispatch({type: CHECK_USER, token:'', logged:false, onHold:false});
dispatch({type: CHECK_USER, token:'', logged:false, onHold:false});
}else{
var obj={
access_token:parsed.access_token,
expirationDateToken:Math.round(new Date().getTime()/1000) + parsed.expires_in,
expirationDateToken:Math.round(new Date().getTime()/1000) + 3598,
refreshToken:parsed.refresh_token,
valid:true
@ -363,7 +375,7 @@ export function checkUser(){
// deleteToken();
saveToken(obj).then(a=>{
console.log("saved" )
console.log("Token guardado" )
console.log(obj)
dispatch({type: CHECK_USER, token:obj, logged:true, onHold:false});
@ -372,7 +384,7 @@ export function checkUser(){
}).catch(a=>{
console.log("Putasss")
console.log("erro na api")
dispatch({type: CHECK_USER, token:'', logged:false, onHold:false});
})
@ -384,7 +396,7 @@ export function checkUser(){
//fazer validação da data e renovar o token
dispatch({type: CHECK_USER, token:a, logged:true, onHold:false});
dispatch({type: CHECK_USER, token:a, logged:true, onHold:false, user:{Name:'Henrique'}});
}
}
@ -392,8 +404,8 @@ export function checkUser(){
}).catch(a=>{
console.log('erros');
dispatch({type: CHECK_USER,token:false, logged:false});
console.log('erro a ler o token'+ a);
dispatch({type: CHECK_USER,token:false, logged:false, user:''});
})

View File

@ -1,11 +1,24 @@
import { DATA_AVAILABLE, API_LOGIN, CHECK_USER, LOGOUT_USER, USER_INFO, HOLD, GET_EVENTS } from "../actions/actionTypes" //Import the actions types constant we defined in our actions
import { REHYDRATE } from 'redux-persist';
let apiState= { token:{valid:false}, tokenData:'error', logged:false, onHold:true, user:{}, events:[], failedAttempt:false}
let apiState= { isConnected:false, token:{valid:false}, tokenData:'error', logged:false, onHold:true,user:{}, events:[], failedAttempt:false}
const apiReducer = (state = apiState, action) => {
switch(action.type){
case REHYDRATE:
console.log( action.payload)
return {
// ...state,
// logged:false,
//onHold:true,
user: action.payload.apiReducer.user
};
case 'CHANGE_CONNECTION_STATUS':
return Object.assign({}, state, {
isConnected: action.isConnected,
});
case HOLD:
@ -14,13 +27,13 @@ const apiReducer = (state = apiState, action) => {
case API_LOGIN:
state=Object.assign({},state, { logged:action.logged, token:action.token, failedAttempt: action.failedAttempt});
state=Object.assign({},state, { logged:action.logged, token:action.token, failedAttempt: action.failedAttempt, user:user});
return state;
case CHECK_USER:
state=Object.assign({},state, { token:action.token, logged:action.logged, onHold:action.onHold});
state=Object.assign({},state, { token:action.token,logged:action.logged, onHold:action.onHold});
return state;
@ -41,7 +54,8 @@ const apiReducer = (state = apiState, action) => {
state=Object.assign({},state, { events: action.events});
return state;
default:
return state;

View File

@ -1,7 +1,25 @@
import { createStore, applyMiddleware } from 'redux';
import { createStore, applyMiddleware , compose} from 'redux';
import thunk from 'redux-thunk';
import reducers from './reducers/index'; //Import the reducer
import {persistStore, persistReducer} from 'redux-persist'
import {AsyncStorage} from 'react-native'
const persistConfig={
key:'root' ,
storage: AsyncStorage,
}
const persistedReduzer= persistReducer(persistConfig, reducers);
// Connect our store to the reducers
export default createStore(reducers, applyMiddleware(thunk));
export const store = createStore(persistedReduzer, applyMiddleware(thunk));
export const persistor=persistStore(store);

View File

@ -1,18 +1,30 @@
/** @format */
import React from 'react';
import {AppRegistry} from 'react-native';
import {AppRegistry, View,Text} from 'react-native';
import {Provider} from 'react-redux';
import {name as appName} from './app.json';
import store from './app/store/store'; //Import the store
import {PersistGate} from 'redux-persist/integration/react'
import App from './app/App' //Import the component file
import {store, persistor} from "./app/store/store";
rendeLoading=()=>{
<View>
<Text>loading........</Text>
</View>
}
const RNRedux = () => (
<Provider store={store}>
<App />
<PersistGate persistor={persistor} loading={this.rendeLoading()}>
<App />
</PersistGate>
</Provider>
);

0
App/ios/app-tvOS/Info.plist Executable file → Normal file
View File

0
App/ios/app-tvOSTests/Info.plist Executable file → Normal file
View File

View File

@ -5,6 +5,7 @@
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */; };
00C302E71ABCBA2D00DB3ED1 /* libRCTGeolocation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */; };
@ -35,28 +36,29 @@
2D16E6881FA4F8E400B85C8A /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2D16E6891FA4F8E400B85C8A /* libReact.a */; };
2DCD954D1E0B4F2C00145EB5 /* appTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* appTests.m */; };
2DF0FFEE2056DD460020B375 /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3EA31DF850E9000B6D8A /* libReact.a */; };
43A080C42246430685BC7859 /* Ionicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = A55A26724384416FAF74A98D /* Ionicons.ttf */; };
514DB1DF2E3B452F9EF272E3 /* libRNVectorIcons-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 95B0A42B6CD8441E904E6EB9 /* libRNVectorIcons-tvOS.a */; };
69E1B84AE0DF486CB1B1D226 /* libBVLinearGradient.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C00CE8A4E3B747F9816B91CF /* libBVLinearGradient.a */; };
832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 832341B51AAA6A8300B99B32 /* libRCTText.a */; };
ADBDB9381DFEBF1600ED6528 /* libRCTBlob.a in Frameworks */ = {isa = PBXBuildFile; fileRef = ADBDB9271DFEBF0700ED6528 /* libRCTBlob.a */; };
BE2BDF992200F95B0001B8A8 /* libRNCamera.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BE2BDF982200F9490001B8A8 /* libRNCamera.a */; };
BE2BDF9A2200F96A0001B8A8 /* libRNGestureHandler.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BE2BDF922200F93B0001B8A8 /* libRNGestureHandler.a */; };
BE2BDFA12200F9880001B8A8 /* libReactNativePermissions.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BE2BDFA02200F9830001B8A8 /* libReactNativePermissions.a */; };
BE2BDFE2220101420001B8A8 /* libRNVectorIcons.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BE2BDFDF2201012E0001B8A8 /* libRNVectorIcons.a */; };
BEA7C1C022034BC800B47CD7 /* MaterialIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = BEA7C1B122034BC800B47CD7 /* MaterialIcons.ttf */; };
BEA7C1C122034BC800B47CD7 /* FontAwesome.ttf in Resources */ = {isa = PBXBuildFile; fileRef = BEA7C1B222034BC800B47CD7 /* FontAwesome.ttf */; };
BEA7C1C322034BC800B47CD7 /* FontAwesome5_Brands.ttf in Resources */ = {isa = PBXBuildFile; fileRef = BEA7C1B422034BC800B47CD7 /* FontAwesome5_Brands.ttf */; };
BEA7C1C422034BC800B47CD7 /* SimpleLineIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = BEA7C1B522034BC800B47CD7 /* SimpleLineIcons.ttf */; };
BEA7C1C522034BC800B47CD7 /* Entypo.ttf in Resources */ = {isa = PBXBuildFile; fileRef = BEA7C1B622034BC800B47CD7 /* Entypo.ttf */; };
BEA7C1C622034BC800B47CD7 /* MaterialCommunityIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = BEA7C1B722034BC800B47CD7 /* MaterialCommunityIcons.ttf */; };
BEA7C1C722034BC800B47CD7 /* Zocial.ttf in Resources */ = {isa = PBXBuildFile; fileRef = BEA7C1B822034BC800B47CD7 /* Zocial.ttf */; };
BEA7C1C822034BC800B47CD7 /* Feather.ttf in Resources */ = {isa = PBXBuildFile; fileRef = BEA7C1B922034BC800B47CD7 /* Feather.ttf */; };
BEA7C1C922034BC800B47CD7 /* FontAwesome5_Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = BEA7C1BA22034BC800B47CD7 /* FontAwesome5_Regular.ttf */; };
BEA7C1CA22034BC800B47CD7 /* FontAwesome5_Solid.ttf in Resources */ = {isa = PBXBuildFile; fileRef = BEA7C1BB22034BC800B47CD7 /* FontAwesome5_Solid.ttf */; };
BEA7C1CB22034BC800B47CD7 /* AntDesign.ttf in Resources */ = {isa = PBXBuildFile; fileRef = BEA7C1BC22034BC800B47CD7 /* AntDesign.ttf */; };
BEA7C1CC22034BC800B47CD7 /* Foundation.ttf in Resources */ = {isa = PBXBuildFile; fileRef = BEA7C1BD22034BC800B47CD7 /* Foundation.ttf */; };
BEA7C1CD22034BC800B47CD7 /* EvilIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = BEA7C1BE22034BC800B47CD7 /* EvilIcons.ttf */; };
BEA7C1CE22034BC800B47CD7 /* Octicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = BEA7C1BF22034BC800B47CD7 /* Octicons.ttf */; };
7BB898A137474B3ABEF9425B /* libBVLinearGradient.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A757D24430CF4419B7ABDE21 /* libBVLinearGradient.a */; };
BE104176D74E47E9A369B15A /* libRNVectorIcons.a in Frameworks */ = {isa = PBXBuildFile; fileRef = EB0A5A258CBE4EEFAD3C358E /* libRNVectorIcons.a */; };
BE302B6D221B7875005626CF /* libRNCamera.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BE302B6C221B7860005626CF /* libRNCamera.a */; };
BE302B74221B7ACE005626CF /* libRNGestureHandler.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BE302B73221B7AC8005626CF /* libRNGestureHandler.a */; };
BE5EAB78221B7D5400E92E5B /* MaterialIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = BE5EAB69221B7D5300E92E5B /* MaterialIcons.ttf */; };
BE5EAB79221B7D5400E92E5B /* Entypo.ttf in Resources */ = {isa = PBXBuildFile; fileRef = BE5EAB6A221B7D5300E92E5B /* Entypo.ttf */; };
BE5EAB7A221B7D5400E92E5B /* FontAwesome.ttf in Resources */ = {isa = PBXBuildFile; fileRef = BE5EAB6B221B7D5300E92E5B /* FontAwesome.ttf */; };
BE5EAB7B221B7D5400E92E5B /* SimpleLineIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = BE5EAB6C221B7D5300E92E5B /* SimpleLineIcons.ttf */; };
BE5EAB7C221B7D5400E92E5B /* EvilIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = BE5EAB6D221B7D5300E92E5B /* EvilIcons.ttf */; };
BE5EAB7D221B7D5400E92E5B /* FontAwesome5_Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = BE5EAB6E221B7D5300E92E5B /* FontAwesome5_Regular.ttf */; };
BE5EAB7E221B7D5400E92E5B /* Foundation.ttf in Resources */ = {isa = PBXBuildFile; fileRef = BE5EAB6F221B7D5300E92E5B /* Foundation.ttf */; };
BE5EAB7F221B7D5400E92E5B /* Feather.ttf in Resources */ = {isa = PBXBuildFile; fileRef = BE5EAB70221B7D5300E92E5B /* Feather.ttf */; };
BE5EAB80221B7D5400E92E5B /* FontAwesome5_Solid.ttf in Resources */ = {isa = PBXBuildFile; fileRef = BE5EAB71221B7D5400E92E5B /* FontAwesome5_Solid.ttf */; };
BE5EAB81221B7D5400E92E5B /* AntDesign.ttf in Resources */ = {isa = PBXBuildFile; fileRef = BE5EAB72221B7D5400E92E5B /* AntDesign.ttf */; };
BE5EAB82221B7D5400E92E5B /* MaterialCommunityIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = BE5EAB73221B7D5400E92E5B /* MaterialCommunityIcons.ttf */; };
BE5EAB84221B7D5400E92E5B /* FontAwesome5_Brands.ttf in Resources */ = {isa = PBXBuildFile; fileRef = BE5EAB75221B7D5400E92E5B /* FontAwesome5_Brands.ttf */; };
BE5EAB85221B7D5400E92E5B /* Octicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = BE5EAB76221B7D5400E92E5B /* Octicons.ttf */; };
BE5EAB86221B7D5400E92E5B /* Zocial.ttf in Resources */ = {isa = PBXBuildFile; fileRef = BE5EAB77221B7D5400E92E5B /* Zocial.ttf */; };
BE5EAC3A221B83CF00E92E5B /* Ionicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = BE302B75221B7C3B005626CF /* Ionicons.ttf */; };
BE5EAC41221B889900E92E5B /* libReactNativePermissions.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BE5EAC40221B888C00E92E5B /* libReactNativePermissions.a */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@ -333,41 +335,55 @@
remoteGlobalIDString = 358F4ED71D1E81A9004DF814;
remoteInfo = RCTBlob;
};
BE2BDF912200F93B0001B8A8 /* PBXContainerItemProxy */ = {
BE302B6B221B7860005626CF /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BE2BDF682200F93B0001B8A8 /* RNGestureHandler.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 134814201AA4EA6300B7C361;
remoteInfo = RNGestureHandler;
};
BE2BDF972200F9490001B8A8 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BE2BDF932200F9490001B8A8 /* RNCamera.xcodeproj */;
containerPortal = BE302B67221B7860005626CF /* RNCamera.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 4107012F1ACB723B00C6AA39;
remoteInfo = RNCamera;
};
BE2BDF9F2200F9830001B8A8 /* PBXContainerItemProxy */ = {
BE302B72221B7AC8005626CF /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BE2BDF9B2200F9830001B8A8 /* ReactNativePermissions.xcodeproj */;
containerPortal = BE302B6E221B7AC7005626CF /* RNGestureHandler.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 9D23B34F1C767B80008B4819;
remoteInfo = ReactNativePermissions;
remoteGlobalIDString = 134814201AA4EA6300B7C361;
remoteInfo = RNGestureHandler;
};
BE2BDFDE2201012E0001B8A8 /* PBXContainerItemProxy */ = {
BE5EABF6221B834400E92E5B /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BE2BDFD92201012E0001B8A8 /* RNVectorIcons.xcodeproj */;
containerPortal = 664970B9D10A41A18B44727F /* RNVectorIcons.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 5DBEB1501B18CEA900B34395;
remoteInfo = RNVectorIcons;
};
BE2BDFE02201012E0001B8A8 /* PBXContainerItemProxy */ = {
BE5EABF8221B834400E92E5B /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BE2BDFD92201012E0001B8A8 /* RNVectorIcons.xcodeproj */;
containerPortal = 664970B9D10A41A18B44727F /* RNVectorIcons.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = A39873CE1EA65EE60051E01A;
remoteInfo = "RNVectorIcons-tvOS";
};
BE5EAC36221B835A00E92E5B /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 1908F5E093844AC5A143E888 /* BVLinearGradient.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 134814201AA4EA6300B7C361;
remoteInfo = BVLinearGradient;
};
BE5EAC38221B835A00E92E5B /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 1908F5E093844AC5A143E888 /* BVLinearGradient.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 64AA15081EF7F30100718508;
remoteInfo = "BVLinearGradient-tvOS";
};
BE5EAC3F221B888C00E92E5B /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BE5EAC3B221B888C00E92E5B /* ReactNativePermissions.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 9D23B34F1C767B80008B4819;
remoteInfo = ReactNativePermissions;
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
@ -377,12 +393,12 @@
00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTImage.xcodeproj; path = "../node_modules/react-native/Libraries/Image/RCTImage.xcodeproj"; sourceTree = "<group>"; };
00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTNetwork.xcodeproj; path = "../node_modules/react-native/Libraries/Network/RCTNetwork.xcodeproj"; sourceTree = "<group>"; };
00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTVibration.xcodeproj; path = "../node_modules/react-native/Libraries/Vibration/RCTVibration.xcodeproj"; sourceTree = "<group>"; };
00E356EE1AD99517003FC87E /* Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
00E356EE1AD99517003FC87E /* appTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = appTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
00E356F21AD99517003FC87E /* appTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = appTests.m; sourceTree = "<group>"; };
139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTSettings.xcodeproj; path = "../node_modules/react-native/Libraries/Settings/RCTSettings.xcodeproj"; sourceTree = "<group>"; };
139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTWebSocket.xcodeproj; path = "../node_modules/react-native/Libraries/WebSocket/RCTWebSocket.xcodeproj"; sourceTree = "<group>"; };
13B07F961A680F5B00A75B9A /* enei2019.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = enei2019.app; sourceTree = BUILT_PRODUCTS_DIR; };
13B07F961A680F5B00A75B9A /* app.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = app.app; sourceTree = BUILT_PRODUCTS_DIR; };
13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = app/AppDelegate.h; sourceTree = "<group>"; };
13B07FB01A68108700A75B9A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = app/AppDelegate.m; sourceTree = "<group>"; };
13B07FB21A68108700A75B9A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = "<group>"; };
@ -390,35 +406,36 @@
13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = app/Info.plist; sourceTree = "<group>"; };
13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = app/main.m; sourceTree = "<group>"; };
146833FF1AC3E56700842450 /* React.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = React.xcodeproj; path = "../node_modules/react-native/React/React.xcodeproj"; sourceTree = "<group>"; };
2D02E47B1E0B4A5D006451C7 /* enei2019-tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "enei2019-tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; };
2D02E4901E0B4A5D006451C7 /* enei2019-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "enei2019-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
1908F5E093844AC5A143E888 /* BVLinearGradient.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = BVLinearGradient.xcodeproj; path = "../node_modules/react-native-linear-gradient/BVLinearGradient.xcodeproj"; sourceTree = "<group>"; };
2D02E47B1E0B4A5D006451C7 /* app-tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "app-tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; };
2D02E4901E0B4A5D006451C7 /* app-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "app-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
2D16E6891FA4F8E400B85C8A /* libReact.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libReact.a; sourceTree = BUILT_PRODUCTS_DIR; };
5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTAnimation.xcodeproj; path = "../node_modules/react-native/Libraries/NativeAnimation/RCTAnimation.xcodeproj"; sourceTree = "<group>"; };
664970B9D10A41A18B44727F /* RNVectorIcons.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNVectorIcons.xcodeproj; path = "../node_modules/react-native-vector-icons/RNVectorIcons.xcodeproj"; sourceTree = "<group>"; };
78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTLinking.xcodeproj; path = "../node_modules/react-native/Libraries/LinkingIOS/RCTLinking.xcodeproj"; sourceTree = "<group>"; };
832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTText.xcodeproj; path = "../node_modules/react-native/Libraries/Text/RCTText.xcodeproj"; sourceTree = "<group>"; };
A55A26724384416FAF74A98D /* Ionicons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Ionicons.ttf; path = "../node_modules/react-native-ionicons/fonts/Ionicons.ttf"; sourceTree = "<group>"; };
95B0A42B6CD8441E904E6EB9 /* libRNVectorIcons-tvOS.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = "libRNVectorIcons-tvOS.a"; sourceTree = "<group>"; };
ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTBlob.xcodeproj; path = "../node_modules/react-native/Libraries/Blob/RCTBlob.xcodeproj"; sourceTree = "<group>"; };
BE2BDF682200F93B0001B8A8 /* RNGestureHandler.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RNGestureHandler.xcodeproj; path = "../node_modules/react-native-gesture-handler/ios/RNGestureHandler.xcodeproj"; sourceTree = "<group>"; };
BE2BDF932200F9490001B8A8 /* RNCamera.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RNCamera.xcodeproj; path = "../node_modules/react-native-camera/ios/RNCamera.xcodeproj"; sourceTree = "<group>"; };
BE2BDF9B2200F9830001B8A8 /* ReactNativePermissions.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = ReactNativePermissions.xcodeproj; path = "../node_modules/react-native-permissions/ios/ReactNativePermissions.xcodeproj"; sourceTree = "<group>"; };
BE2BDFD92201012E0001B8A8 /* RNVectorIcons.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RNVectorIcons.xcodeproj; path = "../node_modules/react-native-vector-icons/RNVectorIcons.xcodeproj"; sourceTree = "<group>"; };
BEA7C1B122034BC800B47CD7 /* MaterialIcons.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = MaterialIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/MaterialIcons.ttf"; sourceTree = "<group>"; };
BEA7C1B222034BC800B47CD7 /* FontAwesome.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = FontAwesome.ttf; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome.ttf"; sourceTree = "<group>"; };
BEA7C1B322034BC800B47CD7 /* Ionicons.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = Ionicons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Ionicons.ttf"; sourceTree = "<group>"; };
BEA7C1B422034BC800B47CD7 /* FontAwesome5_Brands.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = FontAwesome5_Brands.ttf; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Brands.ttf"; sourceTree = "<group>"; };
BEA7C1B522034BC800B47CD7 /* SimpleLineIcons.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = SimpleLineIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/SimpleLineIcons.ttf"; sourceTree = "<group>"; };
BEA7C1B622034BC800B47CD7 /* Entypo.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = Entypo.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Entypo.ttf"; sourceTree = "<group>"; };
BEA7C1B722034BC800B47CD7 /* MaterialCommunityIcons.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = MaterialCommunityIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf"; sourceTree = "<group>"; };
BEA7C1B822034BC800B47CD7 /* Zocial.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = Zocial.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Zocial.ttf"; sourceTree = "<group>"; };
BEA7C1B922034BC800B47CD7 /* Feather.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = Feather.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Feather.ttf"; sourceTree = "<group>"; };
BEA7C1BA22034BC800B47CD7 /* FontAwesome5_Regular.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = FontAwesome5_Regular.ttf; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Regular.ttf"; sourceTree = "<group>"; };
BEA7C1BB22034BC800B47CD7 /* FontAwesome5_Solid.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = FontAwesome5_Solid.ttf; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Solid.ttf"; sourceTree = "<group>"; };
BEA7C1BC22034BC800B47CD7 /* AntDesign.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = AntDesign.ttf; path = "../node_modules/react-native-vector-icons/Fonts/AntDesign.ttf"; sourceTree = "<group>"; };
BEA7C1BD22034BC800B47CD7 /* Foundation.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = Foundation.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Foundation.ttf"; sourceTree = "<group>"; };
BEA7C1BE22034BC800B47CD7 /* EvilIcons.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = EvilIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/EvilIcons.ttf"; sourceTree = "<group>"; };
BEA7C1BF22034BC800B47CD7 /* Octicons.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = Octicons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Octicons.ttf"; sourceTree = "<group>"; };
B5DCFEB358F745A89DBBDC7B /* BVLinearGradient.xcodeproj */ = {isa = PBXFileReference; name = "BVLinearGradient.xcodeproj"; path = "../node_modules/react-native-linear-gradient/BVLinearGradient.xcodeproj"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = wrapper.pb-project; explicitFileType = undefined; includeInIndex = 0; };
A757D24430CF4419B7ABDE21 /* libBVLinearGradient.a */ = {isa = PBXFileReference; name = "libBVLinearGradient.a"; path = "libBVLinearGradient.a"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; };
BE302B67221B7860005626CF /* RNCamera.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RNCamera.xcodeproj; path = "../node_modules/react-native-camera/ios/RNCamera.xcodeproj"; sourceTree = "<group>"; };
BE302B6E221B7AC7005626CF /* RNGestureHandler.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RNGestureHandler.xcodeproj; path = "../node_modules/react-native-gesture-handler/ios/RNGestureHandler.xcodeproj"; sourceTree = "<group>"; };
BE302B75221B7C3B005626CF /* Ionicons.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = Ionicons.ttf; path = "../node_modules/react-native-ionicons/fonts/Ionicons.ttf"; sourceTree = "<group>"; };
BE5EAB69221B7D5300E92E5B /* MaterialIcons.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = MaterialIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/MaterialIcons.ttf"; sourceTree = "<group>"; };
BE5EAB6A221B7D5300E92E5B /* Entypo.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = Entypo.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Entypo.ttf"; sourceTree = "<group>"; };
BE5EAB6B221B7D5300E92E5B /* FontAwesome.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = FontAwesome.ttf; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome.ttf"; sourceTree = "<group>"; };
BE5EAB6C221B7D5300E92E5B /* SimpleLineIcons.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = SimpleLineIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/SimpleLineIcons.ttf"; sourceTree = "<group>"; };
BE5EAB6D221B7D5300E92E5B /* EvilIcons.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = EvilIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/EvilIcons.ttf"; sourceTree = "<group>"; };
BE5EAB6E221B7D5300E92E5B /* FontAwesome5_Regular.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = FontAwesome5_Regular.ttf; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Regular.ttf"; sourceTree = "<group>"; };
BE5EAB6F221B7D5300E92E5B /* Foundation.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = Foundation.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Foundation.ttf"; sourceTree = "<group>"; };
BE5EAB70221B7D5300E92E5B /* Feather.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = Feather.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Feather.ttf"; sourceTree = "<group>"; };
BE5EAB71221B7D5400E92E5B /* FontAwesome5_Solid.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = FontAwesome5_Solid.ttf; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Solid.ttf"; sourceTree = "<group>"; };
BE5EAB72221B7D5400E92E5B /* AntDesign.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = AntDesign.ttf; path = "../node_modules/react-native-vector-icons/Fonts/AntDesign.ttf"; sourceTree = "<group>"; };
BE5EAB73221B7D5400E92E5B /* MaterialCommunityIcons.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = MaterialCommunityIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf"; sourceTree = "<group>"; };
BE5EAB75221B7D5400E92E5B /* FontAwesome5_Brands.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = FontAwesome5_Brands.ttf; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Brands.ttf"; sourceTree = "<group>"; };
BE5EAB76221B7D5400E92E5B /* Octicons.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = Octicons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Octicons.ttf"; sourceTree = "<group>"; };
BE5EAB77221B7D5400E92E5B /* Zocial.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = Zocial.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Zocial.ttf"; sourceTree = "<group>"; };
BE5EAC3B221B888C00E92E5B /* ReactNativePermissions.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = ReactNativePermissions.xcodeproj; path = "../node_modules/react-native-permissions/ios/ReactNativePermissions.xcodeproj"; sourceTree = "<group>"; };
C00CE8A4E3B747F9816B91CF /* libBVLinearGradient.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libBVLinearGradient.a; sourceTree = "<group>"; };
EB0A5A258CBE4EEFAD3C358E /* libRNVectorIcons.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNVectorIcons.a; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@ -434,10 +451,8 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
BE2BDFE2220101420001B8A8 /* libRNVectorIcons.a in Frameworks */,
BE2BDFA12200F9880001B8A8 /* libReactNativePermissions.a in Frameworks */,
BE2BDF9A2200F96A0001B8A8 /* libRNGestureHandler.a in Frameworks */,
BE2BDF992200F95B0001B8A8 /* libRNCamera.a in Frameworks */,
BE302B74221B7ACE005626CF /* libRNGestureHandler.a in Frameworks */,
BE302B6D221B7875005626CF /* libRNCamera.a in Frameworks */,
ADBDB9381DFEBF1600ED6528 /* libRCTBlob.a in Frameworks */,
11D1A2F320CAFA9E000508D9 /* libRCTAnimation.a in Frameworks */,
146834051AC3E58100842450 /* libReact.a in Frameworks */,
@ -447,10 +462,12 @@
133E29F31AD74F7200F7D852 /* libRCTLinking.a in Frameworks */,
00C302E91ABCBA2D00DB3ED1 /* libRCTNetwork.a in Frameworks */,
139105C61AF99C1200B5F7CC /* libRCTSettings.a in Frameworks */,
BE5EAC41221B889900E92E5B /* libReactNativePermissions.a in Frameworks */,
832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */,
00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */,
139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */,
7BB898A137474B3ABEF9425B /* libBVLinearGradient.a in Frameworks */,
BE104176D74E47E9A369B15A /* libRNVectorIcons.a in Frameworks */,
69E1B84AE0DF486CB1B1D226 /* libBVLinearGradient.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -466,6 +483,7 @@
2D02E4C61E0B4AEC006451C7 /* libRCTSettings-tvOS.a in Frameworks */,
2D02E4C71E0B4AEC006451C7 /* libRCTText-tvOS.a in Frameworks */,
2D02E4C81E0B4AEC006451C7 /* libRCTWebSocket-tvOS.a in Frameworks */,
514DB1DF2E3B452F9EF272E3 /* libRNVectorIcons-tvOS.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -613,29 +631,6 @@
name = Products;
sourceTree = "<group>";
};
624432DF59944E72B6023C91 /* Resources */ = {
isa = PBXGroup;
children = (
BEA7C1BC22034BC800B47CD7 /* AntDesign.ttf */,
BEA7C1B622034BC800B47CD7 /* Entypo.ttf */,
BEA7C1BE22034BC800B47CD7 /* EvilIcons.ttf */,
BEA7C1B922034BC800B47CD7 /* Feather.ttf */,
BEA7C1B222034BC800B47CD7 /* FontAwesome.ttf */,
BEA7C1B422034BC800B47CD7 /* FontAwesome5_Brands.ttf */,