tab navigation
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 4.9 KiB |
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 4.5 KiB |
Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 6.9 KiB |
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 6.3 KiB |
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 9.0 KiB After Width: | Height: | Size: 9.0 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
@ -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,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
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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,0 +1,10 @@
|
|||
|
||||
import * as types from './types'
|
||||
import ReactNative from 'react-native'
|
||||
|
||||
export function setScreen(state) {
|
||||
return {
|
||||
type: types.SET_SCREEN,
|
||||
state
|
||||
}
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
|
||||
import * as types from './types'
|
||||
import ReactNative from 'react-native'
|
||||
|
||||
export function setScreen(state) {
|
||||
return {
|
||||
type: types.SET_SCREEN,
|
||||
state
|
||||
}
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
// Posts
|
||||
export const SET_POST = 'SET_POST';
|
||||
|
||||
// Navigation
|
||||
export const SET_SCREEN = 'SET_SCREEN';
|
Before Width: | Height: | Size: 8.0 KiB After Width: | Height: | Size: 8.0 KiB |
|
@ -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);
|
|
@ -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,
|
||||
));
|
|
@ -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;
|
||||
}
|
||||
});
|
|
@ -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;
|
||||
}
|
||||
});
|
|
@ -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.
|
||||
|
|
|
@ -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',
|
||||
}
|
||||
});
|
|
@ -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)
|
|
@ -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',
|
||||
}
|
||||
});
|
|
@ -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>
|
||||
|
||||
);
|
||||
}
|
||||
}
|
|
@ -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>
|
||||
|
|
|
@ -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
|
||||
},
|
||||
};
|
|
@ -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',
|
||||
}
|
||||
});
|
|
@ -1 +1 @@
|
|||
export * from './Home';
|
||||
export * from './Home';
|
||||
|
|
|
@ -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;
|
|
@ -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;
|
|
@ -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}`);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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>";
|
||||