tab navigation

This commit is contained in:
henrydays 2019-01-30 14:32:25 +00:00
parent ad1e5dd90a
commit 1d6bb11026
91 changed files with 950 additions and 257 deletions

0
App/.babelrc Normal file → Executable file
View File

0
App/.buckconfig Normal file → Executable file
View File

0
App/.flowconfig Normal file → Executable file
View File

0
App/.gitattributes vendored Normal file → Executable file
View File

0
App/.gitignore vendored Normal file → Executable file
View File

0
App/.watchmanconfig Normal file → Executable file
View File

0
App/android/app/BUCK Normal file → Executable file
View File

0
App/android/app/build.gradle Normal file → Executable file
View File

0
App/android/app/proguard-rules.pro vendored Normal file → Executable file
View File

0
App/android/app/src/main/AndroidManifest.xml Normal file → Executable file
View File

0
App/android/app/src/main/assets/fonts/AntDesign.ttf Normal file → Executable file
View File

0
App/android/app/src/main/assets/fonts/Entypo.ttf Normal file → Executable file
View File

0
App/android/app/src/main/assets/fonts/EvilIcons.ttf Normal file → Executable file
View File

0
App/android/app/src/main/assets/fonts/Feather.ttf Normal file → Executable file
View File

0
App/android/app/src/main/assets/fonts/FontAwesome.ttf Normal file → Executable file
View File

View File

View File

View File

0
App/android/app/src/main/assets/fonts/Foundation.ttf Normal file → Executable file
View File

View File

View File

0
App/android/app/src/main/assets/fonts/Octicons.ttf Normal file → Executable file
View File

View File

0
App/android/app/src/main/assets/fonts/Zocial.ttf Normal file → Executable file
View File

View File

View File

View File

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 4.9 KiB

View File

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

View File

Before

Width:  |  Height:  |  Size: 6.9 KiB

After

Width:  |  Height:  |  Size: 6.9 KiB

View File

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

View File

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

View File

Before

Width:  |  Height:  |  Size: 9.0 KiB

After

Width:  |  Height:  |  Size: 9.0 KiB

View File

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

0
App/android/app/src/main/res/values/strings.xml Normal file → Executable file
View File

0
App/android/app/src/main/res/values/styles.xml Normal file → Executable file
View File

0
App/android/build.gradle Normal file → Executable file
View File

0
App/android/gradle.properties Normal file → Executable file
View File

0
App/android/gradle/wrapper/gradle-wrapper.jar vendored Normal file → Executable file
View File

0
App/android/gradle/wrapper/gradle-wrapper.properties vendored Normal file → Executable file
View File

0
App/android/gradlew.bat vendored Normal file → Executable file
View File

0
App/android/keystores/BUCK Normal file → Executable file
View File

0
App/android/keystores/debug.keystore.properties Normal file → Executable file
View File

0
App/android/settings.gradle Normal file → Executable file
View File

0
App/app.json Normal file → Executable file
View File

28
App/app/App.js Normal file → Executable file
View File

@ -19,6 +19,27 @@ import Login from './screens/Login'
import {AsyncStorage, ActivityIndicator} from 'react-native';
import AuthLoadingScreen from "./screens/AuthLoading";
import thunkMiddleware from 'redux-thunk';
import reducer from './reducers';
import { AppRegistry } from 'react-native';
import { Provider } from 'react-redux';
import { createLogger } from 'redux-logger';
import { compose, createStore, combineReducers, applyMiddleware} from 'redux';
const loggerMiddleware = createLogger({ predicate: (getState, action) => __DEV__ });
function configureStore(initialState) {
const enhancer = compose(
applyMiddleware(
thunkMiddleware, // used to dispatch() functions
loggerMiddleware, // used for logging actions
),
);
return createStore(reducer, initialState, enhancer);
}
const store = configureStore({});
export default class App extends Component {
constructor(props) {
@ -92,10 +113,13 @@ export default class App extends Component {
render() {
console.log('inside render');
return (
<Router />
<Provider store={store}>
<Router />
</Provider>
)

0
App/app/Helpers/Validation.js Normal file → Executable file
View File

View File

@ -0,0 +1,10 @@
export default function createReducer(initialState, handlers) {
return function reducer(state = initialState, action) {
if (handlers.hasOwnProperty(action.type)) {
return handlers[action.type](state, action)
} else {
return state
}
}
}

73
App/app/Router.js Normal file → Executable file
View File

@ -1,4 +1,6 @@
import React from 'react';
import {
createStackNavigator,
createAppContainer,
@ -7,15 +9,79 @@ import {
} from 'react-navigation';
import * as Screens from './screens';
import Login from './screens/Login'
import AuthLoadingScreen from './screens/AuthLoading'
import Eventos from './screens/Eventos'
import Social from './screens/Social'
import Scan from './screens/Scan'
import Calendar from './screens/Calendar'
import Icon from "react-native-vector-icons/Ionicons"
const AppStack = createBottomTabNavigator(
{
Calendar:{
screen:Calendar,
navigationOptions: {
tabBarIcon: ({ tintColor }) => (
<Icon name="ios-beer" size={30}/>
)
},
},
Social:{
screen:Social,
navigationOptions: {
tabBarIcon: ({ tintColor }) => (
<Icon name="ios-mail" size={30}/>
)
},
},
Scan:{
screen:Scan,
navigationOptions: {
tabBarIcon: ({ tintColor }) => (
<Icon name="ios-qr-scanner" size={30}/>
)
},
},
Eventos: {
screen: Eventos,
navigationOptions: {
tabBarIcon: ({ tintColor }) => (
<Icon name="ios-beer" size={30}/>
)
},
},
Home: {
screen: Screens.Home
screen:Screens.Home,
navigationOptions: {
tabBarIcon: ({ tintColor }) => (
<Icon name="md-person" size={30}/>
)
},
},
},{
initialRouteName : 'Home'
}
}
);
)
const AuthStack = createStackNavigator(
{
@ -38,6 +104,7 @@ export default createAppContainer(createSwitchNavigator(
AuthLoading: AuthLoadingScreen,
App: AppStack,
Auth: AuthStack,
},
{
initialRouteName: 'AuthLoading'

0
App/app/actions/index.js Normal file
View File

View File

@ -0,0 +1,10 @@
import * as types from './types'
import ReactNative from 'react-native'
export function setScreen(state) {
return {
type: types.SET_SCREEN,
state
}
}

10
App/app/actions/posts.js Normal file
View File

@ -0,0 +1,10 @@
import * as types from './types'
import ReactNative from 'react-native'
export function setScreen(state) {
return {
type: types.SET_SCREEN,
state
}
}

5
App/app/actions/types.js Normal file
View File

@ -0,0 +1,5 @@
// Posts
export const SET_POST = 'SET_POST';
// Navigation
export const SET_SCREEN = 'SET_SCREEN';

0
App/app/assets/img/logo.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 8.0 KiB

After

Width:  |  Height:  |  Size: 8.0 KiB

0
App/app/assets/styles.js Normal file → Executable file
View File

View File

@ -0,0 +1,82 @@
import React, { Component } from 'react';
import { PropTypes } from 'prop-types';
import { connect } from 'react-redux';
import { bindActionCreators } from 'redux';
import { ActionCreators } from '../actions';
import {
View,
Text,
StyleSheet,
TouchableHighlight,
} from 'react-native';
class AppContainer extends Component {
changeActiveScreen() {
let screens = ['Home', 'About', 'Contact', 'Portfolio', 'News'];
this.props.setScreen(screens[(Math.random() * screens.length) | 0]);
}
changeCurrentPost() {
let posts = ['Post 1', 'Post 2', 'Post 3', 'Post 4', 'Post 5', 'Post 6'];
this.props.setPost(posts[(Math.random() * posts.length) | 0]);
}
render() {
let activeScreen = this.props.activeScreen;
let currentPost = this.props.currentPost;
return (
<View style={styles.wrapper}>
<Text style={styles.welcomeText}>Hello World</Text>
<Text style={styles.subHead}>The active screen is: {activeScreen.state}</Text>
<Text style={styles.subHead}>The current post is: {currentPost.state}</Text>
<TouchableHighlight style={styles.button} onPress={ () => { this.changeActiveScreen() } }>
<Text style={styles.buttonText}>Change Active Screen State</Text>
</TouchableHighlight>
<TouchableHighlight style={styles.button} onPress={ () => { this.changeCurrentPost() } }>
<Text style={styles.buttonText}>Change Current Post State</Text>
</TouchableHighlight>
</View>
);
}
}
const styles = StyleSheet.create({
wrapper: {
display: 'flex',
padding: 50,
},
button: {
backgroundColor: 'green',
marginBottom: 10,
padding: 10,
},
buttonText: {
color: 'white',
textAlign: 'center',
},
welcomeText: {
marginBottom: 30,
fontSize: 40,
textAlign: 'center',
},
subHead: {
textAlign: 'center',
marginBottom: 10
}
});
function mapDispatchToProps(dispatch) {
return bindActionCreators(ActionCreators, dispatch);
}
function mapStateToProps(state) {
return {
activeScreen: state.activeScreen,
currentPost: state.currentPost,
};
}
export default connect(mapStateToProps, mapDispatchToProps)(AppContainer);

View File

@ -0,0 +1,8 @@
import { combineReducers } from 'redux';
import * as NavigationReducers from './navigation';
import * as PostsReducers from './posts';
export default combineReducers(Object.assign(
NavigationReducers,
PostsReducers,
));

View File

@ -0,0 +1,8 @@
import createReducer from '../Helpers/createReducer'
import * as types from '../actions/types'
export const activeScreen = createReducer({}, {
[types.SET_SCREEN](state, action) {
return action;
}
});

View File

@ -0,0 +1,8 @@
import createReducer from '../Helpers/createReducer'
import * as types from '../actions/types'
export const currentPost = createReducer({}, {
[types.SET_POST](state, action) {
return action;
}
});

2
App/app/screens/AuthLoading.js Normal file → Executable file
View File

@ -18,7 +18,7 @@ export default class AuthLoadingScreen extends Component {
// Fetch the token from storage then navigate to our appropriate place
_bootstrapAsync = async () => {
const token = await AsyncStorage.getItem('userToken');
const token = await AsyncStorage.getItem('token');
// This will switch to the App screen or Auth screen and this loading
// screen will be unmounted and thrown away.

View File

@ -0,0 +1,22 @@
import React from 'react';
import { StyleSheet, Text, View } from 'react-native';
export default class Calendar extends React.Component {
render() {
const { navigate } = this.props.navigation;
return (
<View style={styles.container}>
<Text style={styles.title}>ups...</Text>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'space-around',
}
});

View File

@ -0,0 +1,58 @@
import React, { Component } from 'react';
import { Button, View, Text , TouchableOpacity} from 'react-native';
import {RkButton,
RkTheme } from 'react-native-ui-kitten';
import deviceStorage from '../services/deviceStorage';
import AuthLoadingScreen from './AuthLoading';
import api from '../services/api';
import {connect} from 'react-redux'
class Counter extends Component {
static navigationOptions = {
title: 'Home'
};
render() {
return (
<View style={{flex:1, alignItems: 'center', alignContent: 'center'}}>
<View style={{flexDirection:'row', margin:50}}>
<TouchableOpacity onPress={()=>this.props.increaseCounter()}>
<Text style={{fontSize:30}}>Increase</Text>
</TouchableOpacity>
<Text>{this.props.counter}</Text>
<TouchableOpacity onPress={()=>this.props.decreaseCounter()}>
<Text style={{fontSize:30}}> Decrease</Text>
</TouchableOpacity>
</View>
</View>
);
}
}
function mapStateToProps(state){
return {
counter:state.counter
}
}
function mapDispatchToProps(dispatch){
return {
increaseCounter:()=> dispatch({type:'INCREASE_COUNTER' }),
decreaseCounter:()=> dispatch({type:'DECREASE_COUNTER' }),
}
}
export default connect(mapStateToProps, mapDispatchToProps)(Counter)

View File

@ -0,0 +1,22 @@
import React from 'react';
import { StyleSheet, Text, View } from 'react-native';
export default class Eventos extends React.Component {
render() {
const { navigate } = this.props.navigation;
return (
<View style={styles.container}>
<Text style={styles.title}>Eventos</Text>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'space-around',
}
});

55
App/app/screens/Home.js Normal file → Executable file
View File

@ -1,9 +1,42 @@
import React, { Component } from 'react';
import { Button, View, Text } from 'react-native';
import { Button, View, Text , TouchableOpacity} from 'react-native';
import {RkButton,
RkTheme } from 'react-native-ui-kitten';
import deviceStorage from '../services/deviceStorage';
import AuthLoadingScreen from './AuthLoading';
import api from '../services/api';
import Counter from './Counter'
import { createStore } from 'redux';
import {Provider} from 'react-redux'
const initialState={
counter:0
}
const reducer=(state =initialState, action)=>{
switch(action.type){
case 'INCREASE_COUNTER':
return {
counter: state.counter+1
}
case 'DECREASE_COUNTER':
return {
counter: state.counter-1
}
}
return state
}
const store = createStore(reducer);
export class Home extends Component {
@ -12,17 +45,19 @@ export class Home extends Component {
};
_deleteToken = () => {
deviceStorage.deleteJWT();
};
render() {
const { navigate } = this.props.navigation;
return (
<View style={{flex:1, alignItems: 'center', alignContent: 'center'}}>
<RkButton onPress= { () => this._deleteToken() }>Apagar Token</RkButton>
</View>
<Provider store={store}>
<View style={{flex:1, alignItems: 'center', alignContent: 'center'}}>
<Counter></Counter>
</View>
</Provider>
);
}
}

29
App/app/screens/Login.js Normal file → Executable file
View File

@ -6,9 +6,11 @@ import { AsyncStorage } from 'react-native';
import axios from 'axios';
import deviceStorage from '../services/deviceStorage';
import {cenas} from '../services/auth';
import QRCodeScanner from 'react-native-qrcode-scanner';
import CodeInput from 'react-native-confirmation-code-input';
const SCREEN_HEIGHT = Dimensions.get("window").height;
const SCREEN_WIDTH = Dimensions.get("window").width;
@ -30,15 +32,27 @@ export default class Login extends Component {
onSuccess = (e) => {
console.log(e.data);
this.props.navigation.navigate('Home',);
// console.log(e.data);
deviceStorage.Login(e);
this.props.navigation.navigate('Home');
};
render() {
console.log(AsyncStorage.getItem('userToken'))
deviceStorage.isLogged().then(a=>{
console.log(a);
if(a)
this.props.navigation.navigate('Home');
})
// console.log(AsyncStorage.getItem('userToken'))
// if(AsyncStorage.getItem('userToken')){
@ -48,6 +62,8 @@ export default class Login extends Component {
return (
<QRCodeScanner
showMarker
@ -56,6 +72,7 @@ export default class Login extends Component {
cameraStyle={{ height: SCREEN_HEIGHT }}
customMarker={
<View style={styles.rectangleContainer}>
<View style={styles.logo}>
<Image style={UtilStyles.loginImage}
@ -82,7 +99,7 @@ export default class Login extends Component {
<View style={{flex:1, alignItems: 'center', alignContent: 'center'}}>
<RkText rkType='primary' style={styles.recover}>Recuperar pin de acesso</RkText>
<RkButton rkType='dark' style={styles.manual}>Instruções</RkButton>
<RkButton rkType='dark' style={styles.manual}>lols</RkButton>
</View>
</View>

120
App/app/screens/Scan.js Normal file
View File

@ -0,0 +1,120 @@
import React from 'react';
import { View, Image, Vibration, Dimensions,Text ,Button ,TouchableOpacity } from 'react-native';
import QRCodeScanner from 'react-native-qrcode-scanner';
import {UtilStyles} from '../assets/styles'
import CodeInput from 'react-native-confirmation-code-input';
import {RkButton,
RkTheme , RkText} from 'react-native-ui-kitten';
const SCREEN_HEIGHT = Dimensions.get("window").height;
const SCREEN_WIDTH = Dimensions.get("window").width;
export default class Scan extends React.Component {
onSuccess = (e) => {
// console.log(e.data);
console.log(e);
};
state = {
isRender: true
}
componentDidMount() {
this.props.navigation.addListener('willFocus', (route) => {
this.setState({ isRender: true })
});
this.props.navigation.addListener('willBlur', (route) => {
this.setState({ isRender: false })
});
}
render() {
return (
<View style={{flex: 1}}>
{ this.state.isRender &&
<QRCodeScanner />
}
</View>
);
}
}
RkTheme.setType('RkButton', 'dark', {
container: {
paddingTop:10,
backgroundColor: 'gray',
borderRadius: 90,
}
});
const rectDimensions = SCREEN_WIDTH * 0.85; // this is equivalent to 255 from a 393 device width
const overlayColor = 'rgba(0,0,0,0.30)';
const styles = {
recover:{
paddingTop:10,
color: "red",
paddingBottom:10
},
manual:{
},
logo:{
height:SCREEN_HEIGHT*0.35,
width:SCREEN_WIDTH,
backgroundColor: overlayColor,
},
rectangleContainer: {
flex: 1,
alignItems: "center",
justifyContent: "center",
backgroundColor: "transparent",
},
rectangle: {
height: rectDimensions,
width: rectDimensions,
alignItems: "center",
justifyContent: "center",
backgroundColor: "transparent"
},
topOverlay: {
flex: 1,
backgroundColor: overlayColor,
justifyContent: "center",
alignItems: "center"
},
bottomOverlay: {
flex: 1,
height: SCREEN_HEIGHT,
width: SCREEN_WIDTH,
backgroundColor: overlayColor,
paddingBottom: SCREEN_WIDTH * 0.2
},
leftAndRightOverlay: {
height: rectDimensions,
width: SCREEN_WIDTH,
backgroundColor: overlayColor
},
};

22
App/app/screens/Social.js Normal file
View File

@ -0,0 +1,22 @@
import React from 'react';
import { StyleSheet, Text, View } from 'react-native';
export default class Social extends React.Component {
render() {
const { navigate } = this.props.navigation;
return (
<View style={styles.container}>
<Text style={styles.title}>Social</Text>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'space-around',
}
});

2
App/app/screens/index.js Normal file → Executable file
View File

@ -1 +1 @@
export * from './Home';
export * from './Home';

40
App/app/services/api.js Normal file
View File

@ -0,0 +1,40 @@
const api={
_retrieveData (){
try {
const value = AsyncStorage.getItem('token');
if (value !== null) {
// We have data!!
return value;
}
} catch (error) {
// Error retrieving data
}
},
getPersonalInfo(){
var obj = {
method: 'GET',
headers: {
'Authorization':"Bearer "+ api._retrieveData(),
},
}
return fetch('http://enei2019.uingress.com/internal/api/Attendee/Detail', obj)
.then(function(res) {
console.log(res);
return res.json();
})
.then(function(resJson) {
return resJson;
})
;
}
}
export default api;

47
App/app/services/auth.js Normal file
View File

@ -0,0 +1,47 @@
import {AsyncStorage} from 'react-native';
import Login from '../screens/Login';
cenas={
loginAPI(user, pass){
var details = {
'username': user,
'password': '80f3b6e5',
'grant_type': 'password'
};
var formBody = [];
for (var property in details) {
var encodedKey = encodeURIComponent(property);
var encodedValue = encodeURIComponent(details[property]);
formBody.push(encodedKey + "=" + encodedValue);
}
formBody = formBody.join("&");
fetch('http://enei2019.uingress.com/internal/api/token', {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'
},
body: formBody
}).catch(err=>{
console.log(err);
alert("error");
}).then(res=>res.json()).then(parsed=>{console.log(parsed)
deviceStorage.saveItem(parsed.access_token);},
this.setState(previousState => (
{ loggedIn: true }
))
)
}
}
export default cenas;

50
App/app/services/deviceStorage.js Normal file → Executable file
View File

@ -1,7 +1,53 @@
import { AsyncStorage } from 'react-native';
import Login from '../screens/Login';
const deviceStorage = {
Login(){
var details = {
'username': 'TC2MT8QFJT',
'password': '80f3b6e5',
'grant_type': 'password'
};
var formBody = [];
for (var property in details) {
var encodedKey = encodeURIComponent(property);
var encodedValue = encodeURIComponent(details[property]);
formBody.push(encodedKey + "=" + encodedValue);
}
formBody = formBody.join("&");
fetch('http://enei2019.uingress.com/internal/api/token', {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'
},
body: formBody
}).catch(err=>{
console.log(err);
alert("error");
}).then(res=>res.json()).then(parsed=>{
AsyncStorage.setItem('token', parsed.access_token);
AsyncStorage.setItem('nome',"henrique");
}
)
},
async isLogged(){
const value = AsyncStorage.getItem('token');
return value;
},
async saveItem(key, value) {
try {
await AsyncStorage.setItem(key, value);
@ -34,7 +80,9 @@ const deviceStorage = {
//Apagar Token
async deleteJWT() {
try {
await AsyncStorage.removeItem('userToken');
console.log("apaga");
await AsyncStorage.removeItem('token');
} catch (error) {
console.log(`Erro a ler token \n${error.message}`);

6
App/index.js Normal file → Executable file
View File

@ -1,7 +1,11 @@
/** @format */
import React from 'react';
import {AppRegistry} from 'react-native';
import {Provider} from 'react-redux';
import App from './app/App';
import {name as appName} from './app.json';
AppRegistry.registerComponent(appName, () => App);

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

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

342
App/ios/app.xcodeproj/project.pbxproj Normal file → Executable file
View File

@ -37,26 +37,11 @@
2DF0FFEE2056DD460020B375 /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3EA31DF850E9000B6D8A /* libReact.a */; };
832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 832341B51AAA6A8300B99B32 /* libRCTText.a */; };
ADBDB9381DFEBF1600ED6528 /* libRCTBlob.a in Frameworks */ = {isa = PBXBuildFile; fileRef = ADBDB9271DFEBF0700ED6528 /* libRCTBlob.a */; };
F325F03AB843442BAF40F951 /* libRNGestureHandler.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FB1AE11AF85447DE93AD6A30 /* libRNGestureHandler.a */; };
7BC549BBA24F4EB7B232B565 /* libRNVectorIcons.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1A81BE6AD4604151A4E3C086 /* libRNVectorIcons.a */; };
C2AE09B9A3A8478B9882F8D0 /* libRNVectorIcons-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5FBE4B8008A8441E8F3652F7 /* libRNVectorIcons-tvOS.a */; };
645D4B0027AE427892FC3C61 /* AntDesign.ttf in Resources */ = {isa = PBXBuildFile; fileRef = DF41FA28417B48918C358335 /* AntDesign.ttf */; };
78955A46402B4454800E25B9 /* Entypo.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 2F3A3E48065D4B818425C6E0 /* Entypo.ttf */; };
724C19947A604E43A93C7818 /* EvilIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = B956EC9CE46A4BE6A5103498 /* EvilIcons.ttf */; };
853CA57AEE8146A8BBB197AB /* Feather.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 9376A1F431534635811ADA8A /* Feather.ttf */; };
6D897C959B84480C9677C690 /* FontAwesome.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 08446DDCDF244361BF573B29 /* FontAwesome.ttf */; };
622C370998904C1F87BC2FD7 /* FontAwesome5_Brands.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 6003651A2B374A598AF408F1 /* FontAwesome5_Brands.ttf */; };
E65B7ED1A6BD4CE28AEF2EF5 /* FontAwesome5_Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = B779839C1F8F485CBCFB19F5 /* FontAwesome5_Regular.ttf */; };
25365A6A91B64DCC8F46C263 /* FontAwesome5_Solid.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 6EFFC3189BBA4DC78EC487B4 /* FontAwesome5_Solid.ttf */; };
25724D587B7E46C9B8D56069 /* Foundation.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 1582429421514EB88DCC0734 /* Foundation.ttf */; };
6BD1E9C324804234932F912A /* Ionicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = E9C587FB94E14665809F35BF /* Ionicons.ttf */; };
16EDC8927BC84C85987F293F /* MaterialCommunityIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 9CECDC3393774F65BC5FCFDD /* MaterialCommunityIcons.ttf */; };
CDC9848FA3B04B37A885208B /* MaterialIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = F6910F78B34C4D99A5286F9F /* MaterialIcons.ttf */; };
E0EBA1E2E13F4334A592B601 /* Octicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = ECCE518B417341FEAE18531B /* Octicons.ttf */; };
C8D04720A2D1470CAB9B7220 /* SimpleLineIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 03500D5C3CEB40069E65C5F5 /* SimpleLineIcons.ttf */; };
F0077E0362CD4B6885EF7B0B /* Zocial.ttf in Resources */ = {isa = PBXBuildFile; fileRef = C368D781572D4675982B0DF3 /* Zocial.ttf */; };
9D2AA5F8DBA2405C81CC59BA /* libRNCamera.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A3A145881DD42A487693766 /* libRNCamera.a */; };
06E7FF60D1524094B342DB35 /* libReactNativePermissions.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3555D25E18F04E3EBE04F921 /* libReactNativePermissions.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 */; };
43A080C42246430685BC7859 /* Ionicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = A55A26724384416FAF74A98D /* Ionicons.ttf */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@ -333,6 +318,41 @@
remoteGlobalIDString = 358F4ED71D1E81A9004DF814;
remoteInfo = RCTBlob;
};
BE2BDF912200F93B0001B8A8 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BE2BDF682200F93B0001B8A8 /* RNGestureHandler.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 134814201AA4EA6300B7C361;
remoteInfo = RNGestureHandler;
};
BE2BDF972200F9490001B8A8 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BE2BDF932200F9490001B8A8 /* RNCamera.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 4107012F1ACB723B00C6AA39;
remoteInfo = RNCamera;
};
BE2BDF9F2200F9830001B8A8 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BE2BDF9B2200F9830001B8A8 /* ReactNativePermissions.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 9D23B34F1C767B80008B4819;
remoteInfo = ReactNativePermissions;
};
BE2BDFDE2201012E0001B8A8 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BE2BDFD92201012E0001B8A8 /* RNVectorIcons.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 5DBEB1501B18CEA900B34395;
remoteInfo = RNVectorIcons;
};
BE2BDFE02201012E0001B8A8 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BE2BDFD92201012E0001B8A8 /* RNVectorIcons.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = A39873CE1EA65EE60051E01A;
remoteInfo = "RNVectorIcons-tvOS";
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
@ -362,30 +382,11 @@
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>"; };
ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTBlob.xcodeproj; path = "../node_modules/react-native/Libraries/Blob/RCTBlob.xcodeproj"; sourceTree = "<group>"; };
C8A09E19B2BD4219B1EE72AE /* RNGestureHandler.xcodeproj */ = {isa = PBXFileReference; name = "RNGestureHandler.xcodeproj"; path = "../node_modules/react-native-gesture-handler/ios/RNGestureHandler.xcodeproj"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = wrapper.pb-project; explicitFileType = undefined; includeInIndex = 0; };
FB1AE11AF85447DE93AD6A30 /* libRNGestureHandler.a */ = {isa = PBXFileReference; name = "libRNGestureHandler.a"; path = "libRNGestureHandler.a"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; };
3B95FB533C1840349498FA7B /* RNVectorIcons.xcodeproj */ = {isa = PBXFileReference; name = "RNVectorIcons.xcodeproj"; path = "../node_modules/react-native-vector-icons/RNVectorIcons.xcodeproj"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = wrapper.pb-project; explicitFileType = undefined; includeInIndex = 0; };
1A81BE6AD4604151A4E3C086 /* libRNVectorIcons.a */ = {isa = PBXFileReference; name = "libRNVectorIcons.a"; path = "libRNVectorIcons.a"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; };
5FBE4B8008A8441E8F3652F7 /* libRNVectorIcons-tvOS.a */ = {isa = PBXFileReference; name = "libRNVectorIcons-tvOS.a"; path = "libRNVectorIcons-tvOS.a"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; };
DF41FA28417B48918C358335 /* AntDesign.ttf */ = {isa = PBXFileReference; name = "AntDesign.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/AntDesign.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
2F3A3E48065D4B818425C6E0 /* Entypo.ttf */ = {isa = PBXFileReference; name = "Entypo.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/Entypo.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
B956EC9CE46A4BE6A5103498 /* EvilIcons.ttf */ = {isa = PBXFileReference; name = "EvilIcons.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/EvilIcons.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
9376A1F431534635811ADA8A /* Feather.ttf */ = {isa = PBXFileReference; name = "Feather.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/Feather.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
08446DDCDF244361BF573B29 /* FontAwesome.ttf */ = {isa = PBXFileReference; name = "FontAwesome.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
6003651A2B374A598AF408F1 /* FontAwesome5_Brands.ttf */ = {isa = PBXFileReference; name = "FontAwesome5_Brands.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Brands.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
B779839C1F8F485CBCFB19F5 /* FontAwesome5_Regular.ttf */ = {isa = PBXFileReference; name = "FontAwesome5_Regular.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Regular.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
6EFFC3189BBA4DC78EC487B4 /* FontAwesome5_Solid.ttf */ = {isa = PBXFileReference; name = "FontAwesome5_Solid.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Solid.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
1582429421514EB88DCC0734 /* Foundation.ttf */ = {isa = PBXFileReference; name = "Foundation.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/Foundation.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
E9C587FB94E14665809F35BF /* Ionicons.ttf */ = {isa = PBXFileReference; name = "Ionicons.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/Ionicons.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
9CECDC3393774F65BC5FCFDD /* MaterialCommunityIcons.ttf */ = {isa = PBXFileReference; name = "MaterialCommunityIcons.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
F6910F78B34C4D99A5286F9F /* MaterialIcons.ttf */ = {isa = PBXFileReference; name = "MaterialIcons.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/MaterialIcons.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
ECCE518B417341FEAE18531B /* Octicons.ttf */ = {isa = PBXFileReference; name = "Octicons.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/Octicons.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
03500D5C3CEB40069E65C5F5 /* SimpleLineIcons.ttf */ = {isa = PBXFileReference; name = "SimpleLineIcons.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/SimpleLineIcons.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
C368D781572D4675982B0DF3 /* Zocial.ttf */ = {isa = PBXFileReference; name = "Zocial.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/Zocial.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
BBE7E4A88E084E59BDB7FB27 /* RNCamera.xcodeproj */ = {isa = PBXFileReference; name = "RNCamera.xcodeproj"; path = "../node_modules/react-native-camera/ios/RNCamera.xcodeproj"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = wrapper.pb-project; explicitFileType = undefined; includeInIndex = 0; };
0A3A145881DD42A487693766 /* libRNCamera.a */ = {isa = PBXFileReference; name = "libRNCamera.a"; path = "libRNCamera.a"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; };
B07262C912594CAE95756602 /* ReactNativePermissions.xcodeproj */ = {isa = PBXFileReference; name = "ReactNativePermissions.xcodeproj"; path = "../node_modules/react-native-permissions/ios/ReactNativePermissions.xcodeproj"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = wrapper.pb-project; explicitFileType = undefined; includeInIndex = 0; };
3555D25E18F04E3EBE04F921 /* libReactNativePermissions.a */ = {isa = PBXFileReference; name = "libReactNativePermissions.a"; path = "libReactNativePermissions.a"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; };
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>"; };
A55A26724384416FAF74A98D /* Ionicons.ttf */ = {isa = PBXFileReference; name = "Ionicons.ttf"; path = "../node_modules/react-native-ionicons/fonts/Ionicons.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@ -401,6 +402,10 @@
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 */,
ADBDB9381DFEBF1600ED6528 /* libRCTBlob.a in Frameworks */,
11D1A2F320CAFA9E000508D9 /* libRCTAnimation.a in Frameworks */,
146834051AC3E58100842450 /* libReact.a in Frameworks */,
@ -413,10 +418,6 @@
832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */,
00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */,
139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */,
F325F03AB843442BAF40F951 /* libRNGestureHandler.a in Frameworks */,
7BC549BBA24F4EB7B232B565 /* libRNVectorIcons.a in Frameworks */,
9D2AA5F8DBA2405C81CC59BA /* libRNCamera.a in Frameworks */,
06E7FF60D1524094B342DB35 /* libReactNativePermissions.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -432,7 +433,6 @@
2D02E4C61E0B4AEC006451C7 /* libRCTSettings-tvOS.a in Frameworks */,
2D02E4C71E0B4AEC006451C7 /* libRCTText-tvOS.a in Frameworks */,
2D02E4C81E0B4AEC006451C7 /* libRCTWebSocket-tvOS.a in Frameworks */,
C2AE09B9A3A8478B9882F8D0 /* libRNVectorIcons-tvOS.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -592,6 +592,10 @@
832341AE1AAA6A7D00B99B32 /* Libraries */ = {
isa = PBXGroup;
children = (
BE2BDFD92201012E0001B8A8 /* RNVectorIcons.xcodeproj */,
BE2BDF9B2200F9830001B8A8 /* ReactNativePermissions.xcodeproj */,
BE2BDF932200F9490001B8A8 /* RNCamera.xcodeproj */,
BE2BDF682200F93B0001B8A8 /* RNGestureHandler.xcodeproj */,
5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */,
146833FF1AC3E56700842450 /* React.xcodeproj */,
00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */,
@ -604,10 +608,6 @@
832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */,
00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */,
139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */,
C8A09E19B2BD4219B1EE72AE /* RNGestureHandler.xcodeproj */,
3B95FB533C1840349498FA7B /* RNVectorIcons.xcodeproj */,
BBE7E4A88E084E59BDB7FB27 /* RNCamera.xcodeproj */,
B07262C912594CAE95756602 /* ReactNativePermissions.xcodeproj */,
);
name = Libraries;
sourceTree = "<group>";
@ -629,7 +629,7 @@
00E356EF1AD99517003FC87E /* appTests */,
83CBBA001A601CBA00E9B192 /* Products */,
2D16E6871FA4F8E400B85C8A /* Frameworks */,
2B9854F09B1349E4A23A65C8 /* Resources */,
624432DF59944E72B6023C91 /* Resources */,
);
indentWidth = 2;
sourceTree = "<group>";
@ -656,24 +656,43 @@
name = Products;
sourceTree = "<group>";
};
2B9854F09B1349E4A23A65C8 /* Resources */ = {
BE2BDF692200F93B0001B8A8 /* Products */ = {
isa = PBXGroup;
children = (
BE2BDF922200F93B0001B8A8 /* libRNGestureHandler.a */,
);
name = Products;
sourceTree = "<group>";
};
BE2BDF942200F9490001B8A8 /* Products */ = {
isa = PBXGroup;
children = (
BE2BDF982200F9490001B8A8 /* libRNCamera.a */,
);
name = Products;
sourceTree = "<group>";
};
BE2BDF9C2200F9830001B8A8 /* Products */ = {
isa = PBXGroup;
children = (
BE2BDFA02200F9830001B8A8 /* libReactNativePermissions.a */,
);
name = Products;
sourceTree = "<group>";
};
BE2BDFDA2201012E0001B8A8 /* Products */ = {
isa = PBXGroup;
children = (
BE2BDFDF2201012E0001B8A8 /* libRNVectorIcons.a */,
BE2BDFE12201012E0001B8A8 /* libRNVectorIcons-tvOS.a */,
);
name = Products;
sourceTree = "<group>";
};
624432DF59944E72B6023C91 /* Resources */ = {
isa = "PBXGroup";
children = (
DF41FA28417B48918C358335 /* AntDesign.ttf */,
2F3A3E48065D4B818425C6E0 /* Entypo.ttf */,
B956EC9CE46A4BE6A5103498 /* EvilIcons.ttf */,
9376A1F431534635811ADA8A /* Feather.ttf */,
08446DDCDF244361BF573B29 /* FontAwesome.ttf */,
6003651A2B374A598AF408F1 /* FontAwesome5_Brands.ttf */,
B779839C1F8F485CBCFB19F5 /* FontAwesome5_Regular.ttf */,
6EFFC3189BBA4DC78EC487B4 /* FontAwesome5_Solid.ttf */,
1582429421514EB88DCC0734 /* Foundation.ttf */,
E9C587FB94E14665809F35BF /* Ionicons.ttf */,
9CECDC3393774F65BC5FCFDD /* MaterialCommunityIcons.ttf */,
F6910F78B34C4D99A5286F9F /* MaterialIcons.ttf */,
ECCE518B417341FEAE18531B /* Octicons.ttf */,
03500D5C3CEB40069E65C5F5 /* SimpleLineIcons.ttf */,
C368D781572D4675982B0DF3 /* Zocial.ttf */,
A55A26724384416FAF74A98D /* Ionicons.ttf */,
);
name = Resources;
sourceTree = "<group>";
@ -765,8 +784,12 @@
TargetAttributes = {
00E356ED1AD99517003FC87E = {
CreatedOnToolsVersion = 6.2;
DevelopmentTeam = HLA62A6826;
TestTargetID = 13B07F861A680F5B00A75B9A;
};
13B07F861A680F5B00A75B9A = {
DevelopmentTeam = HLA62A6826;
};
2D02E47A1E0B4A5D006451C7 = {
CreatedOnToolsVersion = 8.2.1;
ProvisioningStyle = Automatic;
@ -838,6 +861,22 @@
ProductGroup = 146834001AC3E56700842450 /* Products */;
ProjectRef = 146833FF1AC3E56700842450 /* React.xcodeproj */;
},
{
ProductGroup = BE2BDF9C2200F9830001B8A8 /* Products */;
ProjectRef = BE2BDF9B2200F9830001B8A8 /* ReactNativePermissions.xcodeproj */;
},
{
ProductGroup = BE2BDF942200F9490001B8A8 /* Products */;
ProjectRef = BE2BDF932200F9490001B8A8 /* RNCamera.xcodeproj */;
},
{
ProductGroup = BE2BDF692200F93B0001B8A8 /* Products */;
ProjectRef = BE2BDF682200F93B0001B8A8 /* RNGestureHandler.xcodeproj */;
},
{
ProductGroup = BE2BDFDA2201012E0001B8A8 /* Products */;
ProjectRef = BE2BDFD92201012E0001B8A8 /* RNVectorIcons.xcodeproj */;
},
);
projectRoot = "";
targets = (
@ -1109,6 +1148,41 @@
remoteRef = ADBDB9261DFEBF0700ED6528 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
BE2BDF922200F93B0001B8A8 /* libRNGestureHandler.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libRNGestureHandler.a;
remoteRef = BE2BDF912200F93B0001B8A8 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
BE2BDF982200F9490001B8A8 /* libRNCamera.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libRNCamera.a;
remoteRef = BE2BDF972200F9490001B8A8 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
BE2BDFA02200F9830001B8A8 /* libReactNativePermissions.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libReactNativePermissions.a;
remoteRef = BE2BDF9F2200F9830001B8A8 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
BE2BDFDF2201012E0001B8A8 /* libRNVectorIcons.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libRNVectorIcons.a;
remoteRef = BE2BDFDE2201012E0001B8A8 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
BE2BDFE12201012E0001B8A8 /* libRNVectorIcons-tvOS.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = "libRNVectorIcons-tvOS.a";
remoteRef = BE2BDFE02201012E0001B8A8 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
/* End PBXReferenceProxy section */
/* Begin PBXResourcesBuildPhase section */
@ -1125,21 +1199,7 @@
files = (
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */,
13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */,
645D4B0027AE427892FC3C61 /* AntDesign.ttf in Resources */,
78955A46402B4454800E25B9 /* Entypo.ttf in Resources */,
724C19947A604E43A93C7818 /* EvilIcons.ttf in Resources */,
853CA57AEE8146A8BBB197AB /* Feather.ttf in Resources */,
6D897C959B84480C9677C690 /* FontAwesome.ttf in Resources */,
622C370998904C1F87BC2FD7 /* FontAwesome5_Brands.ttf in Resources */,
E65B7ED1A6BD4CE28AEF2EF5 /* FontAwesome5_Regular.ttf in Resources */,
25365A6A91B64DCC8F46C263 /* FontAwesome5_Solid.ttf in Resources */,
25724D587B7E46C9B8D56069 /* Foundation.ttf in Resources */,
6BD1E9C324804234932F912A /* Ionicons.ttf in Resources */,
16EDC8927BC84C85987F293F /* MaterialCommunityIcons.ttf in Resources */,
CDC9848FA3B04B37A885208B /* MaterialIcons.ttf in Resources */,
E0EBA1E2E13F4334A592B601 /* Octicons.ttf in Resources */,
C8D04720A2D1470CAB9B7220 /* SimpleLineIcons.ttf in Resources */,
F0077E0362CD4B6885EF7B0B /* Zocial.ttf in Resources */,
43A080C42246430685BC7859 /* Ionicons.ttf in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -1258,6 +1318,7 @@
isa = XCBuildConfiguration;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
DEVELOPMENT_TEAM = HLA62A6826;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
@ -1272,21 +1333,6 @@
PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/app.app/app";
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
);
HEADER_SEARCH_PATHS = (
"$(inherited)",
"$(SRCROOT)\..\node_modules\react-native-gesture-handler\ios/**",
"$(SRCROOT)\..\node_modules\react-native-vector-icons\RNVectorIconsManager",
"$(SRCROOT)\..\node_modules\react-native-camera\ios/**",
"$(SRCROOT)\..\node_modules\react-native-permissions\ios/**",
);
};
name = Debug;
};
@ -1295,6 +1341,7 @@
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
COPY_PHASE_STRIP = NO;
DEVELOPMENT_TEAM = HLA62A6826;
INFOPLIST_FILE = appTests/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
@ -1305,21 +1352,6 @@
PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/app.app/app";
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
);
HEADER_SEARCH_PATHS = (
"$(inherited)",
"$(SRCROOT)\..\node_modules\react-native-gesture-handler\ios/**",
"$(SRCROOT)\..\node_modules\react-native-vector-icons\RNVectorIconsManager",
"$(SRCROOT)\..\node_modules\react-native-camera\ios/**",
"$(SRCROOT)\..\node_modules\react-native-permissions\ios/**",
);
};
name = Release;
};
@ -1329,6 +1361,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CURRENT_PROJECT_VERSION = 1;
DEAD_CODE_STRIPPING = NO;
DEVELOPMENT_TEAM = HLA62A6826;
INFOPLIST_FILE = app/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
OTHER_LDFLAGS = (
@ -1336,16 +1369,9 @@
"-ObjC",
"-lc++",
);
PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_BUNDLE_IDENTIFIER = enei;
PRODUCT_NAME = app;
VERSIONING_SYSTEM = "apple-generic";
HEADER_SEARCH_PATHS = (
"$(inherited)",
"$(SRCROOT)\..\node_modules\react-native-gesture-handler\ios/**",
"$(SRCROOT)\..\node_modules\react-native-vector-icons\RNVectorIconsManager",
"$(SRCROOT)\..\node_modules\react-native-camera\ios/**",
"$(SRCROOT)\..\node_modules\react-native-permissions\ios/**",
);
};
name = Debug;
};
@ -1354,6 +1380,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = HLA62A6826;
INFOPLIST_FILE = app/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
OTHER_LDFLAGS = (
@ -1361,16 +1388,9 @@
"-ObjC",
"-lc++",
);
PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_BUNDLE_IDENTIFIER = enei;
PRODUCT_NAME = app;
VERSIONING_SYSTEM = "apple-generic";
HEADER_SEARCH_PATHS = (
"$(inherited)",
"$(SRCROOT)\..\node_modules\react-native-gesture-handler\ios/**",
"$(SRCROOT)\..\node_modules\react-native-vector-icons\RNVectorIconsManager",
"$(SRCROOT)\..\node_modules\react-native-camera\ios/**",
"$(SRCROOT)\..\node_modules\react-native-permissions\ios/**",
);
};
name = Release;
};
@ -1397,21 +1417,6 @@
SDKROOT = appletvos;
TARGETED_DEVICE_FAMILY = 3;
TVOS_DEPLOYMENT_TARGET = 9.2;
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
);
HEADER_SEARCH_PATHS = (
"$(inherited)",
"$(SRCROOT)\..\node_modules\react-native-gesture-handler\ios/**",
"$(SRCROOT)\..\node_modules\react-native-vector-icons\RNVectorIconsManager",
"$(SRCROOT)\..\node_modules\react-native-camera\ios/**",
"$(SRCROOT)\..\node_modules\react-native-permissions\ios/**",
);
};
name = Debug;
};
@ -1438,21 +1443,6 @@
SDKROOT = appletvos;
TARGETED_DEVICE_FAMILY = 3;
TVOS_DEPLOYMENT_TARGET = 9.2;
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
);
HEADER_SEARCH_PATHS = (
"$(inherited)",
"$(SRCROOT)\..\node_modules\react-native-gesture-handler\ios/**",
"$(SRCROOT)\..\node_modules\react-native-vector-icons\RNVectorIconsManager",
"$(SRCROOT)\..\node_modules\react-native-camera\ios/**",
"$(SRCROOT)\..\node_modules\react-native-permissions\ios/**",
);
};
name = Release;
};
@ -1478,21 +1468,6 @@
SDKROOT = appletvos;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/app-tvOS.app/app-tvOS";
TVOS_DEPLOYMENT_TARGET = 10.1;
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
);
HEADER_SEARCH_PATHS = (
"$(inherited)",
"$(SRCROOT)\..\node_modules\react-native-gesture-handler\ios/**",
"$(SRCROOT)\..\node_modules\react-native-vector-icons\RNVectorIconsManager",
"$(SRCROOT)\..\node_modules\react-native-camera\ios/**",
"$(SRCROOT)\..\node_modules\react-native-permissions\ios/**",
);
};
name = Debug;
};
@ -1518,21 +1493,6 @@
SDKROOT = appletvos;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/app-tvOS.app/app-tvOS";
TVOS_DEPLOYMENT_TARGET = 10.1;
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
);
HEADER_SEARCH_PATHS = (
"$(inherited)",
"$(SRCROOT)\..\node_modules\react-native-gesture-handler\ios/**",
"$(SRCROOT)\..\node_modules\react-native-vector-icons\RNVectorIconsManager",
"$(SRCROOT)\..\node_modules\react-native-camera\ios/**",
"$(SRCROOT)\..\node_modules\react-native-permissions\ios/**",
);
};
name = Release;
};

View File

View File

0
App/ios/app/AppDelegate.h Normal file → Executable file
View File

0
App/ios/app/AppDelegate.m Normal file → Executable file
View File

0
App/ios/app/Base.lproj/LaunchScreen.xib Normal file → Executable file
View File

View File

@ -1,5 +1,15 @@
{
"images" : [
{
"idiom" : "iphone",
"size" : "20x20",
"scale" : "2x"
},
{
"idiom" : "iphone",
"size" : "20x20",
"scale" : "3x"
},
{
"idiom" : "iphone",
"size" : "29x29",
@ -29,6 +39,11 @@
"idiom" : "iphone",
"size" : "60x60",
"scale" : "3x"
},
{
"idiom" : "ios-marketing",
"size" : "1024x1024",
"scale" : "1x"
}
],
"info" : {

0
App/ios/app/Images.xcassets/Contents.json Normal file → Executable file
View File

50
App/ios/app/Info.plist Normal file → Executable file
View File

@ -5,15 +5,13 @@
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleDisplayName</key>
<string>app</string>
<string>ENEI 2019</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
@ -24,8 +22,23 @@
<string>1</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>NSLocationWhenInUseUsageDescription</key>
<string/>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSExceptionDomains</key>
<dict>
<key>localhost</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
</dict>
</dict>
<key>NSCameraUsageDescription</key>
<string>$(PRODUCT_NAME) camera use</string>
<key>Privacy - Camera Usage Description</key>
<string>$(PRODUCT_NAME) camera use</string>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIRequiredDeviceCapabilities</key>
@ -40,36 +53,9 @@
</array>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSExceptionDomains</key>
<dict>
<key>localhost</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
</dict>
</dict>
<key>UIAppFonts</key>
<array>
<string>AntDesign.ttf</string>
<string>Entypo.ttf</string>
<string>EvilIcons.ttf</string>
<string>Feather.ttf</string>
<string>FontAwesome.ttf</string>
<string>FontAwesome5_Brands.ttf</string>
<string>FontAwesome5_Regular.ttf</string>
<string>FontAwesome5_Solid.ttf</string>
<string>Foundation.ttf</string>
<string>Ionicons.ttf</string>
<string>MaterialCommunityIcons.ttf</string>
<string>MaterialIcons.ttf</string>
<string>Octicons.ttf</string>
<string>SimpleLineIcons.ttf</string>
<string>Zocial.ttf</string>
</array>
</dict>
</plist>

0
App/ios/app/main.m Normal file → Executable file
View File

0
App/ios/appTests/Info.plist Normal file → Executable file
View File

0
App/ios/appTests/appTests.m Normal file → Executable file
View File

71
App/package-lock.json generated Normal file → Executable file
View File

@ -2290,6 +2290,11 @@
"resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
"integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
},
"deep-diff": {
"version": "0.3.8",
"resolved": "https://registry.npmjs.org/deep-diff/-/deep-diff-0.3.8.tgz",
"integrity": "sha1-wB3mPvsO7JeYgB1Ax+Da4ltYLIQ="
},
"deep-is": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
@ -6795,17 +6800,26 @@
"integrity": "sha512-5Gzg5FG2uP/RHkSDFB5+2df4vQ2FpyUJ5PGYd23lLEISsEOJe0Zredh1hHMJj+fB5D9B7ZoL0IlR+SNn8iFxHg=="
},
"react-native-camera": {
"version": "1.9.1",
"resolved": "https://registry.npmjs.org/react-native-camera/-/react-native-camera-1.9.1.tgz",
"integrity": "sha512-U6CCeQN9fkVhePVGUpFgex70Q8ci1KbXRN3i7I8SZQEn2+auiOGU11Unw+UkicHghmL9f+VYH5TpHK0SdNj0Mw==",
"version": "1.9.2",
"resolved": "https://registry.npmjs.org/react-native-camera/-/react-native-camera-1.9.2.tgz",
"integrity": "sha512-5hdFgU0F0DozcI4eDPfMqhwPf+TSnBfxi/4+pk6R8MpiP2VDMMn3qDZQ6pIk7VdKepC/KUmcJTvIdpwISRxSFg==",
"requires": {
"prop-types": "^15.6.2"
}
},
"react-native-confirmation-code-input": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/react-native-confirmation-code-input/-/react-native-confirmation-code-input-1.0.4.tgz",
"integrity": "sha512-WmkDws7lovEC9deYHtinwsLBv4Snem4VjHJOoXe0tNM/cgEKzuNNCOui25QHgB2OFPvcWMAnTHzyCJmEHcbnqA==",
"requires": {
"lodash": "^4.17.4",
"prop-types": "^15.5.10"
}
},
"react-native-gesture-handler": {
"version": "1.0.12",
"resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-1.0.12.tgz",
"integrity": "sha512-Qp5FjRmqUFeCevSu2IYQG1Xw+YXZ9YOzqze/ZxaIvWzYAoKsRchlgHhNoxvCqElp/befrnVFIjAEQyUxcmBKJw==",
"version": "1.0.15",
"resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-1.0.15.tgz",
"integrity": "sha512-BePn+YOKcspHb1xPkUdJs+H6jiaECrT2c98txADBYWHwuUeundE+uUJG0r3FQLFvM2MoGeiJeD96sePzk+WSvQ==",
"requires": {
"hoist-non-react-statics": "^2.3.1",
"invariant": "^2.2.2",
@ -6819,6 +6833,11 @@
}
}
},
"react-native-ionicons": {
"version": "4.5.5",
"resolved": "https://registry.npmjs.org/react-native-ionicons/-/react-native-ionicons-4.5.5.tgz",
"integrity": "sha512-Pj1jFcwcOPG62EzWpLfu7UQwByd3SjTfjbs2WMPjmnfBuA6xiR8hh1+fflhpQ7Yv4j5cQuCSiR53uLbasxH/6Q=="
},
"react-native-permissions": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/react-native-permissions/-/react-native-permissions-1.1.1.tgz",
@ -6967,6 +6986,19 @@
"react-deep-force-update": "^1.0.0"
}
},
"react-redux": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/react-redux/-/react-redux-6.0.0.tgz",
"integrity": "sha512-EmbC3uLl60pw2VqSSkj6HpZ6jTk12RMrwXMBdYtM6niq0MdEaRq9KYCwpJflkOZj349BLGQm1MI/JO1W96kLWQ==",
"requires": {
"@babel/runtime": "^7.2.0",
"hoist-non-react-statics": "^3.2.1",
"invariant": "^2.2.4",
"loose-envify": "^1.4.0",
"prop-types": "^15.6.2",
"react-is": "^16.6.3"
}
},
"react-test-renderer": {
"version": "16.6.3",
"resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.6.3.tgz",
@ -7035,6 +7067,28 @@
"util.promisify": "^1.0.0"
}
},
"redux": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/redux/-/redux-4.0.1.tgz",
"integrity": "sha512-R7bAtSkk7nY6O/OYMVR9RiBI+XghjF9rlbl5806HJbQph0LJVHZrU5oaO4q70eUKiqMRqm4y07KLTlMZ2BlVmg==",
"requires": {
"loose-envify": "^1.4.0",
"symbol-observable": "^1.2.0"
}
},
"redux-logger": {
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/redux-logger/-/redux-logger-3.0.6.tgz",
"integrity": "sha1-91VZZvMJjzyIYExEnPC69XeCdL8=",
"requires": {
"deep-diff": "^0.3.5"
}
},
"redux-thunk": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.3.0.tgz",
"integrity": "sha512-km6dclyFnmcvxhAcrQV2AkZmPQjzPDjgVlQtR0EQjxZPyJ0BnMf3in1ryuR8A2qU0HldVRfxYXbFSKlI3N7Slw=="
},
"regenerate": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz",
@ -8149,6 +8203,11 @@
"resolved": "http://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
"integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
},
"symbol-observable": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz",
"integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ=="
},
"symbol-tree": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz",

12
App/package.json Normal file → Executable file
View File

@ -11,12 +11,18 @@
"react": "16.6.3",
"react-native": "0.57.8",
"react-native-app-intro-slider": "^1.0.1",
"react-native-camera": "^1.9.1",
"react-native-gesture-handler": "^1.0.12",
"react-native-camera": "^1.9.2",
"react-native-confirmation-code-input": "^1.0.4",
"react-native-gesture-handler": "^1.0.15",
"react-native-ionicons": "^4.5.5",
"react-native-qrcode-scanner": "^1.1.2",
"react-native-ui-kitten": "^3.1.2",
"react-native-vector-icons": "^6.1.0",
"react-navigation": "^3.0.9"
"react-navigation": "^3.0.9",
"react-redux": "^6.0.0",
"redux": "^4.0.1",
"redux-logger": "^3.0.6",
"redux-thunk": "^2.3.0"
},
"devDependencies": {
"babel-jest": "23.6.0",