This commit is contained in:
parent
599477f602
commit
a41029a4f8
|
@ -102,8 +102,9 @@ android {
|
|||
applicationId "com.app"
|
||||
minSdkVersion rootProject.ext.minSdkVersion
|
||||
targetSdkVersion rootProject.ext.targetSdkVersion
|
||||
versionCode 1
|
||||
versionName "1.0"
|
||||
versionCode 2
|
||||
versionName "2.0"
|
||||
vectorDrawables.useSupportLibrary = true
|
||||
ndk {
|
||||
abiFilters "armeabi-v7a", "x86"
|
||||
}
|
||||
|
@ -149,6 +150,9 @@ android {
|
|||
}
|
||||
|
||||
dependencies {
|
||||
compile project(':react-native-network-info')
|
||||
compile project(':react-native-image-picker-m')
|
||||
compile project(':react-native-image-crop-picker')
|
||||
compile project(':react-native-maps')
|
||||
compile project(':react-native-device-info')
|
||||
compile project(':react-native-material-shadows')
|
||||
|
|
|
@ -3,6 +3,9 @@ package com.app;
|
|||
import android.app.Application;
|
||||
|
||||
import com.facebook.react.ReactApplication;
|
||||
import com.pusherman.networkinfo.RNNetworkInfoPackage;
|
||||
import com.imagepicker.ImagePickerPackage;
|
||||
import com.reactnative.ivpusic.imagepicker.PickerPackage;
|
||||
import com.airbnb.android.react.maps.MapsPackage;
|
||||
import com.learnium.RNDeviceInfo.RNDeviceInfo;
|
||||
import ui.materialshadows.RNMaterialShadowsPackage;
|
||||
|
@ -30,6 +33,9 @@ public class MainApplication extends Application implements ReactApplication {
|
|||
protected List<ReactPackage> getPackages() {
|
||||
return Arrays.<ReactPackage>asList(
|
||||
new MainReactPackage(),
|
||||
new RNNetworkInfoPackage(),
|
||||
new ImagePickerPackage(),
|
||||
new PickerPackage(),
|
||||
new MapsPackage(),
|
||||
new RNDeviceInfo(),
|
||||
new RNMaterialShadowsPackage(),
|
||||
|
|
|
@ -1,4 +1,10 @@
|
|||
rootProject.name = 'app'
|
||||
include ':react-native-network-info'
|
||||
project(':react-native-network-info').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-network-info/android')
|
||||
include ':react-native-image-picker-m'
|
||||
project(':react-native-image-picker-m').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-image-picker-m/android')
|
||||
include ':react-native-image-crop-picker'
|
||||
project(':react-native-image-crop-picker').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-image-crop-picker/android')
|
||||
include ':react-native-maps'
|
||||
project(':react-native-maps').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-maps/lib/android')
|
||||
include ':react-native-device-info'
|
||||
|
|
|
@ -105,7 +105,7 @@ class Home extends Component {
|
|||
};
|
||||
onSuccess=e=>{
|
||||
//fecha o scanner
|
||||
this.props.addUserTeam({id:this.props.team.id, newQr:e.data},this.props.internalToken)
|
||||
this.props.addUserTeam({id:this.props.team.id, newQr:e.data},this.props.internalToken, this.props.user)
|
||||
this.setState({addUser:!this.state.addUser})
|
||||
|
||||
}
|
||||
|
@ -143,7 +143,7 @@ _creatTeam=()=>{
|
|||
capQR:this.props.user.Code
|
||||
}
|
||||
|
||||
this.props.createTeam(o, this.props.internalToken)
|
||||
this.props.createTeam(o, this.props.internalToken, this.props.user)
|
||||
}
|
||||
render() {
|
||||
const { navigate } = this.props.navigation;
|
||||
|
@ -159,7 +159,7 @@ _creatTeam=()=>{
|
|||
if (this.props.logged) {
|
||||
return (
|
||||
<PTRView onRefresh={this._update}>
|
||||
<ScrollView style={{ backgroundColor: "#eeeeee" , height:SCREEN_HEIGHT}}>
|
||||
<ScrollView style={{ backgroundColor: "#eeeeee", minHeight: SCREEN_HEIGHT}}>
|
||||
<View>
|
||||
<Modal
|
||||
isVisible={this.state.addUser}
|
||||
|
@ -469,13 +469,19 @@ const styles = StyleSheet.create({
|
|||
},
|
||||
colBilhete: {
|
||||
width: "33%",
|
||||
padding: 10
|
||||
padding: 10,
|
||||
alignContent:'center',
|
||||
alignItems:'center'
|
||||
},
|
||||
boxStyle: {
|
||||
padding: 10,
|
||||
padding: 5,
|
||||
paddingTop:10,
|
||||
paddingBottom :10,
|
||||
borderWidth: 1,
|
||||
marginBottom: 5,
|
||||
borderColor: "#CC1A17"
|
||||
width:'100%',
|
||||
borderColor: "#CC1A17",
|
||||
|
||||
},
|
||||
userName: {
|
||||
fontSize: 16,
|
||||
|
|
|
@ -38,6 +38,22 @@ const SCREEN_HEIGHT = Dimensions.get("window").height;
|
|||
const SCREEN_WIDTH = Dimensions.get("window").width;
|
||||
import Icon from "react-native-vector-icons/Ionicons"
|
||||
|
||||
|
||||
var options = {
|
||||
title: 'Select Avatar',
|
||||
customButtons: [
|
||||
{name: 'fb', title: 'Choose Photo from Facebook'},
|
||||
],
|
||||
storageOptions: {
|
||||
skipBackup: true,
|
||||
path: 'images'
|
||||
}
|
||||
};
|
||||
|
||||
var ImagePicker = require('react-native-image-picker');
|
||||
|
||||
|
||||
|
||||
class Profile extends Component {
|
||||
|
||||
|
||||
|
@ -184,7 +200,31 @@ class Profile extends Component {
|
|||
console.log("data not valid");
|
||||
|
||||
}
|
||||
|
||||
_open=()=>{
|
||||
ImagePicker.showImagePicker(options, (response) => {
|
||||
console.log('Response = ', response);
|
||||
|
||||
if (response.didCancel) {
|
||||
console.log('User cancelled image picker');
|
||||
}
|
||||
else if (response.error) {
|
||||
console.log('ImagePicker Error: ', response.error);
|
||||
}
|
||||
else if (response.customButton) {
|
||||
console.log('User tapped custom button: ', response.customButton);
|
||||
}
|
||||
else {
|
||||
let source = { uri: response.uri };
|
||||
|
||||
// You can also display the image using data:
|
||||
// let source = { uri: 'data:image/jpeg;base64,' + response.data };
|
||||
|
||||
this.setState({
|
||||
avatarSource: source
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
render() {
|
||||
if (this.props.onHold) {
|
||||
|
@ -205,6 +245,30 @@ class Profile extends Component {
|
|||
</View>
|
||||
|
||||
</View>
|
||||
<Button onPress={() =>{ImagePicker.showImagePicker(options, (response) => {
|
||||
console.log('Response = ', response);
|
||||
|
||||
if (response.didCancel) {
|
||||
console.log('User cancelled image picker');
|
||||
}
|
||||
else if (response.error) {
|
||||
console.log('ImagePicker Error: ', response.error);
|
||||
}
|
||||
else if (response.customButton) {
|
||||
console.log('User tapped custom button: ', response.customButton);
|
||||
}
|
||||
else {
|
||||
let source = { uri: response.uri };
|
||||
|
||||
// You can also display the image using data:
|
||||
// let source = { uri: 'data:image/jpeg;base64,' + response.data };
|
||||
|
||||
this.setState({
|
||||
avatarSource: source
|
||||
});
|
||||
}
|
||||
});} } title="Editar foto de perfil" color="#CC1A17"
|
||||
/>
|
||||
<View style={styles.userBio}>
|
||||
<View style={styles.userBioRow}>
|
||||
<Text style={styles.userBioLogo} >Nome</Text>
|
||||
|
|
|
@ -1,32 +1,34 @@
|
|||
import * as React from "react";
|
||||
import {
|
||||
View,
|
||||
StyleSheet,
|
||||
Dimensions,
|
||||
Image,
|
||||
ScrollView,
|
||||
Text,
|
||||
Button,
|
||||
TouchableOpacity,
|
||||
ImageBackground,
|
||||
ListView,
|
||||
FlatList,
|
||||
ActivityIndicator
|
||||
View,
|
||||
StyleSheet,
|
||||
Dimensions,
|
||||
Image,
|
||||
ScrollView,
|
||||
Text,
|
||||
Button,
|
||||
TouchableOpacity,
|
||||
ImageBackground,
|
||||
ListView,
|
||||
FlatList,
|
||||
ActivityIndicator,
|
||||
Linking,
|
||||
Platform
|
||||
} from "react-native";
|
||||
|
||||
import moment from "moment";
|
||||
import {Divider, Icon, Avatar} from "react-native-elements";
|
||||
import {TabView, TabBar, SceneMap} from "react-native-tab-view";
|
||||
import {RkButton, RkCard, RkText, RkTheme} from "react-native-ui-kitten";
|
||||
import { Divider, Icon, Avatar } from "react-native-elements";
|
||||
import { TabView, TabBar, SceneMap } from "react-native-tab-view";
|
||||
import { RkButton, RkCard, RkText, RkTheme } from "react-native-ui-kitten";
|
||||
import Timeline from "react-native-timeline-feed";
|
||||
|
||||
import * as Progress from "react-native-progress";
|
||||
|
||||
import NavAbsolute from "../components/Nav";
|
||||
|
||||
import {connect} from "react-redux";
|
||||
import { connect } from "react-redux";
|
||||
|
||||
import {bindActionCreators} from "redux";
|
||||
import { bindActionCreators } from "redux";
|
||||
|
||||
import * as Actions from "../store/actions"; //Import your actionss
|
||||
import Swiper from "react-native-swiper";
|
||||
|
@ -36,425 +38,460 @@ const SCREEN_WIDTH = Dimensions.get("window").width;
|
|||
|
||||
import FitImage from "react-native-fit-image";
|
||||
|
||||
import MapView, {PROVIDER_GOOGLE} from "react-native-maps";
|
||||
import MapView, { PROVIDER_GOOGLE } from "react-native-maps";
|
||||
|
||||
const formatObj = obj => {
|
||||
let a = {};
|
||||
let a = {};
|
||||
|
||||
a.push({});
|
||||
a.push({});
|
||||
|
||||
return a;
|
||||
return a;
|
||||
};
|
||||
|
||||
class eventDetail extends React.Component {
|
||||
static navigationOptions = ({navigation}) => ({
|
||||
header: (
|
||||
<NavAbsolute
|
||||
navigation={navigation}
|
||||
// title={navigation.state.params.info.name}
|
||||
/>
|
||||
)
|
||||
});
|
||||
static navigationOptions = ({ navigation }) => ({
|
||||
header: (
|
||||
<NavAbsolute
|
||||
navigation={navigation}
|
||||
// title={navigation.state.params.info.name}
|
||||
/>
|
||||
)
|
||||
});
|
||||
|
||||
state = {};
|
||||
state = {};
|
||||
|
||||
componentDidMount() {
|
||||
openMaps = () => {};
|
||||
componentDidMount() {
|
||||
const { navigation } = this.props;
|
||||
const info = navigation.getParam("info", "error");
|
||||
}
|
||||
|
||||
_update = () => {
|
||||
this.setState({ user: this.props.user });
|
||||
};
|
||||
|
||||
const {navigation} = this.props;
|
||||
const info = navigation.getParam("info", "error");
|
||||
_renderRally = info => {
|
||||
console.log(info);
|
||||
return (
|
||||
<View>
|
||||
<View style={styles.header}>
|
||||
<View
|
||||
style={{
|
||||
flexDirection: "row",
|
||||
alignItems: "center",
|
||||
alignSelf: "center"
|
||||
}}
|
||||
>
|
||||
<View style={styles.leftRow}>
|
||||
<Text
|
||||
style={{
|
||||
margin: 10,
|
||||
marginTop: 0,
|
||||
marginBottom: 10,
|
||||
fontSize: 20,
|
||||
color: "#CC1A17"
|
||||
}}
|
||||
>
|
||||
{info.location.nome}
|
||||
</Text>
|
||||
</View>
|
||||
<View style={styles.timeText}>
|
||||
<Text style={{ color: "#CC1A17", fontSize: 15 }}>
|
||||
{info.hora}
|
||||
</Text>
|
||||
<Text>{info.horas}</Text>
|
||||
</View>
|
||||
</View>
|
||||
<View>
|
||||
<View style={{ margin: 10 }}>
|
||||
<Text
|
||||
style={{ fontSize: 15, color: "#CC1A17", fontWeight: "bold" }}
|
||||
>
|
||||
Descrição:
|
||||
</Text>
|
||||
<Divider style={{ backgroundColor: "#000" }} />
|
||||
<View style={{ marginTop: 10 }}>
|
||||
<Text>{info.location.desc}</Text>
|
||||
</View>
|
||||
<Text
|
||||
style={{
|
||||
fontSize: 15,
|
||||
color: "#CC1A17",
|
||||
fontWeight: "bold",
|
||||
marginTop: 20
|
||||
}}
|
||||
>
|
||||
Desafio:
|
||||
</Text>
|
||||
<Divider style={{ backgroundColor: "#000" }} />
|
||||
<View style={{ marginTop: 10 }}>
|
||||
<Text>{info.location.desafio}</Text>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
);
|
||||
};
|
||||
|
||||
_renderEventDetail = info => {
|
||||
return (
|
||||
<View>
|
||||
<View style={styles.header}>
|
||||
<View
|
||||
style={{
|
||||
flexDirection: "row",
|
||||
alignItems: "center",
|
||||
alignSelf: "center"
|
||||
}}
|
||||
>
|
||||
<View style={styles.timeText}>
|
||||
<Text style={{ color: "#CC1A17", fontSize: 15 }}>
|
||||
{info.hora}
|
||||
</Text>
|
||||
<Text>{info.horas}</Text>
|
||||
</View>
|
||||
</View>
|
||||
<View>
|
||||
<Text
|
||||
style={{
|
||||
margin: 10,
|
||||
marginTop: 0,
|
||||
marginBottom: 10,
|
||||
fontSize: 20,
|
||||
color: "#CC1A17"
|
||||
}}
|
||||
>
|
||||
{info.nome}
|
||||
</Text>
|
||||
<View style={{ margin: 10 }}>
|
||||
<Text
|
||||
style={{ fontSize: 15, color: "#CC1A17", fontWeight: "bold" }}
|
||||
>
|
||||
Descrição:
|
||||
</Text>
|
||||
<Divider style={{ backgroundColor: "#000" }} />
|
||||
<View style={{ marginTop: 10 }}>
|
||||
<Text>{info.desc}</Text>
|
||||
</View>
|
||||
<Text
|
||||
style={{
|
||||
fontSize: 15,
|
||||
color: "#CC1A17",
|
||||
fontWeight: "bold",
|
||||
marginTop: 10
|
||||
}}
|
||||
>
|
||||
Como posso participar?
|
||||
</Text>
|
||||
<Divider style={{ backgroundColor: "#000" }} />
|
||||
<View style={{ marginTop: 10 }}>
|
||||
<Text>{info.notas}</Text>
|
||||
</View>
|
||||
<Text
|
||||
style={{
|
||||
fontSize: 15,
|
||||
color: "#CC1A17",
|
||||
fontWeight: "bold",
|
||||
marginTop: 10
|
||||
}}
|
||||
>
|
||||
Qual é o custo de participação?
|
||||
</Text>
|
||||
<Divider style={{ backgroundColor: "#000" }} />
|
||||
<View style={{ marginTop: 10 }}>
|
||||
<Text>{info.custo}</Text>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
);
|
||||
};
|
||||
|
||||
_renderContainer = (info, eventType) => {
|
||||
console.log("Estou aqui " + eventType);
|
||||
if (eventType === "rally") {
|
||||
return this._renderRally(info);
|
||||
} else if (eventType === undefined) {
|
||||
return this._renderEventDetail(info);
|
||||
}
|
||||
};
|
||||
|
||||
_update = () => {
|
||||
this.setState({user: this.props.user});
|
||||
constructor(props) {
|
||||
super(props);
|
||||
|
||||
};
|
||||
this.data = [];
|
||||
}
|
||||
|
||||
render() {
|
||||
const { navigation } = this.props;
|
||||
const info = navigation.getParam("info", "error");
|
||||
const eventType = navigation.getParam("type");
|
||||
|
||||
_renderRally = (info) => {
|
||||
console.log(info)
|
||||
return (
|
||||
<View>
|
||||
<View style={styles.header}>
|
||||
<View
|
||||
style={{
|
||||
flexDirection: "row",
|
||||
alignItems: "center",
|
||||
alignSelf: "center"
|
||||
}}
|
||||
>
|
||||
<View style={styles.leftRow}>
|
||||
<Text style={{
|
||||
margin: 10,
|
||||
marginTop: 0,
|
||||
marginBottom: 10,
|
||||
fontSize: 20,
|
||||
color: "#CC1A17" }}>
|
||||
{info.location.nome}
|
||||
</Text>
|
||||
</View>
|
||||
<View style={styles.timeText}>
|
||||
<Text style={{color: "#CC1A17", fontSize: 15}}>
|
||||
{info.hora}
|
||||
</Text>
|
||||
<Text>{info.horas}</Text>
|
||||
</View>
|
||||
</View>
|
||||
<View>
|
||||
<View style={{margin: 10}}>
|
||||
<Text
|
||||
style={{fontSize: 15, color: "#CC1A17", fontWeight: "bold"}}
|
||||
>
|
||||
Descrição:
|
||||
</Text>
|
||||
<Divider style={{backgroundColor: "#000"}}/>
|
||||
<View style={{marginTop: 10}}>
|
||||
<Text>{info.location.desc}</Text>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
return (
|
||||
<View style={styles.mainViewStyle}>
|
||||
<ScrollView style={styles.scroll}>
|
||||
<View style={styles.container}>
|
||||
<View style={styles.headerContainer}>
|
||||
<View style={styles.headerContainer}>
|
||||
<View style={styles.coverContainer}>
|
||||
<ImageBackground
|
||||
source={{
|
||||
uri: info.location.mainPhoto
|
||||
}}
|
||||
style={styles.coverImage}
|
||||
/>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
);
|
||||
};
|
||||
{this._renderContainer(info, eventType)}
|
||||
</View>
|
||||
<View>
|
||||
<TouchableOpacity
|
||||
onPress={() => {
|
||||
console.log(info.location.lat)
|
||||
console.log(info.location.long)
|
||||
const scheme = Platform.select({
|
||||
ios: "maps:0,0?q=",
|
||||
android: "geo:0,0?q="
|
||||
});
|
||||
const latLng = `${info.location.lat},${info.location.long}`;
|
||||
const label = info.location.nome;
|
||||
const url = Platform.select({
|
||||
ios: `${scheme}${label}@${latLng}`,
|
||||
android: `${scheme}${latLng}(${label})`
|
||||
});
|
||||
|
||||
|
||||
_renderEventDetail = (info) => {
|
||||
return (
|
||||
<View>
|
||||
<View style={styles.header}>
|
||||
<View
|
||||
style={{
|
||||
flexDirection: "row",
|
||||
alignItems: "center",
|
||||
alignSelf: "center"
|
||||
}}
|
||||
>
|
||||
<View style={styles.timeText}>
|
||||
<Text style={{color: "#CC1A17", fontSize: 15}}>
|
||||
{info.hora}
|
||||
</Text>
|
||||
<Text>{info.horas}</Text>
|
||||
</View>
|
||||
</View>
|
||||
<View>
|
||||
<Text
|
||||
style={{
|
||||
margin: 10,
|
||||
marginTop: 0,
|
||||
marginBottom: 10,
|
||||
fontSize: 20,
|
||||
color: "#CC1A17"
|
||||
}}
|
||||
>
|
||||
{info.nome}
|
||||
</Text>
|
||||
<View style={{margin: 10}}>
|
||||
<Text
|
||||
style={{fontSize: 15, color: "#CC1A17", fontWeight: "bold"}}
|
||||
>
|
||||
Descrição:
|
||||
</Text>
|
||||
<Divider style={{backgroundColor: "#000"}}/>
|
||||
<View style={{marginTop: 10}}>
|
||||
<Text>{info.desc}</Text>
|
||||
</View>
|
||||
<Text
|
||||
style={{fontSize: 15, color: "#CC1A17", fontWeight: "bold", marginTop: 10}}
|
||||
>
|
||||
Como posso participar?
|
||||
</Text>
|
||||
<Divider style={{backgroundColor: "#000"}}/>
|
||||
<View style={{marginTop: 10}}>
|
||||
<Text>{info.notas}</Text>
|
||||
</View>
|
||||
<Text
|
||||
style={{fontSize: 15, color: "#CC1A17", fontWeight: "bold", marginTop: 10}}
|
||||
>
|
||||
Qual é o custo de participação?
|
||||
</Text>
|
||||
<Divider style={{backgroundColor: "#000"}}/>
|
||||
<View style={{marginTop: 10}}>
|
||||
<Text>{info.custo}</Text>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
_renderContainer = (info, eventType) => {
|
||||
console.log("Estou aqui " + eventType)
|
||||
if (eventType === "rally") {
|
||||
return this._renderRally(info);
|
||||
}
|
||||
else if (eventType === undefined) {
|
||||
return this._renderEventDetail(info);
|
||||
}
|
||||
};
|
||||
|
||||
constructor(props) {
|
||||
super(props);
|
||||
|
||||
this.data = [];
|
||||
}
|
||||
|
||||
|
||||
render() {
|
||||
const {navigation} = this.props;
|
||||
const info = navigation.getParam("info", "error");
|
||||
const eventType = navigation.getParam("type");
|
||||
|
||||
return (
|
||||
<View style={styles.mainViewStyle}>
|
||||
<ScrollView style={styles.scroll}>
|
||||
<View style={styles.container}>
|
||||
<View style={styles.headerContainer}>
|
||||
<View style={styles.headerContainer}>
|
||||
<View style={styles.coverContainer}>
|
||||
<ImageBackground
|
||||
source={{
|
||||
uri: info.imagem
|
||||
}}
|
||||
style={styles.coverImage}
|
||||
/>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
{this._renderContainer(info, eventType)}
|
||||
</View>
|
||||
<View style={styles.block}>
|
||||
<Text
|
||||
style={{fontSize: 15, color: "#CC1A17", fontWeight: "bold"}}
|
||||
>
|
||||
Localização
|
||||
</Text>
|
||||
<Divider style={{backgroundColor: "#000", marginBottom: 10}}/>
|
||||
<Text>{info.localizacao}</Text>
|
||||
</View>
|
||||
</ScrollView>
|
||||
<Divider style={{backgroundColor: "black"}}/>
|
||||
</View>
|
||||
);
|
||||
}
|
||||
Linking.openURL(url);
|
||||
}}
|
||||
>
|
||||
<FitImage
|
||||
source={{
|
||||
uri: info.location.localizacao
|
||||
}}
|
||||
/>
|
||||
</TouchableOpacity>
|
||||
</View>
|
||||
</ScrollView>
|
||||
<Divider style={{ backgroundColor: "black" }} />
|
||||
</View>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
const styles = StyleSheet.create({
|
||||
block: {
|
||||
marginTop: 15,
|
||||
block: {
|
||||
marginTop: 15,
|
||||
|
||||
backgroundColor: "white",
|
||||
padding: 20,
|
||||
shadowOffset: {
|
||||
width: 0,
|
||||
height: 2
|
||||
},
|
||||
shadowOpacity: 0.25,
|
||||
shadowRadius: 3.84,
|
||||
backgroundColor: "white",
|
||||
padding: 20,
|
||||
shadowOffset: {
|
||||
width: 0,
|
||||
height: 2
|
||||
},
|
||||
shadowOpacity: 0.25,
|
||||
shadowRadius: 3.84,
|
||||
|
||||
elevation: 3
|
||||
},
|
||||
AttendeeContainer: {
|
||||
flexDirection: "row",
|
||||
height: 55,
|
||||
justifyContent: "center",
|
||||
marginLeft: 10,
|
||||
marginRight: 10
|
||||
},
|
||||
elevation: 3
|
||||
},
|
||||
AttendeeContainer: {
|
||||
flexDirection: "row",
|
||||
height: 55,
|
||||
justifyContent: "center",
|
||||
marginLeft: 10,
|
||||
marginRight: 10
|
||||
},
|
||||
|
||||
centerRow: {
|
||||
alignItems: "center",
|
||||
backgroundColor: "transparent",
|
||||
flex: 3,
|
||||
flexDirection: "column",
|
||||
justifyContent: "center"
|
||||
},
|
||||
centerRow: {
|
||||
alignItems: "center",
|
||||
backgroundColor: "transparent",
|
||||
flex: 3,
|
||||
flexDirection: "column",
|
||||
justifyContent: "center"
|
||||
},
|
||||
|
||||
leftRow: {
|
||||
backgroundColor: "transparent",
|
||||
flex: 1,
|
||||
flexDirection: "row",
|
||||
justifyContent: "flex-start",
|
||||
alignSelf: "center"
|
||||
},
|
||||
rightRow: {
|
||||
alignItems: "flex-end",
|
||||
backgroundColor: "transparent",
|
||||
flex: 2,
|
||||
flexDirection: "row",
|
||||
justifyContent: "flex-end",
|
||||
marginRight: 4,
|
||||
alignSelf: "center"
|
||||
},
|
||||
leftRow: {
|
||||
backgroundColor: "transparent",
|
||||
flex: 1,
|
||||
flexDirection: "row",
|
||||
justifyContent: "flex-start",
|
||||
alignSelf: "center"
|
||||
},
|
||||
rightRow: {
|
||||
alignItems: "flex-end",
|
||||
backgroundColor: "transparent",
|
||||
flex: 2,
|
||||
flexDirection: "row",
|
||||
justifyContent: "flex-end",
|
||||
marginRight: 4,
|
||||
alignSelf: "center"
|
||||
},
|
||||
|
||||
icon: {
|
||||
justifyContent: "flex-start",
|
||||
marginTop: 2.8
|
||||
},
|
||||
icon: {
|
||||
justifyContent: "flex-start",
|
||||
marginTop: 2.8
|
||||
},
|
||||
|
||||
nameAttendee: {
|
||||
alignSelf: "center",
|
||||
fontSize: 20,
|
||||
fontWeight: "400",
|
||||
color: "#000",
|
||||
marginBottom: 10
|
||||
},
|
||||
nameAttendee: {
|
||||
alignSelf: "center",
|
||||
fontSize: 20,
|
||||
fontWeight: "400",
|
||||
color: "#000",
|
||||
marginBottom: 10
|
||||
},
|
||||
|
||||
details: {
|
||||
marginTop: 20,
|
||||
flex: 1,
|
||||
alignSelf: "center"
|
||||
},
|
||||
details: {
|
||||
marginTop: 20,
|
||||
flex: 1,
|
||||
alignSelf: "center"
|
||||
},
|
||||
|
||||
infoRow: {
|
||||
margin: 25
|
||||
},
|
||||
infoRow: {
|
||||
margin: 25
|
||||
},
|
||||
|
||||
ramoText: {
|
||||
alignSelf: "flex-start",
|
||||
marginBottom: 5,
|
||||
color: "white",
|
||||
fontSize: 17,
|
||||
fontWeight: "400"
|
||||
},
|
||||
ramoText: {
|
||||
alignSelf: "flex-start",
|
||||
marginBottom: 5,
|
||||
color: "white",
|
||||
fontSize: 17,
|
||||
fontWeight: "400"
|
||||
},
|
||||
|
||||
timeText: {
|
||||
alignItems: "flex-end",
|
||||
flex: 2,
|
||||
lineHeight: 10,
|
||||
marginRight: 20
|
||||
},
|
||||
timeText: {
|
||||
alignItems: "flex-end",
|
||||
flex: 2,
|
||||
lineHeight: 10,
|
||||
marginRight: 20
|
||||
},
|
||||
|
||||
mainViewStyle: {
|
||||
flex: 1,
|
||||
flexGrow: 1,
|
||||
flexDirection: "column"
|
||||
},
|
||||
mainViewStyle: {
|
||||
flex: 1,
|
||||
flexGrow: 1,
|
||||
flexDirection: "column"
|
||||
},
|
||||
|
||||
scroll: {
|
||||
backgroundColor: "#eee",
|
||||
flex: 1
|
||||
//marginBottom: 55,
|
||||
},
|
||||
scroll: {
|
||||
backgroundColor: "#eee",
|
||||
flex: 1
|
||||
//marginBottom: 55,
|
||||
},
|
||||
|
||||
header: {
|
||||
flex: 1,
|
||||
padding: 10,
|
||||
backgroundColor: "white",
|
||||
borderRadius: 0,
|
||||
shadowColor: "#000",
|
||||
shadowOffset: {
|
||||
width: 0,
|
||||
height: 2
|
||||
},
|
||||
shadowOpacity: 0.25,
|
||||
shadowRadius: 3.84,
|
||||
header: {
|
||||
flex: 1,
|
||||
padding: 10,
|
||||
backgroundColor: "white",
|
||||
borderRadius: 0,
|
||||
shadowColor: "#000",
|
||||
shadowOffset: {
|
||||
width: 0,
|
||||
height: 2
|
||||
},
|
||||
shadowOpacity: 0.25,
|
||||
shadowRadius: 3.84,
|
||||
|
||||
elevation: 3
|
||||
},
|
||||
cardContainer: {
|
||||
flex: 1,
|
||||
padding: 10,
|
||||
// margin: 20,
|
||||
backgroundColor: "white",
|
||||
borderRadius: 5
|
||||
},
|
||||
elevation: 3
|
||||
},
|
||||
cardContainer: {
|
||||
flex: 1,
|
||||
padding: 10,
|
||||
// margin: 20,
|
||||
backgroundColor: "white",
|
||||
borderRadius: 5
|
||||
},
|
||||
|
||||
headerContainer: {
|
||||
flex: 1
|
||||
},
|
||||
headerContainer: {
|
||||
flex: 1
|
||||
},
|
||||
|
||||
container: {
|
||||
flex: 1,
|
||||
flexDirection: "column"
|
||||
},
|
||||
coverContainer: {
|
||||
position: "relative"
|
||||
},
|
||||
coverImage: {
|
||||
height: Dimensions.get("window").width * (2 / 4),
|
||||
width: Dimensions.get("window").width
|
||||
},
|
||||
/*headerContainer: {
|
||||
container: {
|
||||
flex: 1,
|
||||
flexDirection: "column"
|
||||
},
|
||||
coverContainer: {
|
||||
position: "relative"
|
||||
},
|
||||
coverImage: {
|
||||
height: Dimensions.get("window").width * (2 / 4),
|
||||
width: Dimensions.get("window").width
|
||||
},
|
||||
/*headerContainer: {
|
||||
alignItems: 'center',
|
||||
backgroundColor: '#FFF',
|
||||
},*/
|
||||
|
||||
carreerPathContainer: {
|
||||
backgroundColor: "#CC1A17",
|
||||
height: 50,
|
||||
flex: 1,
|
||||
alignItems: "center",
|
||||
justifyContent: "center",
|
||||
paddingTop: 15
|
||||
},
|
||||
carreerPathText: {
|
||||
height: 50,
|
||||
color: "white",
|
||||
fontWeight: "bold",
|
||||
fontSize: 20
|
||||
},
|
||||
companyHeader: {
|
||||
backgroundColor: "#dddddd",
|
||||
// height:150,
|
||||
borderRadius: 5,
|
||||
margin: 10,
|
||||
padding: 10
|
||||
},
|
||||
companyTitle: {
|
||||
paddingBottom: 5,
|
||||
fontWeight: "bold",
|
||||
color: "#777777",
|
||||
fontSize: 17
|
||||
carreerPathContainer: {
|
||||
backgroundColor: "#CC1A17",
|
||||
height: 50,
|
||||
flex: 1,
|
||||
alignItems: "center",
|
||||
justifyContent: "center",
|
||||
paddingTop: 15
|
||||
},
|
||||
carreerPathText: {
|
||||
height: 50,
|
||||
color: "white",
|
||||
fontWeight: "bold",
|
||||
fontSize: 20
|
||||
},
|
||||
companyHeader: {
|
||||
backgroundColor: "#dddddd",
|
||||
// height:150,
|
||||
borderRadius: 5,
|
||||
margin: 10,
|
||||
padding: 10
|
||||
},
|
||||
companyTitle: {
|
||||
paddingBottom: 5,
|
||||
fontWeight: "bold",
|
||||
color: "#777777",
|
||||
fontSize: 17
|
||||
|
||||
// padding:20
|
||||
},
|
||||
companyLogo: {
|
||||
borderRadius: 20
|
||||
},
|
||||
// padding:20
|
||||
},
|
||||
companyLogo: {
|
||||
borderRadius: 20
|
||||
},
|
||||
|
||||
wrapper: {},
|
||||
company: {
|
||||
flex: 1,
|
||||
flexDirection: "row",
|
||||
// backgroundColor:'red',
|
||||
color: "black"
|
||||
},
|
||||
wrapper: {},
|
||||
company: {
|
||||
flex: 1,
|
||||
flexDirection: "row",
|
||||
// backgroundColor:'red',
|
||||
color: "black"
|
||||
},
|
||||
|
||||
companyLogoContainer: {
|
||||
flex: 1,
|
||||
justifyContent: "center",
|
||||
width: "60%",
|
||||
// backgroundColor:'white',
|
||||
margin: 20
|
||||
},
|
||||
aboutCompany: {
|
||||
width: SCREEN_WIDTH,
|
||||
flex: 1,
|
||||
justifyContent: "center",
|
||||
alignItems: "center"
|
||||
}
|
||||
companyLogoContainer: {
|
||||
flex: 1,
|
||||
justifyContent: "center",
|
||||
width: "60%",
|
||||
// backgroundColor:'white',
|
||||
margin: 20
|
||||
},
|
||||
aboutCompany: {
|
||||
width: SCREEN_WIDTH,
|
||||
flex: 1,
|
||||
justifyContent: "center",
|
||||
alignItems: "center"
|
||||
}
|
||||
});
|
||||
|
||||
function mapStateToProps(state, props) {
|
||||
return {
|
||||
token: state.apiReducer.token,
|
||||
user: state.apiReducer.user,
|
||||
logged: state.apiReducer.logged,
|
||||
careerPath: state.apiReducer.careerPath,
|
||||
sessionDetail: state.apiReducer.sessionDetail
|
||||
};
|
||||
return {
|
||||
token: state.apiReducer.token,
|
||||
user: state.apiReducer.user,
|
||||
logged: state.apiReducer.logged,
|
||||
careerPath: state.apiReducer.careerPath,
|
||||
sessionDetail: state.apiReducer.sessionDetail
|
||||
};
|
||||
}
|
||||
|
||||
function mapDispatchToProps(dispatch) {
|
||||
return bindActionCreators(Actions, dispatch);
|
||||
return bindActionCreators(Actions, dispatch);
|
||||
}
|
||||
|
||||
export default connect(
|
||||
mapStateToProps,
|
||||
mapDispatchToProps
|
||||
mapStateToProps,
|
||||
mapDispatchToProps
|
||||
)(eventDetail);
|
||||
|
|
|
@ -7,219 +7,364 @@
|
|||
import * as React from "react";
|
||||
|
||||
import {
|
||||
View,
|
||||
StyleSheet,
|
||||
Dimensions,
|
||||
Text,
|
||||
Button,
|
||||
ScrollView,
|
||||
FlatList,
|
||||
TouchableOpacity,
|
||||
Image, TextInput
|
||||
View,
|
||||
StyleSheet,
|
||||
Dimensions,
|
||||
Text,
|
||||
Button,
|
||||
ScrollView,
|
||||
FlatList,
|
||||
TouchableOpacity,
|
||||
Image,
|
||||
TextInput
|
||||
} from "react-native";
|
||||
import {TabView, TabBar, SceneMap} from "react-native-tab-view";
|
||||
import {Icon} from 'react-native-elements';
|
||||
import { TabView, TabBar, SceneMap } from "react-native-tab-view";
|
||||
import { Icon } from "react-native-elements";
|
||||
|
||||
import * as Actions from "../store/actions";
|
||||
import {connect} from "react-redux";
|
||||
import {bindActionCreators} from "redux";
|
||||
|
||||
|
||||
import { connect } from "react-redux";
|
||||
import { bindActionCreators } from "redux";
|
||||
import FitImage from "react-native-fit-image";
|
||||
import PTRView from "react-native-pull-to-refresh";
|
||||
const SCREEN_WIDTH = Dimensions.get("window").width;
|
||||
const SCREEN_HEIGHT = Dimensions.get("window").height;
|
||||
|
||||
import IconFA from "react-native-vector-icons/FontAwesome5";
|
||||
class teamDetail extends React.Component {
|
||||
componentDidMount() {
|
||||
/* this.props.getEventLocsVisited(
|
||||
this.props.team.id,
|
||||
this.props.internalToken
|
||||
);*/
|
||||
|
||||
componentDidMount() {
|
||||
this.props.getEventLocsVisited(this.props.team.id, this.props.internalToken);
|
||||
console.log(this.props.locais);
|
||||
}
|
||||
console.log(this.props.locais);
|
||||
}
|
||||
|
||||
_alterTeamName = () => {
|
||||
constructor(props) {
|
||||
super(props);
|
||||
|
||||
this.state = {
|
||||
nome: this.props.team.nome
|
||||
};
|
||||
}
|
||||
_update = () => {
|
||||
this.props.getEventLocsVisited(this.props.team.id, this.props.internalToken)
|
||||
};
|
||||
_alterTeamName = () => {};
|
||||
|
||||
render() {
|
||||
const { navigate } = this.props.navigation;
|
||||
render() {
|
||||
const { navigate } = this.props.navigation;
|
||||
|
||||
return (
|
||||
<ScrollView>
|
||||
<View>
|
||||
<View style={styles.container}>
|
||||
<View style={{height: SCREEN_HEIGHT * 0.1, paddingBottom: 10}}>
|
||||
<View style={styles.row}>
|
||||
<View style={styles.leftRow}>
|
||||
<TextInput style={[styles.headerText, {height: '100%', color: '#777'}]}
|
||||
value={this.props.team.nome}
|
||||
|
||||
/>
|
||||
<Text onPress={this._alterTeamName} style={[styles.headerText, {
|
||||
fontSize: 10, textDecorationLine: 'underline', alignSelf: "center",
|
||||
alignContent: "center", paddingLeft: 10
|
||||
}]}>
|
||||
Alterar
|
||||
</Text>
|
||||
</View>
|
||||
<View style={styles.rightRow}>
|
||||
<Icon
|
||||
name='md-trophy'
|
||||
type='ionicon'
|
||||
color='#CC1A17'
|
||||
style={{
|
||||
alignSelf: "center",
|
||||
alignContent: "center"
|
||||
}}
|
||||
/>
|
||||
<Text style={styles.headerText}>
|
||||
{this.props.team.pontos}
|
||||
</Text>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
|
||||
<View style={{paddingBottom: 10}}>
|
||||
<View style={styles.row}>
|
||||
{this.props.team.membros &&
|
||||
<FlatList
|
||||
data={this.props.team.membros}
|
||||
numColumns={6} // Número de colunas
|
||||
renderItem={({item}) => (
|
||||
|
||||
<View style={styles.memberImage}>
|
||||
<Image
|
||||
style={{width: 50, height: 50}}
|
||||
source={require('../assets/logo_black.jpg')}/>
|
||||
<Text style={{
|
||||
color: "#000"
|
||||
}}>{item.fullName}</Text>
|
||||
</View>
|
||||
|
||||
)}
|
||||
/>}
|
||||
|
||||
|
||||
</View>
|
||||
</View>
|
||||
|
||||
<View style={{flex: 1, width: '100%',}}>
|
||||
{this.props.locais &&
|
||||
<FlatList
|
||||
data={this.props.locais}
|
||||
renderItem={({item}) => (
|
||||
<TouchableOpacity onPress={() => navigate("eventDetail", {info: item, type: 'rally'})}>
|
||||
<View style={styles.container}>
|
||||
{/*Se bar estiver concluido, mostrar backgroundColor verde no container..*/}
|
||||
<View style={{height: SCREEN_HEIGHT * 0.15, paddingBottom: 10}}>
|
||||
<View style={styles.row}>
|
||||
<View style={styles.leftRow}>
|
||||
<Text>Foto Bar</Text>
|
||||
</View>
|
||||
<View style={styles.centerRow}>
|
||||
<Text>{item.location.nome}</Text>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
</TouchableOpacity>
|
||||
)}
|
||||
/>}
|
||||
</View>
|
||||
return (
|
||||
<PTRView onRefresh={this._update}>
|
||||
<ScrollView style={{ backgroundColor: "#eeeeee" }}>
|
||||
<View>
|
||||
<View style={styles.header}>
|
||||
<View
|
||||
style={{
|
||||
backgroundColor: "#CC1A17",
|
||||
flex: 1,
|
||||
flexDirection: "row",
|
||||
alignItems: "center",
|
||||
alignContent: "center"
|
||||
}}
|
||||
>
|
||||
{this.props.user.Code == this.props.team.cap.qRcode && (
|
||||
<View
|
||||
style={{
|
||||
alignItems: "center",
|
||||
alignSelf: "center",
|
||||
width: "100%",
|
||||
flex: 1,
|
||||
flexDirection: "row"
|
||||
}}
|
||||
>
|
||||
<View style={{ width: "80%" }}>
|
||||
<TextInput
|
||||
style={{
|
||||
height: 40,
|
||||
borderColor: "white",
|
||||
borderWidth: 1,
|
||||
color: "white",
|
||||
margin: 10,
|
||||
padding: 10,
|
||||
borderRadius: 3,
|
||||
fontSize: 15
|
||||
}}
|
||||
onChangeText={n => this.setState({ nome: n })}
|
||||
value={this.state.nome}
|
||||
/>
|
||||
</View>
|
||||
|
||||
<TouchableOpacity
|
||||
style={{
|
||||
flex: 1,
|
||||
flexDirection: "row",
|
||||
width: "20%",
|
||||
alignContent: "center",
|
||||
alignItems: "center"
|
||||
}}
|
||||
>
|
||||
<Text>Guardar</Text>
|
||||
<IconFA name="user-edit" size={22} />
|
||||
</TouchableOpacity>
|
||||
</View>
|
||||
)}
|
||||
{this.props.user.Code != this.props.team.cap.qRcode && (
|
||||
<View width={{ width: "100%", padding: 10 }}>
|
||||
<Text
|
||||
style={{
|
||||
fontSize: 22,
|
||||
fontWeight: "bold",
|
||||
color: "#CC1A17",
|
||||
textAlign: "center",
|
||||
alignSelf: "center"
|
||||
}}
|
||||
>
|
||||
{this.props.team.nome}
|
||||
</Text>
|
||||
</View>
|
||||
)}
|
||||
<View>
|
||||
<Icon
|
||||
name="md-trophy"
|
||||
type="ionicon"
|
||||
color="#CC1A17"
|
||||
style={{
|
||||
alignSelf: "center",
|
||||
alignContent: "center"
|
||||
}}
|
||||
/>
|
||||
<Text style={styles.headerText}>
|
||||
{this.props.team.pontos}
|
||||
</Text>
|
||||
</View>
|
||||
</ScrollView>
|
||||
)
|
||||
}
|
||||
</View>
|
||||
|
||||
<View style={{ paddingBottom: 10 }}>
|
||||
<View style={styles.row}>
|
||||
{this.props.team.membros && (
|
||||
<FlatList
|
||||
data={this.props.team.membros}
|
||||
numColumns={6} // Número de colunas
|
||||
renderItem={({ item }) => (
|
||||
<View style={styles.memberImage}>
|
||||
<Image
|
||||
style={{ width: 50, height: 50 }}
|
||||
source={require("../assets/logo_black.jpg")}
|
||||
/>
|
||||
<Text
|
||||
style={{
|
||||
color: "#000"
|
||||
}}
|
||||
>
|
||||
{item.fullName}
|
||||
</Text>
|
||||
</View>
|
||||
)}
|
||||
/>
|
||||
)}
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
<View style={styles.container}>
|
||||
<View style={{ flex: 1, width: "100%" }}>
|
||||
{this.props.locais && (
|
||||
<FlatList
|
||||
data={this.props.locais}
|
||||
renderItem={({ item }) => (
|
||||
<TouchableOpacity
|
||||
onPress={() =>
|
||||
navigate("eventDetail", { info: item, type: "rally" })
|
||||
}
|
||||
>
|
||||
<View style={{ margin: 10 }}>
|
||||
<View
|
||||
style={{
|
||||
backgroundColor: "white",
|
||||
flex: 1,
|
||||
flexDirection: "row",
|
||||
padding: 15
|
||||
}}
|
||||
>
|
||||
{/*Se bar estiver concluido, mostrar backgroundColor verde no container..*/}
|
||||
|
||||
<View style={{ height: 120, width: 120 }}>
|
||||
<FitImage
|
||||
source={{
|
||||
uri: item.location.squarePhoto
|
||||
}}
|
||||
/>
|
||||
</View>
|
||||
<View style={{ width: "65%" }}>
|
||||
<Text
|
||||
style={{
|
||||
color: "#CC1A17",
|
||||
fontWeight: "bold",
|
||||
fontSize: 20,
|
||||
marginLeft: 15
|
||||
}}
|
||||
>
|
||||
{item.location.nome}
|
||||
</Text>
|
||||
<Text style={{ fontSize: 12, padding: 15 }}>
|
||||
{item.location.desc}
|
||||
</Text>
|
||||
</View>
|
||||
</View>
|
||||
{item.complete && (
|
||||
<View
|
||||
style={{
|
||||
backgroundColor: "#CC1A17",
|
||||
flex: 1,
|
||||
flexDirection: "row",
|
||||
alignContent: "center",
|
||||
alignItems: "center",
|
||||
alignSelf: "center",
|
||||
width: "100%",
|
||||
paddingLeft: 15
|
||||
}}
|
||||
>
|
||||
<Text
|
||||
style={{
|
||||
color: "white",
|
||||
margin: 3,
|
||||
textAlign: "center"
|
||||
}}
|
||||
>
|
||||
Done
|
||||
</Text>
|
||||
<IconFA name="check" size={12} color={"white"} />
|
||||
</View>
|
||||
)}
|
||||
</View>
|
||||
</TouchableOpacity>
|
||||
)}
|
||||
/>
|
||||
)}
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
</ScrollView>
|
||||
</PTRView>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
const styles = StyleSheet.create({
|
||||
triangleLeft: {
|
||||
width: 0,
|
||||
height: 0,
|
||||
backgroundColor: "#CC1A17",
|
||||
borderStyle: "solid",
|
||||
borderLeftWidth: 25,
|
||||
borderRightWidth: 25,
|
||||
borderBottomWidth: 50,
|
||||
borderLeftColor: "transparent",
|
||||
borderRightColor: "transparent",
|
||||
borderBottomColor: "white",
|
||||
backgroundColor: "#CC1A17",
|
||||
transform: [{ rotate: "90deg" }]
|
||||
},
|
||||
triangleRight: {
|
||||
width: 0,
|
||||
height: 0,
|
||||
backgroundColor: "#CC1A17",
|
||||
borderStyle: "solid",
|
||||
borderLeftWidth: 25,
|
||||
borderRightWidth: 25,
|
||||
borderBottomWidth: 50,
|
||||
borderLeftColor: "transparent",
|
||||
borderRightColor: "transparent",
|
||||
borderBottomColor: "white",
|
||||
backgroundColor: "#CC1A17",
|
||||
transform: [{ rotate: "-90deg" }],
|
||||
alignSelf: "flex-end"
|
||||
},
|
||||
header: {
|
||||
margin: 0,
|
||||
flex: 1,
|
||||
flexGrow: 1,
|
||||
flexDirection: "column"
|
||||
},
|
||||
container: {
|
||||
margin: 10,
|
||||
flex: 1,
|
||||
flexGrow: 1,
|
||||
flexDirection: "column"
|
||||
},
|
||||
|
||||
container: {
|
||||
margin: 10,
|
||||
flex: 1,
|
||||
flexGrow: 1,
|
||||
flexDirection: "column"
|
||||
row: {
|
||||
flex: 1,
|
||||
flexDirection: "row",
|
||||
padding: 10,
|
||||
backgroundColor: "white",
|
||||
borderRadius: 0,
|
||||
shadowColor: "#000",
|
||||
shadowOffset: {
|
||||
width: 0,
|
||||
height: 2
|
||||
},
|
||||
shadowOpacity: 0.25,
|
||||
shadowRadius: 3.84,
|
||||
elevation: 3
|
||||
},
|
||||
|
||||
row: {
|
||||
flex: 1,
|
||||
flexDirection: 'row',
|
||||
padding: 10,
|
||||
backgroundColor: "white",
|
||||
borderRadius: 0,
|
||||
shadowColor: "#000",
|
||||
shadowOffset: {
|
||||
width: 0,
|
||||
height: 2
|
||||
},
|
||||
shadowOpacity: 0.25,
|
||||
shadowRadius: 3.84,
|
||||
elevation: 3
|
||||
},
|
||||
headerText: {
|
||||
fontSize: 18,
|
||||
color: "#CC1A17",
|
||||
fontWeight: "bold"
|
||||
},
|
||||
|
||||
headerText: {
|
||||
fontSize: 18,
|
||||
color: "#CC1A17",
|
||||
fontWeight: "bold",
|
||||
},
|
||||
centerRow: {
|
||||
alignItems: "center",
|
||||
backgroundColor: "transparent",
|
||||
flex: 3,
|
||||
flexDirection: "column",
|
||||
justifyContent: "center"
|
||||
},
|
||||
|
||||
centerRow: {
|
||||
alignItems: "center",
|
||||
backgroundColor: "transparent",
|
||||
flex: 3,
|
||||
flexDirection: "column",
|
||||
justifyContent: "center"
|
||||
},
|
||||
|
||||
leftRow: {
|
||||
backgroundColor: "transparent",
|
||||
flex: 1,
|
||||
flexDirection: "row",
|
||||
justifyContent: "flex-start",
|
||||
alignSelf: "center"
|
||||
},
|
||||
rightRow: {
|
||||
alignItems: "flex-end",
|
||||
backgroundColor: "transparent",
|
||||
flex: 2,
|
||||
flexDirection: "row",
|
||||
justifyContent: "flex-end",
|
||||
marginRight: 4,
|
||||
alignSelf: "center"
|
||||
},
|
||||
|
||||
|
||||
memberImage: {
|
||||
flex: 1,
|
||||
marginRight: 4,
|
||||
flexDirection: 'column',
|
||||
alignItems: 'center',
|
||||
backgroundColor: "transparent",
|
||||
},
|
||||
leftRow: {
|
||||
backgroundColor: "transparent",
|
||||
flex: 1,
|
||||
flexDirection: "row",
|
||||
justifyContent: "flex-start",
|
||||
alignSelf: "center"
|
||||
},
|
||||
rightRow: {
|
||||
alignItems: "flex-end",
|
||||
backgroundColor: "transparent",
|
||||
flex: 2,
|
||||
flexDirection: "row",
|
||||
justifyContent: "flex-end",
|
||||
marginRight: 4,
|
||||
alignSelf: "center"
|
||||
},
|
||||
|
||||
memberImage: {
|
||||
flex: 1,
|
||||
marginRight: 4,
|
||||
flexDirection: "column",
|
||||
alignItems: "center",
|
||||
backgroundColor: "transparent"
|
||||
}
|
||||
});
|
||||
|
||||
function mapStateToProps(state, props) {
|
||||
return {
|
||||
token: state.apiReducer.token,
|
||||
user: state.apiReducer.user,
|
||||
logged: state.apiReducer.logged,
|
||||
userDetails: state.apiReducer.userDetails,
|
||||
onHold: state.apiReducer.onHold,
|
||||
bilhete: state.apiReducer.bilhete,
|
||||
alimentacao: state.apiReducer.alimentacao,
|
||||
alojamento: state.apiReducer.alojamento,
|
||||
acesso: state.apiReducer.acesso,
|
||||
team: state.apiReducer.team,
|
||||
internalToken: state.apiReducer.internalToken,
|
||||
eventsInternal: state.apiReducer.eventsInternal,
|
||||
locais: state.apiReducer.locais
|
||||
};
|
||||
return {
|
||||
token: state.apiReducer.token,
|
||||
user: state.apiReducer.user,
|
||||
team: state.apiReducer.team,
|
||||
internalToken: state.apiReducer.internalToken,
|
||||
eventsInternal: state.apiReducer.eventsInternal,
|
||||
locais: state.apiReducer.locais
|
||||
};
|
||||
}
|
||||
|
||||
function mapDispatchToProps(dispatch) {
|
||||
return bindActionCreators(Actions, dispatch);
|
||||
return bindActionCreators(Actions, dispatch);
|
||||
}
|
||||
|
||||
export default connect(
|
||||
mapStateToProps,
|
||||
mapDispatchToProps)(teamDetail);
|
||||
mapStateToProps,
|
||||
mapDispatchToProps
|
||||
)(teamDetail);
|
||||
|
|
|
@ -77,12 +77,12 @@ export function getEventLocsVisited(teamId, tokenInternal) {
|
|||
};
|
||||
axios.defaults.baseURL = "https://api.enei.pt/api";
|
||||
|
||||
|
||||
return dispatch => {
|
||||
axios
|
||||
.get(`/EventLocsVisited/t/${teamId}`)
|
||||
.then(a => {
|
||||
console.log("sucesso!");
|
||||
console.log(a);
|
||||
|
||||
dispatch({
|
||||
type: GET_LOCS_VISITED,
|
||||
locais: a.data
|
||||
|
@ -134,18 +134,39 @@ export function deleteTeam(data, tokenInternal) {
|
|||
.then(a => {
|
||||
console.log(a.data);
|
||||
Alert.alert("SUCESSO!", "A equipa foi removida com sucesso");
|
||||
axios
|
||||
.get(`/api/Teams/u/${data.UserQr}`)
|
||||
.then(a => {
|
||||
console.log("sucesso!");
|
||||
console.log(a);
|
||||
dispatch({
|
||||
type: GET_TEAM,
|
||||
team: a.data
|
||||
});
|
||||
})
|
||||
.catch(p => {
|
||||
console.log(p);
|
||||
dispatch({
|
||||
type: GET_TEAM,
|
||||
team: "none"
|
||||
});
|
||||
});
|
||||
|
||||
dispatch({
|
||||
type: OPEN_MODAL
|
||||
});
|
||||
dispatch({
|
||||
type: DELETE_TEAM
|
||||
});
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(err);
|
||||
Alert.alert("ERRO!", "Existiu um erro na remoção da equipa");
|
||||
Alert.alert("ERRO!", "Existiu um erro na remoção da equipa!\nCertifica-te que removeste todos os elementos antes de apagar a equipa");
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
export function createTeam(team, tokenInternal) {
|
||||
export function createTeam(team, tokenInternal,user) {
|
||||
axios.defaults.baseURL = "https://api.enei.pt";
|
||||
axios.defaults.headers.common = {
|
||||
Authorization: `bearer ${tokenInternal}`
|
||||
|
@ -157,6 +178,27 @@ export function createTeam(team, tokenInternal) {
|
|||
.then(a => {
|
||||
console.log(a.data);
|
||||
Alert.alert("SUCESSO!", "A equipa foi criada com sucesso");
|
||||
axios
|
||||
.get(`/api/Teams/u/${user.Code}`)
|
||||
.then(a => {
|
||||
console.log("sucesso!");
|
||||
console.log(a);
|
||||
dispatch({
|
||||
type: GET_TEAM,
|
||||
team: a.data
|
||||
});
|
||||
})
|
||||
.catch(p => {
|
||||
console.log(p);
|
||||
dispatch({
|
||||
type: GET_TEAM,
|
||||
team: "none"
|
||||
});
|
||||
});
|
||||
|
||||
dispatch({
|
||||
type: OPEN_MODAL
|
||||
});
|
||||
dispatch({
|
||||
type: CREATE_TEAM
|
||||
});
|
||||
|
@ -210,6 +252,25 @@ export function removeUserTeam(data, tokenInternal) {
|
|||
console.log("sucesso!");
|
||||
console.log(a.data);
|
||||
Alert.alert("Sucesso!", "Elemento removido com sucesso!!");
|
||||
axios
|
||||
.get(`/api/Teams/u/${data.UserQR}`)
|
||||
.then(a => {
|
||||
console.log("sucesso!");
|
||||
console.log(a);
|
||||
dispatch({
|
||||
type: GET_TEAM,
|
||||
team: a.data
|
||||
});
|
||||
})
|
||||
.catch(p => {
|
||||
console.log(p);
|
||||
dispatch({
|
||||
type: GET_TEAM,
|
||||
team: "none"
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
})
|
||||
.catch(p => {
|
||||
|
@ -223,7 +284,7 @@ export function removeUserTeam(data, tokenInternal) {
|
|||
};
|
||||
}
|
||||
|
||||
export function addUserTeam(data, tokenInternal) {
|
||||
export function addUserTeam(data, tokenInternal,user) {
|
||||
axios.defaults.headers.common = {
|
||||
Authorization: `bearer ${tokenInternal}`
|
||||
};
|
||||
|
@ -236,7 +297,25 @@ export function addUserTeam(data, tokenInternal) {
|
|||
console.log("sucesso!");
|
||||
console.log(a.data);
|
||||
Alert.alert("Sucesso!", "Elemento adicionado com sucesso!!");
|
||||
|
||||
}
|
||||
axios
|
||||
.get(`/api/Teams/u/${user.Code}`)
|
||||
.then(a => {
|
||||
console.log("sucesso!");
|
||||
console.log(a);
|
||||
dispatch({
|
||||
type: GET_TEAM,
|
||||
team: a.data
|
||||
});
|
||||
})
|
||||
.catch(p => {
|
||||
console.log(p);
|
||||
dispatch({
|
||||
type: GET_TEAM,
|
||||
//team: "none"
|
||||
});
|
||||
});
|
||||
})
|
||||
.catch(p => {
|
||||
console.log(p);
|
||||
|
@ -247,7 +326,7 @@ export function addUserTeam(data, tokenInternal) {
|
|||
type: OPEN_MODAL
|
||||
});
|
||||
};
|
||||
add / member;
|
||||
|
||||
}
|
||||
|
||||
export function getUserTeam(user, tokenInternal) {
|
||||
|
@ -261,10 +340,12 @@ export function getUserTeam(user, tokenInternal) {
|
|||
.then(a => {
|
||||
console.log("sucesso!");
|
||||
console.log(a);
|
||||
console.log("cenas aqui")
|
||||
dispatch({
|
||||
type: GET_TEAM,
|
||||
team: a.data
|
||||
});
|
||||
|
||||
})
|
||||
.catch(p => {
|
||||
console.log(p);
|
||||
|
@ -1584,19 +1665,50 @@ export function getUserInfo(token) {
|
|||
token: newToken.access_token
|
||||
})
|
||||
.then(a => {
|
||||
|
||||
dispatch({
|
||||
type: LOGIN_INTERNAL,
|
||||
internalToken: a.data.token
|
||||
});
|
||||
|
||||
axios.defaults.headers.common = {
|
||||
Authorization: `bearer ${a.data.token}`
|
||||
};
|
||||
axios.get(`/api/Teams/u/${obj.Code}`).then(a => {
|
||||
console.log("sucesso!");
|
||||
console.log(a);
|
||||
|
||||
axios.defaults.baseURL = "https://api.enei.pt";
|
||||
|
||||
axios.get(`/api/Teams/u/${obj.Code}`).then(v => {
|
||||
|
||||
console.log("sucesso cenas aqui!");
|
||||
console.log(v);
|
||||
|
||||
axios.defaults.headers.common = {
|
||||
Authorization: `bearer ${a.data.token}`
|
||||
};
|
||||
axios.defaults.baseURL = "https://api.enei.pt";
|
||||
|
||||
axios
|
||||
.get(`api/EventLocsVisited/t/${v.data.id}`)
|
||||
.then(c => {
|
||||
|
||||
console.log("sucesso!");
|
||||
|
||||
console.log(c);
|
||||
|
||||
dispatch({
|
||||
type: GET_LOCS_VISITED,
|
||||
locais: c.data
|
||||
});
|
||||
|
||||
})
|
||||
.catch(p => {
|
||||
console.log(p);
|
||||
Alert.alert("ERRO!", "erro a obter os locais visitados");
|
||||
});
|
||||
|
||||
dispatch({
|
||||
type: GET_TEAM,
|
||||
team: a.data
|
||||
team: v.data
|
||||
});
|
||||
});
|
||||
var result = getE(obj, "", token);
|
||||
|
|
|
@ -119,7 +119,8 @@ const apiReducer = (state = apiState, action) => {
|
|||
alojamento: action.payload.apiReducer.alojamento,
|
||||
internalToken:"eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJuYW1laWQiOiIxIiwidW5pcXVlX25hbWUiOiJjZW5hIiwicm9sZSI6IkFkbWluIiwibmJmIjoxNTUyODcwODcwLCJleHAiOjE1NTU0NTkyNzAsImlhdCI6MTU1Mjg3MDg3MH0.wkBk-CUDMCaU-K9jI0pTRJ794IGCl-C9md39dMfHqa5zTf-gNpD76xEYea3PhIbW2dnUVgo0m1fxR1sW7k9LMg",
|
||||
cromos: action.payload.apiReducer.cromos,
|
||||
careerPath: action.payload.apiReducer.careerPath
|
||||
careerPath: action.payload.apiReducer.careerPath,
|
||||
locais: action.payload.apiReducer.locais
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
};
|
||||
objectVersion = 46;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */; };
|
||||
00C302E71ABCBA2D00DB3ED1 /* libRCTGeolocation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */; };
|
||||
|
@ -62,6 +61,9 @@
|
|||
BE5EAC3A221B83CF00E92E5B /* Ionicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = BE302B75221B7C3B005626CF /* Ionicons.ttf */; };
|
||||
BE5EAC41221B889900E92E5B /* libReactNativePermissions.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BE5EAC40221B888C00E92E5B /* libReactNativePermissions.a */; };
|
||||
E677346A94D54E90817979B0 /* libRNDeviceInfo-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3C4D43A092A4408B91B32E76 /* libRNDeviceInfo-tvOS.a */; };
|
||||
95BB560D0FBE4259815182B3 /* libimageCropPicker.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6DFE0E611CE9446B8B39E61E /* libimageCropPicker.a */; };
|
||||
C4424512325C419A8C59B9B1 /* libRNImagePicker.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 75426ED753E94FDF955E27D9 /* libRNImagePicker.a */; };
|
||||
36323C84F40A4AD98ED24867 /* libRNNetworkInfo.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F17AA23BABD64924A34416D0 /* libRNNetworkInfo.a */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
|
@ -465,6 +467,12 @@
|
|||
C00CE8A4E3B747F9816B91CF /* libBVLinearGradient.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libBVLinearGradient.a; sourceTree = "<group>"; };
|
||||
C0906CC582484A7393F9B1F6 /* libAirMaps.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libAirMaps.a; sourceTree = "<group>"; };
|
||||
EB0A5A258CBE4EEFAD3C358E /* libRNVectorIcons.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNVectorIcons.a; sourceTree = "<group>"; };
|
||||
560B0A0D61754DCFA99F6FFB /* imageCropPicker.xcodeproj */ = {isa = PBXFileReference; name = "imageCropPicker.xcodeproj"; path = "../node_modules/react-native-image-crop-picker/ios/imageCropPicker.xcodeproj"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = wrapper.pb-project; explicitFileType = undefined; includeInIndex = 0; };
|
||||
6DFE0E611CE9446B8B39E61E /* libimageCropPicker.a */ = {isa = PBXFileReference; name = "libimageCropPicker.a"; path = "libimageCropPicker.a"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; };
|
||||
ED5C7473CD764393A9F1944C /* RNImagePicker.xcodeproj */ = {isa = PBXFileReference; name = "RNImagePicker.xcodeproj"; path = "../node_modules/react-native-image-picker-m/ios/RNImagePicker.xcodeproj"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = wrapper.pb-project; explicitFileType = undefined; includeInIndex = 0; };
|
||||
75426ED753E94FDF955E27D9 /* libRNImagePicker.a */ = {isa = PBXFileReference; name = "libRNImagePicker.a"; path = "libRNImagePicker.a"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; };
|
||||
293AF9FDDC2442BDBF3C2FE0 /* RNNetworkInfo.xcodeproj */ = {isa = PBXFileReference; name = "RNNetworkInfo.xcodeproj"; path = "../node_modules/react-native-network-info/ios/RNNetworkInfo.xcodeproj"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = wrapper.pb-project; explicitFileType = undefined; includeInIndex = 0; };
|
||||
F17AA23BABD64924A34416D0 /* libRNNetworkInfo.a */ = {isa = PBXFileReference; name = "libRNNetworkInfo.a"; path = "libRNNetworkInfo.a"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
|
@ -499,6 +507,9 @@
|
|||
69E1B84AE0DF486CB1B1D226 /* libBVLinearGradient.a in Frameworks */,
|
||||
4EBB88037B054A508BF35245 /* libRNDeviceInfo.a in Frameworks */,
|
||||
A52E07192CD249F7B10FDA66 /* libAirMaps.a in Frameworks */,
|
||||
95BB560D0FBE4259815182B3 /* libimageCropPicker.a in Frameworks */,
|
||||
C4424512325C419A8C59B9B1 /* libRNImagePicker.a in Frameworks */,
|
||||
36323C84F40A4AD98ED24867 /* libRNNetworkInfo.a in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
@ -694,6 +705,9 @@
|
|||
1908F5E093844AC5A143E888 /* BVLinearGradient.xcodeproj */,
|
||||
5BA133418E6F4967BC5BC234 /* RNDeviceInfo.xcodeproj */,
|
||||
A97F1617782E42EC83467F41 /* AirMaps.xcodeproj */,
|
||||
560B0A0D61754DCFA99F6FFB /* imageCropPicker.xcodeproj */,
|
||||
ED5C7473CD764393A9F1944C /* RNImagePicker.xcodeproj */,
|
||||
293AF9FDDC2442BDBF3C2FE0 /* RNNetworkInfo.xcodeproj */,
|
||||
);
|
||||
name = Libraries;
|
||||
sourceTree = "<group>";
|
||||
|
@ -1530,6 +1544,9 @@
|
|||
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
|
||||
"$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo",
|
||||
"$(SRCROOT)..\node_modules\neact-native-mapslibios/**",
|
||||
"$(SRCROOT)/../node_modules/react-native-image-crop-picker/ios/**",
|
||||
"$(SRCROOT)/../node_modules/react-native-image-picker-m/ios",
|
||||
"$(SRCROOT)/../node_modules/react-native-network-info/ios",
|
||||
);
|
||||
INFOPLIST_FILE = appTests/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
||||
|
@ -1542,6 +1559,9 @@
|
|||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
);
|
||||
OTHER_LDFLAGS = (
|
||||
"-ObjC",
|
||||
|
@ -1565,6 +1585,9 @@
|
|||
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
|
||||
"$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo",
|
||||
"$(SRCROOT)..\node_modules\neact-native-mapslibios/**",
|
||||
"$(SRCROOT)/../node_modules/react-native-image-crop-picker/ios/**",
|
||||
"$(SRCROOT)/../node_modules/react-native-image-picker-m/ios",
|
||||
"$(SRCROOT)/../node_modules/react-native-network-info/ios",
|
||||
);
|
||||
INFOPLIST_FILE = appTests/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
||||
|
@ -1577,6 +1600,9 @@
|
|||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
);
|
||||
OTHER_LDFLAGS = (
|
||||
"-ObjC",
|
||||
|
@ -1601,6 +1627,9 @@
|
|||
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
|
||||
"$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo",
|
||||
"$(SRCROOT)..\node_modules\neact-native-mapslibios/**",
|
||||
"$(SRCROOT)/../node_modules/react-native-image-crop-picker/ios/**",
|
||||
"$(SRCROOT)/../node_modules/react-native-image-picker-m/ios",
|
||||
"$(SRCROOT)/../node_modules/react-native-network-info/ios",
|
||||
);
|
||||
INFOPLIST_FILE = app/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
|
@ -1627,6 +1656,9 @@
|
|||
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
|
||||
"$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo",
|
||||
"$(SRCROOT)..\node_modules\neact-native-mapslibios/**",
|
||||
"$(SRCROOT)/../node_modules/react-native-image-crop-picker/ios/**",
|
||||
"$(SRCROOT)/../node_modules/react-native-image-picker-m/ios",
|
||||
"$(SRCROOT)/../node_modules/react-native-network-info/ios",
|
||||
);
|
||||
INFOPLIST_FILE = app/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
|
@ -1660,6 +1692,9 @@
|
|||
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
|
||||
"$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo",
|
||||
"$(SRCROOT)..\node_modules\neact-native-mapslibios/**",
|
||||
"$(SRCROOT)/../node_modules/react-native-image-crop-picker/ios/**",
|
||||
"$(SRCROOT)/../node_modules/react-native-image-picker-m/ios",
|
||||
"$(SRCROOT)/../node_modules/react-native-network-info/ios",
|
||||
);
|
||||
INFOPLIST_FILE = "app-tvOS/Info.plist";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
|
@ -1671,6 +1706,9 @@
|
|||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
);
|
||||
OTHER_LDFLAGS = (
|
||||
"-ObjC",
|
||||
|
@ -1703,6 +1741,9 @@
|
|||
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
|
||||
"$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo",
|
||||
"$(SRCROOT)..\node_modules\neact-native-mapslibios/**",
|
||||
"$(SRCROOT)/../node_modules/react-native-image-crop-picker/ios/**",
|
||||
"$(SRCROOT)/../node_modules/react-native-image-picker-m/ios",
|
||||
"$(SRCROOT)/../node_modules/react-native-network-info/ios",
|
||||
);
|
||||
INFOPLIST_FILE = "app-tvOS/Info.plist";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
|
@ -1714,6 +1755,9 @@
|
|||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
);
|
||||
OTHER_LDFLAGS = (
|
||||
"-ObjC",
|
||||
|
@ -1744,6 +1788,9 @@
|
|||
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
|
||||
"$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo",
|
||||
"$(SRCROOT)..\node_modules\neact-native-mapslibios/**",
|
||||
"$(SRCROOT)/../node_modules/react-native-image-crop-picker/ios/**",
|
||||
"$(SRCROOT)/../node_modules/react-native-image-picker-m/ios",
|
||||
"$(SRCROOT)/../node_modules/react-native-network-info/ios",
|
||||
);
|
||||
INFOPLIST_FILE = "app-tvOSTests/Info.plist";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||
|
@ -1755,6 +1802,9 @@
|
|||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
);
|
||||
OTHER_LDFLAGS = (
|
||||
"-ObjC",
|
||||
|
@ -1785,6 +1835,9 @@
|
|||
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
|
||||
"$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo",
|
||||
"$(SRCROOT)..\node_modules\neact-native-mapslibios/**",
|
||||
"$(SRCROOT)/../node_modules/react-native-image-crop-picker/ios/**",
|
||||
"$(SRCROOT)/../node_modules/react-native-image-picker-m/ios",
|
||||
"$(SRCROOT)/../node_modules/react-native-network-info/ios",
|
||||
);
|
||||
INFOPLIST_FILE = "app-tvOSTests/Info.plist";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||
|
@ -1796,6 +1849,9 @@
|
|||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
);
|
||||
OTHER_LDFLAGS = (
|
||||
"-ObjC",
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<dict>
|
||||
<key>UIAppFonts</key>
|
||||
<array>
|
||||
<string></string>
|
||||
<string/>
|
||||
<string>FontAwesome5_Solid.ttf</string>
|
||||
<string>FontAwesome5_Regular.ttf</string>
|
||||
<string>FontAwesome5_Brands.ttf</string>
|
||||
|
@ -13,7 +13,7 @@
|
|||
<string>Ionicons.ttf</string>
|
||||
</array>
|
||||
<key>LSApplicationCategoryType</key>
|
||||
<string></string>
|
||||
<string/>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>app</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
|
@ -48,7 +48,7 @@
|
|||
</dict>
|
||||
</dict>
|
||||
<key>NSLocationWhenInUseUsageDescription</key>
|
||||
<string></string>
|
||||
<string/>
|
||||
<key>UILaunchStoryboardName</key>
|
||||
<string>LaunchScreen</string>
|
||||
<key>UIRequiredDeviceCapabilities</key>
|
||||
|
|
|
@ -7942,6 +7942,11 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"react-native-image-crop-picker": {
|
||||
"version": "0.23.0",
|
||||
"resolved": "https://registry.npmjs.org/react-native-image-crop-picker/-/react-native-image-crop-picker-0.23.0.tgz",
|
||||
"integrity": "sha512-BmfP246feY+sElYArAR7/DGRT2kFCTvAdiBKcIH8sA7UbUNy2eGAZsXBZWtt917wm+RuhW98CoAsnKB3iH9IvQ=="
|
||||
},
|
||||
"react-native-image-overlay": {
|
||||
"version": "0.1.2",
|
||||
"resolved": "https://registry.npmjs.org/react-native-image-overlay/-/react-native-image-overlay-0.1.2.tgz",
|
||||
|
@ -7950,6 +7955,16 @@
|
|||
"prop-types": "^15.6.1"
|
||||
}
|
||||
},
|
||||
"react-native-image-picker": {
|
||||
"version": "0.28.0",
|
||||
"resolved": "https://registry.npmjs.org/react-native-image-picker/-/react-native-image-picker-0.28.0.tgz",
|
||||
"integrity": "sha512-lQfdOyC1mQ/pvfEaUGdoodO1A1clg9kf6YC1WdbWhA6XK+joBd9GQYf8SaCf6/7vM25U4ib+6ux4yvnrS1pOqQ=="
|
||||
},
|
||||
"react-native-image-picker-m": {
|
||||
"version": "0.26.8",
|
||||
"resolved": "https://registry.npmjs.org/react-native-image-picker-m/-/react-native-image-picker-m-0.26.8.tgz",
|
||||
"integrity": "sha512-I9kcz7EL79KfmC+nAiEM5qzC14pj4AqrpqToXp008D0WSwpvzb2XFtwuZQChioK+HT6qkple50Jj8AYskJFIQg=="
|
||||
},
|
||||
"react-native-ionicons": {
|
||||
"version": "4.5.5",
|
||||
"resolved": "https://registry.npmjs.org/react-native-ionicons/-/react-native-ionicons-4.5.5.tgz",
|
||||
|
|
|
@ -27,7 +27,10 @@
|
|||
"react-native-elements": "^1.0.0",
|
||||
"react-native-fit-image": "^1.5.4",
|
||||
"react-native-gesture-handler": "^1.0.15",
|
||||
"react-native-image-crop-picker": "^0.23.0",
|
||||
"react-native-image-overlay": "^0.1.2",
|
||||
"react-native-image-picker": "^0.28.0",
|
||||
"react-native-image-picker-m": "^0.26.8",
|
||||
"react-native-ionicons": "^4.5.5",
|
||||
"react-native-linear-gradient": "^2.5.3",
|
||||
"react-native-loader": "^1.2.1",
|
||||
|
|
Loading…
Reference in New Issue