Browse Source

Merge remote-tracking branch 'origin/master' into zmiguel

zmiguel
José Valdiviesso 3 years ago
parent
commit
bc576de930
  1. 24
      App/app/App.js
  2. 8
      App/app/Router.js
  3. BIN
      App/app/assets/img/campus.png
  4. BIN
      App/app/assets/rallyTascas.jpg
  5. 4
      App/app/screens/Calendar.js
  6. 6
      App/app/screens/Eventos.js
  7. 164
      App/app/screens/Home.js
  8. 4
      App/app/screens/Profile.js
  9. 824
      App/app/screens/calendarDetail.js
  10. 20
      App/app/screens/choosePath.js
  11. 47
      App/app/screens/rallyTascas.js
  12. 841
      App/app/store/actions/api.js
  13. 55
      App/app/store/reducers/api.js
  14. BIN
      website/imgs/blip-sponsor.png
  15. 122
      website/imgs/blip-sponsor.svg
  16. BIN
      website/imgs/critical-sponsor.png
  17. 22
      website/index.html
  18. 1698
      website/main.css
  19. 12
      website/main.css.map
  20. 14
      website/main.scss

24
App/app/App.js

@ -81,7 +81,7 @@ class App extends Component { @@ -81,7 +81,7 @@ class App extends Component {
logged: false,
isModalVisible: false,
state: { text: "" },
username: "QR code",
username: "QR code ou",
failedAttempt: false,
push: 4,
UI_loginScannerActive: false,
@ -105,23 +105,13 @@ class App extends Component { @@ -105,23 +105,13 @@ class App extends Component {
componentDidMount() {
//this.props.hold();
this.props.loginInternal();
NetInfo.isConnected.addEventListener(
"connectionChange",
this.handleConnectivityChange
);
// this.props.loginInternal();
this.setState({ isModalVisible: false });
//verifica se o utilizador tem token guardado
this.props.checkUser(this.props.userDetails);
this.keyboardDidShowListener = Keyboard.addListener(
"keyboardDidShow",
this._keyboardDidShow
);
this.keyboardDidHideListener = Keyboard.addListener(
"keyboardDidHide",
this._keyboardDidHide
);
this.props.checkUser(this.props.token);
}
componentWillUnmount() {
NetInfo.isConnected.removeEventListener(
@ -135,7 +125,7 @@ class App extends Component { @@ -135,7 +125,7 @@ class App extends Component {
//faz call
_reset=()=>{
//fecha modal
this.props.resetPassword(this.props.userDetails.token,this.state.resetText),
this.props.resetPassword(this.props.token,this.state.resetText),
this.setState({modalResetPassword:false})
//faz call
}
@ -249,7 +239,7 @@ class App extends Component { @@ -249,7 +239,7 @@ class App extends Component {
style={styles.input}
placeholder={this.state.username}
onChangeText={searchString => {
this.setState({ searchString });
this.setState({ username:searchString });
}}
maxLength={15}
underlineColorAndroid="transparent"

8
App/app/Router.js

@ -105,7 +105,7 @@ const AppStack = createBottomTabNavigator( @@ -105,7 +105,7 @@ const AppStack = createBottomTabNavigator(
},
{
initialRouteName: 'Eventos',
initialRouteName: 'Home',
tabBarOptions: {
showLabel: true, // hide labels
@ -132,7 +132,7 @@ const Stack = createStackNavigator({ @@ -132,7 +132,7 @@ const Stack = createStackNavigator({
<TouchableOpacity style={{marginRight: 20, flex: 1, flexDirection: 'row'}}
onPress={() => navigation.navigate('Profile')}>
<Text>editar</Text>
<Text>Editar dados</Text>
<IconFA name="user-edit" size={22}/>
</TouchableOpacity>
@ -152,7 +152,7 @@ const Stack = createStackNavigator({ @@ -152,7 +152,7 @@ const Stack = createStackNavigator({
<TouchableOpacity style={{marginRight: 20, flex: 1, flexDirection: 'row'}}
onPress={() => navigation.navigate('choosePath')}>
<Text>Escolher</Text>
<Text>Inscrições</Text>
<IconFA name="user-edit" size={22}/>
</TouchableOpacity></View>
@ -183,6 +183,7 @@ const Stack = createStackNavigator({ @@ -183,6 +183,7 @@ const Stack = createStackNavigator({
return {
headerTitle: 'Eventos',
}
}
else {
return {
@ -207,7 +208,6 @@ const Stack = createStackNavigator({ @@ -207,7 +208,6 @@ const Stack = createStackNavigator({
screen: FebradaDetail,
},
resetPassword:{
screen:resetPassword
}

BIN
App/app/assets/img/campus.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 297 KiB

BIN
App/app/assets/rallyTascas.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

4
App/app/screens/Calendar.js

@ -47,7 +47,7 @@ class Calendar extends React.Component { @@ -47,7 +47,7 @@ class Calendar extends React.Component {
componentDidMount() {
this.props.getEvents(this.props.user);
this.props.getSessions(this.props.userDetails.token);
this.props.getSessions(this.props.token);
}
_openDetails = () => {
@ -142,7 +142,7 @@ class Calendar extends React.Component { @@ -142,7 +142,7 @@ class Calendar extends React.Component {
}
_refresh=()=>{
this.props.getEvents(this.props.user);
//this.props.getSessions(this.props.userDetails.token);
}
render() {

6
App/app/screens/Eventos.js

@ -1,11 +1,15 @@ @@ -1,11 +1,15 @@
import * as React from "react";
import {View, StyleSheet, Dimensions, Text, Button, ScrollView, Image, TouchableOpacity} from "react-native";
import {TabView, TabBar, SceneMap} from "react-native-tab-view";
import rallyImg from '../assets/rallyTascas.jpg';
const SCREEN_HEIGHT = Dimensions.get("window").height;
const SCREEN_WIDTH = Dimensions.get("window").width;
const FirstRoute = () => (
<View style={[styles.scene, {backgroundColor: "#ff4081"}]}/>
);
@ -51,7 +55,6 @@ export default class Eventos extends React.Component { @@ -51,7 +55,6 @@ export default class Eventos extends React.Component {
</Image>
</View>
</TouchableOpacity>
</View>
);
@ -128,6 +131,7 @@ const styles = StyleSheet.create({ @@ -128,6 +131,7 @@ const styles = StyleSheet.create({
cardContainer: {
flex: 1,
flexDirection: 'row',
padding: 10,
margin: 20,
backgroundColor: '#fff',

164
App/app/screens/Home.js

@ -78,11 +78,12 @@ class Home extends Component { @@ -78,11 +78,12 @@ class Home extends Component {
//console.log(this.props.token);
this.props.getUserInfo(this.props.userDetails.token);
this.props.getUserInfo(this.props.token);
//console.log('logged:'+this.props.logged);
//console.log(th2is.props)
//console.log(th2is.props
this.props.getEvents(this.props.user);
}
componentWillUnmount() {}
@ -97,7 +98,8 @@ class Home extends Component { @@ -97,7 +98,8 @@ class Home extends Component {
//var navigate = this.props.navigation.navigate
}
_update = () => {
this.props.getUserInfo(this.props.userDetails.token);
this.props.getUserInfo(this.props.token);
this.props.getEvents(this.props.user);
};
render() {
@ -143,14 +145,46 @@ class Home extends Component { @@ -143,14 +145,46 @@ class Home extends Component {
</ImageBackground>
<View style={styles.userStats}>
<View style={{backgroundColor:'orange'}}>
<Text style={styles.userStatsTitle}>Informações Importantes</Text>
<View style={{ backgroundColor: "orange" }}>
<Text style={styles.userStatsTitle}>
O que inclui o meu bilhete?
</Text>
</View>
<View style={styles.userStatsBox}>
<Text style={{margin:10}}>Grupo de ....</Text>
<Text style={{margin:10}}>Alojamento</Text>
<View style={{ flex: 1, flexDirection: 'row', flexWrap: 'wrap' }}>
<View style={styles.colBilhete}>
<Text style={styles.titleBilhete}>Acesso </Text>
<FlatList
data={this.props.acesso}
renderItem={({item}) =>
<View style={styles.boxStyle}>
<Text><IconFA name="check" size={18} color={'#CC1A17'}/> {item}</Text>
</View>}
/>
</View>
<View style={styles.colBilhete}>
<Text style={styles.titleBilhete}>Alojamento</Text>
<FlatList
data={this.props.alojamento}
renderItem={({item}) =>
<View style={styles.boxStyle}>
<Text><IconFA name="check" size={18} color={'#CC1A17'}/> {item}</Text>
</View>}
/>
</View>
<View style={styles.colBilhete}>
<Text style={styles.titleBilhete}>Alimentação</Text>
<FlatList
data={this.props.alimentacao}
renderItem={({item}) =>
<View style={styles.boxStyle}>
<Text><IconFA name="check" size={18} color={'#CC1A17'}/> {item}</Text>
</View>}
/>
</View>
</View>
</View>
<View>
@ -162,32 +196,44 @@ class Home extends Component { @@ -162,32 +196,44 @@ class Home extends Component {
borderRadius: 3
}}
>
<View style={{ backgroundColor: "#CC1A17" , flex:1, flexDirection:'row'}}>
<View style={{width:'79%'}}>
<Text
style={{
fontSize: 25,
color: "white",
margin: 10,
fontWeight: "bold",
marginBottom: 0
}}
>
Os tones
</Text>
<Text
<View
style={{
backgroundColor: "#CC1A17",
flex: 1,
flexDirection: "row"
}}
>
<View style={{ width: "79%" }}>
<Text
style={{
fontSize: 25,
color: "white",
margin: 10,
fontWeight: "bold",
marginBottom: 0
}}
>
Os tones
</Text>
<Text
style={{
color: "white",
marginLeft: 10,
marginBottom: 5
}}
>
5/6 elementos
</Text>
</View>
<View
style={{
color: "white",
marginLeft: 10,
marginBottom: 5
alignItems: "center",
alignContent: "center",
alignSelf: "center"
}}
>
5/6 elementos
</Text>
</View>
<View style={{alignItems:'center', alignContent:'center',alignSelf:'center'}}>
<IconFA name="plus" color={'white'} size={30} />
<Text style={{color:'white'}}>Adicionar</Text>
<IconFA name="plus" color={"white"} size={30} />
<Text style={{ color: "white" }}>Adicionar</Text>
</View>
</View>
@ -203,8 +249,7 @@ class Home extends Component { @@ -203,8 +249,7 @@ class Home extends Component {
</View>
<TouchableOpacity style={styles.userRemove}>
<Text style={{fontWeight:'bold'}}>rm equipa</Text>
<Text style={{ fontWeight: "bold" }}>rm equipa</Text>
</TouchableOpacity>
</View>
<Divider style={{ backgroundColor: "black" }} />
@ -267,8 +312,6 @@ class Home extends Component { @@ -267,8 +312,6 @@ class Home extends Component {
<Text>remover</Text>
</TouchableOpacity>
</View>
</View>
</View>
</View>
@ -288,21 +331,40 @@ class Home extends Component { @@ -288,21 +331,40 @@ class Home extends Component {
}
const styles = StyleSheet.create({
userName:{
fontSize:16,
fontWeight:'bold'
},
titleBilhete:{
textAlign:'center',
fontSize:15,
fontWeight:'bold',
marginBottom:10
},
colBilhete:{
width:'33%',
padding:10
},
boxStyle: {
padding:10,
borderWidth: 1,
marginBottom: 5,
borderColor:'#CC1A17'
},
userName: {
fontSize: 16,
fontWeight: "bold"
},
userRemove: {
alignContent: "center",
alignItems: "center",
alignSelf:'center'
alignSelf: "center"
},
userT: {
margin: 10,
width: "55%",
// backgroundColor: "red"
width: "55%"
// backgroundColor: "red"
},
userLogo: {
paddingLeft: 10,
@ -328,7 +390,7 @@ const styles = StyleSheet.create({ @@ -328,7 +390,7 @@ const styles = StyleSheet.create({
},
userStatsBox: {
flex: 1,
backgroundColor:'white',
backgroundColor: "white",
flexDirection: "row"
},
userBox: {
@ -389,15 +451,15 @@ const styles = StyleSheet.create({ @@ -389,15 +451,15 @@ const styles = StyleSheet.create({
},
userStats: {
backgroundColor: "white",
height: SCREEN_HEIGHT * 0.2,
// padding: 10,
//height: SCREEN_HEIGHT * 0.2,
// padding: 10,
margin: 10,
borderRadius: 5,
marginTop: 10,
marginBottom: 0
},
userStatsTitle: {
margin:10,
margin: 10,
color: "white",
fontSize: 17,
fontWeight: "bold",
@ -415,7 +477,11 @@ function mapStateToProps(state, props) { @@ -415,7 +477,11 @@ function mapStateToProps(state, props) {
user: state.apiReducer.user,
logged: state.apiReducer.logged,
userDetails: state.apiReducer.userDetails,
onHold: state.apiReducer.onHold
onHold: state.apiReducer.onHold,
bilhete: state.apiReducer.bilhete,
alimentacao: state.apiReducer.alimentacao,
alojamento: state.apiReducer.alojamento,
acesso: state.apiReducer.acesso
};
}

4
App/app/screens/Profile.js

@ -91,7 +91,7 @@ class Profile extends Component { @@ -91,7 +91,7 @@ class Profile extends Component {
_press=()=>{
this.props.changePassword(
this.props.userDetails.token,
this.props.token,
this.state.oldPass,
this.state.new1,
this.state.new2
@ -163,7 +163,7 @@ class Profile extends Component { @@ -163,7 +163,7 @@ class Profile extends Component {
if (formValid) {
console.log("data valid");
this.props.updateUser(this.props.userDetails.token, {
this.props.updateUser(this.props.token, {
Name: this.state.name,
Company: jobs,
LastName: curso,

824
App/app/screens/calendarDetail.js

@ -1,151 +1,198 @@ @@ -1,151 +1,198 @@
import * as React from 'react';
import * as React from "react";
import {
View,
StyleSheet,
Dimensions,
Image,
ScrollView,
Text,
Button,
TouchableOpacity,
ImageBackground
} from 'react-native';
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'
View,
StyleSheet,
Dimensions,
Image,
ScrollView,
Text,
Button,
TouchableOpacity,
ImageBackground
} from "react-native";
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 * as Progress from "react-native-progress";
import NavAbsolute from '../components/Nav';
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';
import * as Actions from "../store/actions"; //Import your actionss
import Swiper from "react-native-swiper";
const SCREEN_HEIGHT = Dimensions.get("window").height;
const SCREEN_WIDTH = Dimensions.get("window").width;
import FitImage from 'react-native-fit-image';
import MapView, {PROVIDER_GOOGLE} from 'react-native-maps';
const formatObj = (obj) => {
import FitImage from "react-native-fit-image";
let a = {};
import MapView, { PROVIDER_GOOGLE } from "react-native-maps";
a.push({})
const formatObj = obj => {
let a = {};
return a
a.push({});
return a;
};
class calendarDetail 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 = {};
componentDidMount() {
this.props.getEvents(this.props.user);
console.log("didMount");
console.log(this.props.events);
const { navigation } = this.props;
const info = navigation.getParam("info", "error");
console.log("putas");
console.log(info);
}
_update = () => {
this.setState({ user: this.props.user });
console.log(this.props.events);
};
constructor(props) {
super(props);
this.data = [];
}
renderHeader = info => {
return (
<View style={styles.headerContainer}>
<View style={styles.coverContainer}>
<ImageBackground
source={{
uri: info.imageUrl
}}
style={styles.coverImage}
/>
</View>
</View>
);
};
renderDescription = 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.time === info.timeEnd
? info.time
: `${info.time}H - ${info.timeEnd}H`}
</Text>
</View>
</View>
<View>
<Text
style={{
margin: 10,
marginBottom: 0,
marginTop: 0,
fontSize: 20,
color: "#CC1A17"
}}
>
{info.name}
</Text>
<Text style={{ marginLeft: 10 }}>Workshop</Text>
</View>
<View style={{ margin: 10 }}>
<Progress.Bar
color={"#000000"}
progress={info.Enrolled / info.MaxAttendees}
height={10}
unfilledColor={"white"}
width={210}
/>
),
});
state = {};
componentDidMount() {
this.props.getEvents(this.props.user);
console.log('didMount');
console.log(this.props.events);
const {navigation} = this.props;
const info = navigation.getParam('info', 'error');
console.log("putas")
console.log(info)
}
_update = () => {
this.setState({user: this.props.user});
console.log(this.props.events);
};
constructor(props) {
super(props)
this.data = []
}
renderHeader = (info) => {
return (
<View style={styles.headerContainer}>
<View style={styles.coverContainer}>
<ImageBackground
source={{
uri: info.imageUrl,
}}
style={styles.coverImage}
>
</ImageBackground>
</View>
<Text>
{info.Enrolled} / {info.MaxAttendees}
</Text>
</View>
<Divider style={{ backgroundColor: "#eeeeee" }} />
<View style={{ flex: 1, flexDirection: "row", marginTop: 10 }}>
<View style={{ width: 100, height: 100, padding: 5 }}>
<FitImage
source={{
uri:
"http://enei2019.uingress.com/adminpoint/Content/Images/Uploads/Speakers/ffb043cb-3073-421c-a070-5d273b50fc23.jpeg"
}}
style={{ padding: 5 }}
/>
</View>
)
};
renderDescription = (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.time === info.timeEnd ? info.time : `${info.time} - ${info.timeEnd}`}
</Text>
</View>
</View>
<View><Text style={{margin:10,marginTop:0, fontSize:20, color:'#CC1A17'}}>{info.name}</Text></View>
<View style={{margin:10}}>
<Progress.Bar color={'#000000'} progress={info.Enrolled / info.MaxAttendees} height={10}
unfilledColor={'white'} width={210}/>
<Text >{info.Enrolled} / {info.MaxAttendees}</Text>
</View>
<Divider style={{backgroundColor: '#000'}}/>
<View>
<Text style={{fontSize:15, color:'#CC1A17', padding:10}}>Descrição</Text>
<Text style={{paddingLeft:10, paddingRigh:10}}></Text>
</View>
</View>
<View style={styles.block}>
<Text style={{fontSize: 20, color: "#CC1A17"}}>Descrição</Text>
<Divider style={{backgroundColor: '#000'}}/>
<View style={{marginTop: 10}}>
<Text>
{info.description}
</Text>
</View>
</View>
<Text style={{ fontWeight: "bold", fontSize: 20, margin: 10 }}>
André Duarte
</Text>
<Text style={{ marginLeft: 10 }}>
Project manager at ubiwhere
</Text>
<TouchableOpacity>
<Text style={{ color: "#CC1A17", marginLeft: 10 }}>
website
</Text>
</TouchableOpacity>
</View>
)
};
/*
</View>
<View>
<Text
style={{
fontWeight: "bold",
color: "#CC1A17",
margin: 10,
marginBottom: 0,
fontSize: 15
}}
>
Descrição do orador:
</Text>
<Text style={{ margin: 10 }}>
Existem muitas variações das passagens do Lorem Ipsum disponíveis,
mas a maior parte sofreu alterações de alguma forma, pela injecção
de humor, ou de palavras aleatórias que nem sequer parecem
suficientemente credíveis.{" "}
</Text>
</View>
</View>
<View style={styles.block}>
<Text style={{ fontSize: 15, color: "#CC1A17", fontWeight:'bold' }}>Descrição da palestra/workshop</Text>
<Divider style={{ backgroundColor: "#000" }} />
<View style={{ marginTop: 10 }}>
<Text>{info.description}</Text>
</View>
</View>
</View>
);
};
/*
renderMap = () => {
return (
@ -168,284 +215,281 @@ class calendarDetail extends React.Component { @@ -168,284 +215,281 @@ class calendarDetail extends React.Component {
)
};
*/
renderAttendee = () => {
return (
<View style={{backgroundColor: '#fff', height: SCREEN_HEIGHT * 0.1}}>
<View style={styles.AttendeeContainer}>
<View style={styles.leftRow}>
<Avatar
rounded
size="medium"
source={{
uri: "https://cdn3.iconfinder.com/data/icons/vector-icons-6/96/256-512.png",
}}
/>
</View>
<View style={styles.centerRow}>
<Text style={styles.titleText} numberOfLines={1}>
Nome do gajo
</Text>
</View>
<View style={styles.rightRow}>
<Icon
size={24}
name="visibility"
type="material-icon"
onPress={() => navigation.goBack(null)}
color='#000'
iconStyle={styles.icon}
underlayColor="transparent"
underlineColorAndroid="transparent"
containerStyle={styles.iconContainer}
hitSlop={{top: 15, bottom: 15, left: 15, right: 15}}
/>
</View>
</View>
</View>
);
};
render() {
const {navigation} = this.props;
const info = navigation.getParam('info', 'error');
return (
<View style={styles.mainViewStyle}>
<ScrollView style={styles.scroll}>
<View style={styles.container}>
<View style={styles.headerContainer}>
{this.renderHeader(info)}
</View>
{this.renderDescription(info)}
</View>
<View style={styles.block}>
<Text style={{fontSize: 20, color: "#CC1A17"}}>Localização</Text>
<Divider style={{backgroundColor: '#000', marginBottom: 10}}/>
</View>
</ScrollView>
<Divider style={{backgroundColor: 'black'}}/>
renderAttendee = () => {
return (
<View style={{ backgroundColor: "#fff", height: SCREEN_HEIGHT * 0.1 }}>
<View style={styles.AttendeeContainer}>
<View style={styles.leftRow}>
<Avatar
rounded
size="medium"
source={{
uri:
"https://cdn3.iconfinder.com/data/icons/vector-icons-6/96/256-512.png"
}}
/>
</View>
<View style={styles.centerRow}>
<Text style={styles.titleText} numberOfLines={1}>
Nome do gajo
</Text>
</View>
<View style={styles.rightRow}>
<Icon
size={24}
name="visibility"
type="material-icon"
onPress={() => navigation.goBack(null)}
color="#000"
iconStyle={styles.icon}
underlayColor="transparent"
underlineColorAndroid="transparent"
containerStyle={styles.iconContainer}
hitSlop={{ top: 15, bottom: 15, left: 15, right: 15 }}
/>
</View>
</View>
</View>
);
};
render() {
const { navigation } = this.props;
const info = navigation.getParam("info", "error");
return (
<View style={styles.mainViewStyle}>
<ScrollView style={styles.scroll}>
<View style={styles.container}>
<View style={styles.headerContainer}>
{this.renderHeader(info)}
</View>
)
}
{this.renderDescription(info)}
</View>
<View style={styles.block}>
<Text style={{ fontSize: 15, color: "#CC1A17",fontWeight:'bold' }}>Localização</Text>
<Divider style={{ backgroundColor: "#000", marginBottom: 10 }} />
<Image source={require('../assets/img/campus.png')} style={{width:SCREEN_WIDTH*0.9}}></Image>
</View>
</ScrollView>
<Divider style={{ backgroundColor: "black" }} />
</View>
);
}
}
const styles = StyleSheet.create({
block:{
marginTop:15,
backgroundColor:'white',
padding:20
block: {
marginTop: 15,
backgroundColor: "white",
padding: 20,
shadowOffset: {
width: 0,
height: 2
},
AttendeeContainer: {
flexDirection: 'row',
height: 55,
justifyContent: 'center',
marginLeft: 10,
marginRight: 10,
shadowOpacity: 0.25,
shadowRadius: 3.84,
elevation: 3
},
AttendeeContainer: {
flexDirection: "row",
height: 55,
justifyContent: "center",
marginLeft: 10,
marginRight: 10
},
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"
},
icon: {
justifyContent: "flex-start",
marginTop: 2.8
},
nameAttendee: {
alignSelf: "center",
fontSize: 20,
fontWeight: "400",
color: "#000",
marginBottom: 10
},
details: {
marginTop: 20,
flex: 1,
alignSelf: "center"
},
infoRow: {
margin: 25
},
ramoText: {
alignSelf: "flex-start",
marginBottom: 5,
color: "white",
fontSize: 17,
fontWeight: "400"
},
timeText: {
alignItems: "flex-end",
flex: 2,
lineHeight: 10,
marginRight: 20
},
mainViewStyle: {
flex: 1,
flexGrow: 1,
flexDirection: "column"
},
scroll: {
backgroundColor: "#eee",
flex: 1
//marginBottom: 55,
},
header: {
flex: 1,
padding: 10,
backgroundColor: "white",
borderRadius: 0,
shadowColor: "#000",
shadowOffset: {
width: 0,
height: 2
},
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'
},
icon: {
justifyContent: 'flex-start',
marginTop: 2.8,
},
nameAttendee: {
alignSelf: 'center',
fontSize: 20,
fontWeight: '400',
color: '#000',
marginBottom: 10,
},
details: {
marginTop: 20,
flex: 1,
alignSelf: 'center',
},
infoRow: {
margin: 25,
},
ramoText: {
alignSelf: 'flex-start',
marginBottom: 5,
color: 'white',
fontSize: 17,
fontWeight: '400',
},
timeText: {
alignItems: 'flex-end',
flex: 2,
lineHeight: 10,
marginRight: 4,
},
mainViewStyle: {
flex: 1,
flexGrow: 1,
flexDirection: 'column',
},
scroll: {
backgroundColor: '#eee',
flex: 1,
//marginBottom: 55,
},
header:{
flex: 1,
padding: 10,
backgroundColor: 'white',
borderRadius: 0,
},
cardContainer: {
flex: 1,
padding: 10,
// margin: 20,
backgroundColor: 'white',
borderRadius: 5,
},
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: {
shadowOpacity: 0.25,
shadowRadius: 3.84,
elevation: 3
},
cardContainer: {
flex: 1,
padding: 10,
// margin: 20,
backgroundColor: "white",
borderRadius: 5
},
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: {
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,
// padding:20
},
companyLogo: {
borderRadius: 20,
},
wrapper: {},
company: {
flex: 1,
flexDirection: 'row',
// backgroundColor:'red',
color: 'black'
},
companyLogoContainer: {
flex: 1,
justifyContent: 'center',
width: '60%',
// backgroundColor:'white',
margin: 20,
},
aboutCompany: {
width: SCREEN_WIDTH,
flex: 1,
justifyContent: 'center',
alignItems: 'center',
}
carreerPathContainer: {
backgroundColor: "#CC1A17",
height: 50,
flex: 1,
alignItems: "center",
justifyContent: "center",
paddingTop: 15
},
carreerPathText: {
height: 50,
color: "white",
fontWeight: "bold",
fontSize: 20
},
companyHeader: {
backgroundColor: "#dddddd",
// height:150,
borderRadius: 5,
margin: 10,
padding: 10
},
companyTitle: {
paddingBottom: 5,
fontWeight: "bold",
color: "#777777",
fontSize: 17
// padding:20
},
companyLogo: {
borderRadius: 20
},
wrapper: {},
company: {
flex: 1,
flexDirection: "row",
// backgroundColor:'red',
color: "black"
},
companyLogoContainer: {
flex: 1,
justifyContent: "center",
width: "60%",
// backgroundColor:'white',
margin: 20
},
aboutCompany: {
width: SCREEN_WIDTH,
flex: 1,
justifyContent: "center",
alignItems: "center"
}
});
function mapStateToProps(state, props) {
return {
token: state.apiReducer.token,
user: state.apiReducer.user,
logged: state.apiReducer.logged,
events: state.apiReducer.events,
careerPath: state.apiReducer.careerPath,
}
return {
token: state.apiReducer.token,
user: state.apiReducer.user,
logged: state.apiReducer.logged,
events: state.apiReducer.events,
careerPath: state.apiReducer.careerPath
};
}
function mapDispatchToProps(dispatch) {
return bindActionCreators(Actions, dispatch);
return bindActionCreators(Actions, dispatch);
}
export default connect(mapStateToProps, mapDispatchToProps)(calendarDetail);
export default connect(
mapStateToProps,
mapDispatchToProps
)(calendarDetail);

20
App/app/screens/choosePath.js

@ -77,8 +77,8 @@ class choosePath extends React.Component { @@ -77,8 +77,8 @@ class choosePath extends React.Component {
};
componentDidMount() {
// this.props.getEvents(this.props.user);
this.props.getAvailableGuestlists(this.props.userDetails.token);
this.props.getSessions(this.props.userDetails.token);
this.props.getAvailableGuestlists(this.props.token);
this.props.getSessions(this.props.token);
this._mount();
//console.log('didMount');
@ -120,10 +120,10 @@ class choosePath extends React.Component { @@ -120,10 +120,10 @@ class choosePath extends React.Component {
_s() {
this.props.signSession(this.props.userDetails.token, item[index].Id);
this.props.signSession(this.props.token, item[index].Id);
}
getCareerPaths = () => {
this.props.getAvailableGuestlists(this.props.userDetails.token);
this.props.getAvailableGuestlists(this.props.token);
console.log(this.props.calendar);
};
_keyExtractor = (item, index) => item.id;
@ -265,13 +265,12 @@ class choosePath extends React.Component { @@ -265,13 +265,12 @@ class choosePath extends React.Component {
this.props.waitChangeGuest();
this.props.changeGuestList(
this.props.userDetails.token,
this.props.token,
itemValue
);
// this.props.waitChangeGuest();
// this.props.getAvailableSessions(this.props.userDetails.token);
// this.props.waitChangeGuest();
// this.props.getSessionBlocks(this.props.sessions)
@ -328,7 +327,7 @@ class choosePath extends React.Component { @@ -328,7 +327,7 @@ class choosePath extends React.Component {
this.props.removeSession(
this.props.user,
this.props.userDetails.token,
this.props.token,
item[index].Id
);
}}
@ -350,7 +349,7 @@ class choosePath extends React.Component { @@ -350,7 +349,7 @@ class choosePath extends React.Component {
//this.props.waitChangeGuest()
this.props.signSession(
this.props.user,
this.props.userDetails.token,
this.props.token,
item[index].Id
);
@ -505,7 +504,8 @@ function mapStateToProps(state, props) { @@ -505,7 +504,8 @@ function mapStateToProps(state, props) {
changingGuest: state.apiReducer.changingGuest,
sessions: state.apiReducer.sessions,
Blocks: state.apiReducer.Blocks,
showAlert: state.apiReducer.showAlert
showAlert: state.apiReducer.showAlert,
token: state.apiReducer.token
};
}

47
App/app/screens/rallyTascas.js

@ -0,0 +1,47 @@ @@ -0,0 +1,47 @@
/*
/*
/*
/*Esta página só está disponivel a 1 hora do rally..
*/
import * as React from "react";
import {View, StyleSheet, Dimensions, Text, Button, ScrollView} from "react-native";
import {TabView, TabBar, SceneMap} from "react-native-tab-view";
import * as Actions from "../store/actions";
import {connect} from "react-redux";
import {bindActionCreators} from "redux";
export default class rallyTascas extends React.Component {
render() {
return (
<View>
</View>
)
}
}
function mapStateToProps(state, props) {