Merge remote-tracking branch 'origin/master' into zmiguel
|
@ -149,6 +149,7 @@ android {
|
|||
}
|
||||
|
||||
dependencies {
|
||||
compile project(':react-native-device-info')
|
||||
compile project(':react-native-material-shadows')
|
||||
compile project(':react-native-linear-gradient')
|
||||
compile project(':react-native-camera')
|
||||
|
|
|
@ -3,6 +3,7 @@ package com.app;
|
|||
import android.app.Application;
|
||||
|
||||
import com.facebook.react.ReactApplication;
|
||||
import com.learnium.RNDeviceInfo.RNDeviceInfo;
|
||||
import ui.materialshadows.RNMaterialShadowsPackage;
|
||||
import com.BV.LinearGradient.LinearGradientPackage;
|
||||
import org.reactnative.camera.RNCameraPackage;
|
||||
|
@ -28,6 +29,7 @@ public class MainApplication extends Application implements ReactApplication {
|
|||
protected List<ReactPackage> getPackages() {
|
||||
return Arrays.<ReactPackage>asList(
|
||||
new MainReactPackage(),
|
||||
new RNDeviceInfo(),
|
||||
new RNMaterialShadowsPackage(),
|
||||
new LinearGradientPackage(),
|
||||
new RNCameraPackage(),
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
rootProject.name = 'app'
|
||||
include ':react-native-device-info'
|
||||
project(':react-native-device-info').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-device-info/android')
|
||||
include ':react-native-material-shadows'
|
||||
project(':react-native-material-shadows').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-material-shadows/android')
|
||||
include ':react-native-linear-gradient'
|
||||
|
|
|
@ -40,12 +40,16 @@ const SCREEN_HEIGHT = Dimensions.get("window").height;
|
|||
const SCREEN_WIDTH = Dimensions.get("window").width;
|
||||
|
||||
import Swiper from 'react-native-swiper';
|
||||
var TimerMixin = require('react-timer-mixin');
|
||||
|
||||
function handleConnectivityChange() {
|
||||
console.log("asdasd");
|
||||
}
|
||||
|
||||
class App extends Component {
|
||||
|
||||
handleConnectivityChange = isConnected => {
|
||||
this.setState({ isConnected });
|
||||
}
|
||||
_activate=()=>{
|
||||
|
||||
this.setState({ isModalVisible: !this.state.isModalVisible});
|
||||
|
@ -84,8 +88,9 @@ class App extends Component {
|
|||
username:'QR code',
|
||||
failedAttempt: false,
|
||||
push:4,
|
||||
UI_loginScannerActive:false
|
||||
|
||||
UI_loginScannerActive:false,
|
||||
userDetails:{username:'', password:''},
|
||||
isConnected: true
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -102,19 +107,19 @@ class App extends Component {
|
|||
|
||||
|
||||
componentDidMount() {
|
||||
|
||||
NetInfo.isConnected.addEventListener('connectionChange', this.handleConnectivityChange);
|
||||
this.props.hold();
|
||||
NetInfo.isConnected.addEventListener('connectionChange', this.handleConnectivityChange);
|
||||
|
||||
this.setState({isModalVisible: false})
|
||||
//verifica se o utilizador tem token guardado
|
||||
this.props.checkUser();
|
||||
this.props.checkUser(this.props.userDetails);
|
||||
this.keyboardDidShowListener = Keyboard.addListener('keyboardDidShow', this._keyboardDidShow);
|
||||
this.keyboardDidHideListener = Keyboard.addListener('keyboardDidHide', this._keyboardDidHide);
|
||||
|
||||
|
||||
}
|
||||
componentWillUnmount() {
|
||||
NetInfo.isConnected.removeEventListener('connectionChange', this.handleConnectivityChange);
|
||||
NetInfo.isConnected.removeEventListener('connectionChange', this.handleConnectivityChange);
|
||||
}
|
||||
|
||||
_keyboardDidShow () {
|
||||
|
@ -130,9 +135,9 @@ class App extends Component {
|
|||
}
|
||||
onSuccess = (e) => {
|
||||
|
||||
// this.setState({ isModalVisible: !this.state.isModalVisible });
|
||||
// this.props.login(e.data, 'f8908cc0');
|
||||
this.props.closeLoginQRScan();
|
||||
// this.setState({ isModalVisible: !this.state.isModalVisible });
|
||||
// this.props.login(e.data, 'f8908cc0');
|
||||
this.props.closeLoginQRScan();
|
||||
this.setState({username:e.data})
|
||||
|
||||
console.log("QR code lido");
|
||||
|
@ -142,8 +147,14 @@ class App extends Component {
|
|||
};
|
||||
|
||||
render() {
|
||||
|
||||
if (!this.props.logged) {
|
||||
if (!this.state.isConnected) {
|
||||
return (
|
||||
<View>
|
||||
<Text>cenas da vida</Text>
|
||||
</View>
|
||||
);
|
||||
}
|
||||
if (!this.props.logged && this.props.onHold) {
|
||||
|
||||
|
||||
return (
|
||||
|
@ -530,7 +541,8 @@ mapStateToProps = (state, props) => {
|
|||
onHold: state.apiReducer.onHold,
|
||||
logged: state.apiReducer.logged,
|
||||
failedAttempt:state.apiReducer.failedAttempt,
|
||||
UI_loginScannerActive: state.uiReducer.UI_loginScannerActive
|
||||
UI_loginScannerActive: state.uiReducer.UI_loginScannerActive,
|
||||
userDetails: state.apiReducer.userDetails,
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -145,7 +145,24 @@ const Stack = createStackNavigator({
|
|||
)
|
||||
}
|
||||
}
|
||||
|
||||
else if(navigation.state.routes[index].routeName == 'choosePath'){
|
||||
return {
|
||||
headerTitle: 'Calendário',
|
||||
headerRight: (
|
||||
<View style={{flex:1, flexDirection:'row'}}>
|
||||
<TouchableOpacity style={{marginRight: 20, flex:1, flexDirection:'row'}} onPress={() => navigation.navigate('Edit')}>
|
||||
<Text>FAQ</Text>
|
||||
|
||||
</TouchableOpacity>
|
||||
|
||||
<TouchableOpacity style={{marginRight: 20, flex:1, flexDirection:'row'}} onPress={() => navigation.navigate('choosePath')}>
|
||||
<Text>Escolher</Text>
|
||||
<IconFA name="user-edit" size={22}/>
|
||||
</TouchableOpacity></View>
|
||||
|
||||
)
|
||||
}
|
||||
}
|
||||
else {
|
||||
return {
|
||||
header: null
|
||||
|
|
|
@ -11,7 +11,8 @@ import {
|
|||
StyleSheet,
|
||||
Image,
|
||||
ImageBackground,
|
||||
NetInfo
|
||||
NetInfo,
|
||||
AppState
|
||||
} from 'react-native';
|
||||
|
||||
import {Shadow} from 'react-native-shadow'
|
||||
|
@ -38,10 +39,14 @@ const SCREEN_WIDTH = Dimensions.get("window").width;
|
|||
import {Card, Divider} from 'react-native-elements'
|
||||
|
||||
import RNMaterialShadows from 'react-native-material-shadows';
|
||||
|
||||
|
||||
|
||||
|
||||
class Home extends Component {
|
||||
|
||||
_handleConnectionChange = (isConnected) => {
|
||||
// this.props.dispatch(connectionState({ status: isConnected }));
|
||||
console.log("fck that")
|
||||
};
|
||||
_refresh() {
|
||||
return new Promise((resolve) => {
|
||||
setTimeout(()=>{resolve()}, 2000)
|
||||
|
@ -60,21 +65,27 @@ class Home extends Component {
|
|||
token: {valid: false},
|
||||
logged: true,
|
||||
onHold: true,
|
||||
user: {Name: ''}
|
||||
user: {Name: ''},
|
||||
userDetails:{},
|
||||
appState: AppState.currentState,
|
||||
};
|
||||
}
|
||||
handleConnectivityChange = () => {
|
||||
handleConnectivityChange = () => {
|
||||
console.log("asdasdasdasdasd");
|
||||
}
|
||||
componentDidMount() {
|
||||
NetInfo.isConnected.addEventListener('connectionChange', this.handleConnectivityChange);
|
||||
|
||||
this.props.hold();
|
||||
componentDidMount() {
|
||||
|
||||
// NetInfo.isConnected.addEventListener('connectionChange', this.handleConnectivityChange);
|
||||
|
||||
// this.props.hold();
|
||||
console.log("hold"+ this.props.onHold)
|
||||
//this.props.logoutUser();
|
||||
|
||||
//console.log(this.props.token);
|
||||
|
||||
this.props.getUserInfo(this.props.token);
|
||||
|
||||
// this.props.getUserInfo(this.props.userDetails.token);
|
||||
|
||||
|
||||
//console.log('logged:'+this.props.logged);
|
||||
|
@ -85,7 +96,7 @@ class Home extends Component {
|
|||
|
||||
}
|
||||
componentWillUnmount() {
|
||||
NetInfo.isConnected.removeEventListener('connectionChange', this.handleConnectivityChange);
|
||||
|
||||
}
|
||||
|
||||
bClick() {
|
||||
|
@ -101,8 +112,8 @@ class Home extends Component {
|
|||
//var navigate = this.props.navigation.navigate
|
||||
}
|
||||
_update=()=>{
|
||||
if(this.props.token!= undefined)
|
||||
this.props.getUserInfo(this.props.token);
|
||||
|
||||
this.props.getUserInfo(this.props.userDetails.token);
|
||||
|
||||
}
|
||||
|
||||
|
@ -342,7 +353,9 @@ function mapStateToProps(state, props) {
|
|||
|
||||
token: state.apiReducer.token,
|
||||
user: state.apiReducer.user,
|
||||
logged: state.apiReducer.logged
|
||||
logged: state.apiReducer.logged,
|
||||
userDetails: state.apiReducer.userDetails,
|
||||
onHold: state.apiReducer.onHold
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,7 +7,11 @@ import {
|
|||
ScrollView,
|
||||
Text,
|
||||
Button,
|
||||
TouchableOpacity
|
||||
TouchableOpacity,
|
||||
Picker,
|
||||
CheckBox,
|
||||
ActivityIndicator,
|
||||
SectionList
|
||||
} from 'react-native';
|
||||
|
||||
import {TabView, TabBar, SceneMap} from 'react-native-tab-view';
|
||||
|
@ -32,8 +36,8 @@ const SCREEN_WIDTH = Dimensions.get("window").width;
|
|||
import FitImage from 'react-native-fit-image';
|
||||
|
||||
import { Dropdown } from 'react-native-material-dropdown';
|
||||
|
||||
|
||||
import {Card, Divider} from 'react-native-elements'
|
||||
import IconF from "react-native-vector-icons/Foundation"
|
||||
const formatObj = (obj) => {
|
||||
|
||||
let a = {};
|
||||
|
@ -48,13 +52,24 @@ const formatObj = (obj) => {
|
|||
|
||||
class choosePath extends React.Component {
|
||||
|
||||
state = {
|
||||
static navigationOptions = ({ navigation }) => ({
|
||||
|
||||
headerTitleStyle : {textAlign: 'center',alignSelf:'center'},
|
||||
headerStyle:{
|
||||
backgroundColor:'rgba(0,0,0,0)',
|
||||
shadowRadius:0,
|
||||
elevation:0
|
||||
},
|
||||
});
|
||||
|
||||
state = {
|
||||
calendar:{}
|
||||
};
|
||||
|
||||
componentDidMount() {
|
||||
|
||||
this.props.getEvents(this.props.user);
|
||||
// this.props.getEvents(this.props.user);
|
||||
this.props.getAvailableGuestlists(this.props.userDetails.token)
|
||||
console.log('didMount');
|
||||
console.log(this.props.events);
|
||||
}
|
||||
|
@ -79,97 +94,238 @@ class choosePath extends React.Component {
|
|||
|
||||
]
|
||||
}
|
||||
getCareerPaths=()=>{
|
||||
|
||||
this.props.getAvailableGuestlists(this.props.userDetails.token)
|
||||
console.log(this.props.calendar)
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
render() {
|
||||
let data = [{
|
||||
value: 'Desenvolvimento Web',
|
||||
}, {
|
||||
value: 'Inteligencia artificial',
|
||||
}, {
|
||||
value: 'Redes e segurança',
|
||||
}];
|
||||
|
||||
|
||||
|
||||
return (
|
||||
<View style={{width:SCREEN_WIDTH*0.7}}>
|
||||
<Dropdown
|
||||
label='Career Path'
|
||||
data={data}
|
||||
|
||||
/>
|
||||
</View>
|
||||
<ScrollView style={styles.page}>
|
||||
|
||||
<View style={styles.companyContainer}>
|
||||
|
||||
</View>
|
||||
|
||||
<View style={{flex:1,width:SCREEN_WIDTH*0.7, alignContent:'center'}}>
|
||||
|
||||
|
||||
<View style={styles.pickerCareer}>
|
||||
<Picker
|
||||
selectedValue={this.state.guest}
|
||||
style={{width:'100%'}}
|
||||
onValueChange={(itemValue, itemIndex) =>{
|
||||
this.setState({guest: itemValue})
|
||||
this.props.waitChangeGuest();
|
||||
this.props.changeGuestList(this.props.userDetails.token,itemValue)
|
||||
this.props.waitChangeGuest();
|
||||
this.props.getAvailableSessions(this.props.userDetails.token);
|
||||
|
||||
|
||||
}
|
||||
|
||||
}>
|
||||
<Picker.Item label="Inteligência Artificial" value="9" />
|
||||
<Picker.Item label="Redes e Segurança" value="10" />
|
||||
<Picker.Item label="Data Science" value="15" />
|
||||
<Picker.Item label="Desenvolvimento Web" value="14" />
|
||||
<Picker.Item label="Internet das Coisas" value="12" />
|
||||
<Picker.Item label="Desenvolvimento Mobile" value="11" />
|
||||
|
||||
</Picker>
|
||||
</View>
|
||||
|
||||
|
||||
<SectionList
|
||||
renderItem={({item, index, section}) => <Text key={index}>{item}</Text>}
|
||||
renderSectionHeader={({section: {title}}) => (
|
||||
<Text style={{fontWeight: 'bold'}}>{title}</Text>
|
||||
)}
|
||||
sections={[
|
||||
{title: 'Title1', data: ['item1', 'item2']},
|
||||
{title: 'Title2', data: ['item3', 'item4']},
|
||||
{title: 'Title3', data: ['item5', 'item6']},
|
||||
]}
|
||||
keyExtractor={(item, index) => item + index}
|
||||
/>
|
||||
</View >
|
||||
{ !this.props.changingGuest &&
|
||||
|
||||
<View style={styles.block}>
|
||||
|
||||
<View style={styles.time}>
|
||||
<Text style={
|
||||
{
|
||||
margin:10,
|
||||
fontSize:25,
|
||||
color:'#CC1A17',
|
||||
marginBottom:0
|
||||
}
|
||||
}>
|
||||
9:00</Text>
|
||||
<Text style={{marginLeft:20}}>até</Text>
|
||||
<Text style={
|
||||
{
|
||||
margin:10,
|
||||
fontSize:25,
|
||||
color:'#CC1A17',
|
||||
marginTop:5
|
||||
}
|
||||
}>
|
||||
9:30</Text>
|
||||
|
||||
</View>
|
||||
|
||||
<View style={styles.sessions}>
|
||||
|
||||
<View style={styles.session}>
|
||||
|
||||
<CheckBox
|
||||
style={{margin:10}}
|
||||
value={this.state.checkbox1}
|
||||
onChange={() => this.setState({ checkbox1: !this.state.checkbox1 })}
|
||||
/>
|
||||
<TouchableOpacity><View style={styles.sessionInfo}>
|
||||
<Text style={styles.sessionTitle}>Nome da palestra</Text>
|
||||
<Text style={{marginTop:10, marginBottom:5}}>12 Lugares disponíveis</Text>
|
||||
<Progress.Bar color={'#000000'} progress={0.3} unfilledColor={'white'} width={150}/>
|
||||
</View></TouchableOpacity>
|
||||
|
||||
|
||||
|
||||
</View>
|
||||
|
||||
<Divider style={{ backgroundColor: '#eeeeee' }} />
|
||||
|
||||
<View style={styles.session}>
|
||||
|
||||
<CheckBox
|
||||
style={{margin:10}}
|
||||
value={this.state.checkbox1}
|
||||
onChange={() => this.setState({ checkbox1: !this.state.checkbox1 })}
|
||||
/>
|
||||
<TouchableOpacity><View style={styles.sessionInfo}>
|
||||
<Text style={styles.sessionTitle}>Nome da palestra</Text>
|
||||
<Text style={{marginTop:10, marginBottom:5}}>12 Lugares disponíveis</Text>
|
||||
<Progress.Bar color={'#000000'} progress={0.3} unfilledColor={'white'} width={150}/>
|
||||
</View></TouchableOpacity>
|
||||
|
||||
|
||||
|
||||
</View>
|
||||
|
||||
<Divider style={{ backgroundColor: '#eeeeee' }} />
|
||||
|
||||
<View style={styles.session}>
|
||||
|
||||
<CheckBox
|
||||
style={{margin:10}}
|
||||
value={this.state.checkbox1}
|
||||
onChange={() => this.setState({ checkbox1: !this.state.checkbox1 })}
|
||||
/>
|
||||
<TouchableOpacity><View style={styles.sessionInfo}>
|
||||
<Text style={styles.sessionTitle}>Nome da palestra</Text>
|
||||
<Text style={{marginTop:10, marginBottom:5}}>12 Lugares disponíveis</Text>
|
||||
<Progress.Bar color={'#000000'} progress={0.3} unfilledColor={'white'} width={150}/>
|
||||
</View></TouchableOpacity>
|
||||
|
||||
|
||||
|
||||
</View>
|
||||
|
||||
<Divider style={{ backgroundColor: '#eeeeee' }} />
|
||||
|
||||
|
||||
|
||||
</View>
|
||||
</View>
|
||||
}
|
||||
{this.props.changingGuest &&
|
||||
|
||||
<ActivityIndicator size="large" color="red"/>
|
||||
}
|
||||
|
||||
|
||||
|
||||
</ScrollView>
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
const styles = StyleSheet.create({
|
||||
|
||||
carreerPathContainer:{
|
||||
backgroundColor:'#CC1A17',
|
||||
height:50,
|
||||
flex:1,
|
||||
alignItems:'center',
|
||||
justifyContent:'center',
|
||||
paddingTop:15,
|
||||
sessionInfo:{
|
||||
margin:5
|
||||
},
|
||||
carreerPathText:{
|
||||
|
||||
height:50,
|
||||
color:'white',
|
||||
fontWeight:'bold',
|
||||
sessionTitle:{
|
||||
fontSize:15,
|
||||
fontWeight:'bold'
|
||||
},
|
||||
day:{
|
||||
margin:10
|
||||
},
|
||||
dayText:{
|
||||
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: {
|
||||
color: '#CC1A17',
|
||||
textAlign: 'center',
|
||||
|
||||
},
|
||||
company:{
|
||||
time:{
|
||||
alignContent:'center',
|
||||
width:SCREEN_WIDTH*0.20,
|
||||
backgroundColor:'white'
|
||||
},
|
||||
|
||||
block:{
|
||||
|
||||
flex:1,
|
||||
flexDirection:'row',
|
||||
// backgroundColor:'red',
|
||||
color:'black'
|
||||
},
|
||||
|
||||
companyLogoContainer:{
|
||||
flex:1,
|
||||
justifyContent: 'center',
|
||||
width:'60%',
|
||||
// backgroundColor:'white',
|
||||
margin:20,
|
||||
|
||||
backgroundColor:'red',
|
||||
margin:10,
|
||||
borderRadius:5
|
||||
|
||||
},
|
||||
aboutCompany:{
|
||||
width:SCREEN_WIDTH,
|
||||
flex:1,
|
||||
justifyContent: 'center',
|
||||
alignItems: 'center',
|
||||
}
|
||||
|
||||
companyContainer:{
|
||||
flex:1,
|
||||
backgroundColor:'blue',
|
||||
height:SCREEN_HEIGHT*0.25,
|
||||
|
||||
},
|
||||
|
||||
|
||||
sessions:{
|
||||
flex:1,
|
||||
flexDirection:'column',
|
||||
|
||||
backgroundColor:'white',
|
||||
|
||||
},
|
||||
|
||||
page:{
|
||||
backgroundColor:'#eeeeee',
|
||||
|
||||
},
|
||||
pickerCareer:{
|
||||
|
||||
paddingLeft:30,
|
||||
paddingRight:30,
|
||||
backgroundColor:'white',
|
||||
width:SCREEN_WIDTH,
|
||||
|
||||
},
|
||||
session:{
|
||||
margin:10,
|
||||
flex:1,
|
||||
flexDirection:'row',
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
@ -179,10 +335,15 @@ function mapStateToProps(state, props) {
|
|||
|
||||
return {
|
||||
|
||||
token: state.apiReducer.token,
|
||||
// token: state.apiReducer.token,
|
||||
user: state.apiReducer.user,
|
||||
logged: state.apiReducer.logged,
|
||||
events: state.apiReducer.events
|
||||
events: state.apiReducer.events,
|
||||
userDetails: state.apiReducer.userDetails,
|
||||
calendar : state.apiReducer.calendar,
|
||||
changingGuest : state.apiReducer.changingGuest,
|
||||
sessions:state.apiReducer.sessions,
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,7 +11,12 @@ export const HOLD='HOLD'
|
|||
export const GET_EVENTS='GET_EVENTS'
|
||||
|
||||
|
||||
|
||||
//API BLUETREND CALENDÁRIO
|
||||
export const GET_CAREERS='GET_CAREERS' //GET GEST LISTS
|
||||
export const CHANGE_GUEST = 'CHANGE_GUEST'
|
||||
export const GET_SESSIONS= 'GET_SESSIONS'
|
||||
export const SIGN_SESSION= 'SIGN_SESSION'
|
||||
export const WAIT_CHANGE='WAIT_CHANGE'
|
||||
|
||||
|
||||
//UI
|
||||
|
|
|
@ -1,48 +1,175 @@
|
|||
import { AsyncStorage } from 'react-native';
|
||||
const axios = require('axios');
|
||||
|
||||
import { NetInfo } from 'react-native';
|
||||
|
||||
|
||||
import { DATA_AVAILABLE, API_LOGIN, CHECK_USER, LOGOUT_USER, USER_INFO, HOLD, GET_EVENTS } from "./actionTypes" //Import the actions types constant we defined in our actions
|
||||
import { DATA_AVAILABLE, API_LOGIN, CHECK_USER, LOGOUT_USER, USER_INFO, HOLD, GET_EVENTS, GET_CAREERS, GET_SESSIONS, CHANGE_GUEST, WAIT_CHANGE } from "./actionTypes" //Import the actions types constant we defined in our actions
|
||||
|
||||
import moment from 'moment'
|
||||
|
||||
import { compose } from 'redux';
|
||||
|
||||
const axios = require('axios');
|
||||
|
||||
|
||||
export const waitChangeGuest= ()=>{
|
||||
return (dispatch)=>{
|
||||
dispatch({
|
||||
type: WAIT_CHANGE,
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export const connectionState = (status) => {
|
||||
|
||||
console.log(status);
|
||||
return { type: 'CHANGE_CONNECTION_STATUS', isConnected: status };
|
||||
};
|
||||
|
||||
|
||||
|
||||
export function getEvents(user){
|
||||
|
||||
///Attendee/AvailableGuestlists
|
||||
|
||||
|
||||
axios.defaults.baseURL = 'http://enei2019.uingress.com/internal/api'
|
||||
|
||||
export function getAvailableGuestlists(token){
|
||||
|
||||
|
||||
|
||||
axios.defaults.headers.common = {'Authorization': `bearer ${token.access_token}`}
|
||||
|
||||
return (dispatch)=>{
|
||||
|
||||
axios.get('/Attendee/AvailableGuestlists')
|
||||
.then(function (response) {
|
||||
|
||||
// handle success
|
||||
console.log(response);
|
||||
dispatch({
|
||||
type: GET_CAREERS,
|
||||
guests: response.data
|
||||
|
||||
});
|
||||
})
|
||||
.catch(function (error) {
|
||||
// handle error
|
||||
console.log(error);
|
||||
})
|
||||
.then(function () {
|
||||
// always executed
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
8 - group
|
||||
9 - IA
|
||||
10 - NET
|
||||
11 - MOB
|
||||
12 - IOT
|
||||
14 - WB
|
||||
15 - DS
|
||||
|
||||
*/
|
||||
export function changeGuestList(token, guestID){
|
||||
//http://enei2019.uingress.com/internal/api/Attendee/ChangeGuestlist/
|
||||
|
||||
|
||||
axios.defaults.headers.common = {'Authorization': `bearer ${token.access_token}`}
|
||||
|
||||
|
||||
return (dispatch)=>{
|
||||
|
||||
var full= `/Attendee/ChangeGuestlist/${guestID}`
|
||||
console.log(full)
|
||||
axios.get(full)
|
||||
.then(function (response) {
|
||||
|
||||
// handle success
|
||||
console.log(response);
|
||||
dispatch({
|
||||
type: CHANGE_GUEST,
|
||||
//guests: response.data
|
||||
|
||||
});
|
||||
})
|
||||
.catch(function (error) {
|
||||
// handle error
|
||||
console.log(response);
|
||||
console.log(error);
|
||||
})
|
||||
.then(function () {
|
||||
// always executed
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
export function getAvailableSessions(token){
|
||||
//http://enei2019.uingress.com/internal/api/Attendee/AvailableSessions
|
||||
|
||||
axios.defaults.baseURL = 'http://enei2019.uingress.com/internal/api'
|
||||
|
||||
axios.defaults.headers.common = {'Authorization': `bearer ${token.access_token}`}
|
||||
|
||||
return (dispatch)=>{
|
||||
|
||||
axios.get('/Attendee/AvailableSessions')
|
||||
.then(function (response) {
|
||||
|
||||
// handle success
|
||||
console.log(response);
|
||||
dispatch({
|
||||
type: GET_SESSIONS,
|
||||
sessions: response.data
|
||||
|
||||
});
|
||||
})
|
||||
.catch(function (error) {
|
||||
// handle error
|
||||
console.log(error);
|
||||
})
|
||||
.then(function () {
|
||||
// always executed
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export function getEvents(user){
|
||||
|
||||
return (dispatch)=>{
|
||||
|
||||
let events = [];
|
||||
console.log("chegou aqui")
|
||||
|
||||
|
||||
for(let key in user.Sessions){
|
||||
for(let key in user.Sessions){
|
||||
|
||||
events.push({
|
||||
time: moment(user.Sessions[key].SessionStart).format('h:mm'),
|
||||
timeEnd: moment(user.Sessions[key].SessionEnd).format('h:mm'),
|
||||
//lineColor:'#009688',
|
||||
imageUrl: 'https://d2v9y0dukr6mq2.cloudfront.net/video/thumbnail/Vjkyj2hBg/welcome-white-sign-with-falling-colorful-confetti-animation-on-white-background_sglmmh3qm__F0013.png',
|
||||
description:user.Sessions[key].Description,
|
||||
name:user.Sessions[key].Name,
|
||||
Enrolled:user.Sessions[key].Enrolled,
|
||||
MaxAttendees:user.Sessions[key].MaxAttendees
|
||||
events.push({
|
||||
time: moment(user.Sessions[key].SessionStart).format('h:mm'),
|
||||
timeEnd: moment(user.Sessions[key].SessionEnd).format('h:mm'),
|
||||
//lineColor:'#009688',
|
||||
imageUrl: 'https://d2v9y0dukr6mq2.cloudfront.net/video/thumbnail/Vjkyj2hBg/welcome-white-sign-with-falling-colorful-confetti-animation-on-white-background_sglmmh3qm__F0013.png',
|
||||
description:user.Sessions[key].Description,
|
||||
name:user.Sessions[key].Name,
|
||||
Enrolled:user.Sessions[key].Enrolled,
|
||||
MaxAttendees:user.Sessions[key].MaxAttendees
|
||||
})
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
dispatch({
|
||||
dispatch({
|
||||
type: GET_EVENTS,
|
||||
events: events
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const saveToken = async token => {
|
||||
|
@ -86,9 +213,11 @@ const saveToken = async token => {
|
|||
console.log(error.message);
|
||||
}
|
||||
return obj;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
const deleteToken = async () => {
|
||||
|
||||
try {
|
||||
await AsyncStorage.removeItem('userToken');
|
||||
await AsyncStorage.removeItem('expirationDateToken');
|
||||
|
@ -166,7 +295,8 @@ export function login(user, pass){
|
|||
type: API_LOGIN,
|
||||
logged:false,
|
||||
failedAttempt:true,
|
||||
token: obj
|
||||
token: obj,
|
||||
user:{Name:'Henrique'}
|
||||
|
||||
});
|
||||
}
|
||||
|
@ -176,39 +306,21 @@ export function login(user, pass){
|
|||
refreshToken:parsed.refresh_token,
|
||||
valid:true
|
||||
};
|
||||
|
||||
var details={
|
||||
username:user,
|
||||
password:pass
|
||||
}
|
||||
dispatch({
|
||||
type: API_LOGIN,
|
||||
logged:true,
|
||||
failedAttempt:false,
|
||||
token:obj,
|
||||
user:{Name:'Henrique'},
|
||||
userDetails: details
|
||||
|
||||
|
||||
|
||||
// deviceStorage.saveItem(parsed.access_token);
|
||||
|
||||
saveToken(obj).then(a=>{
|
||||
|
||||
obj.valid=true;
|
||||
|
||||
|
||||
dispatch({
|
||||
type: API_LOGIN,
|
||||
logged:true,
|
||||
failedAttempt:false,
|
||||
token: obj
|
||||
|
||||
});
|
||||
|
||||
}).catch(a=>{
|
||||
|
||||
console.log('error saving')
|
||||
|
||||
obj.valid=false;
|
||||
|
||||
dispatch({
|
||||
type: API_LOGIN,
|
||||
logged:false,
|
||||
failedAttempt:true,
|
||||
token: obj
|
||||
|
||||
|
||||
});
|
||||
})
|
||||
});
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
@ -232,13 +344,14 @@ export function hold(){
|
|||
|
||||
export function getUserInfo(token){
|
||||
|
||||
|
||||
|
||||
return (dispatch)=>{
|
||||
|
||||
//TODO: verificar validade do token
|
||||
|
||||
console.log('Chamada "getUserInfo"');
|
||||
|
||||
|
||||
var obj = {
|
||||
|
||||
method: 'GET',
|
||||
|
@ -290,124 +403,262 @@ export function logoutUser(){
|
|||
}
|
||||
|
||||
//
|
||||
function refreshToken(){
|
||||
|
||||
export function checkUser(){
|
||||
refresh=a.refreshToken
|
||||
|
||||
//chamar funçao para renovar
|
||||
console.log("expirou")
|
||||
|
||||
var details = {
|
||||
|
||||
return (dispatch)=>{
|
||||
'grant_type': 'refresh_token',
|
||||
'refresh_token':refresh
|
||||
|
||||
};
|
||||
|
||||
var formBody = [];
|
||||
|
||||
for (var property in details) {
|
||||
|
||||
var encodedKey = encodeURIComponent(property);
|
||||
|
||||
var encodedValue = encodeURIComponent(details[property]);
|
||||
|
||||
formBody.push(encodedKey + "=" + encodedValue);
|
||||
|
||||
}
|
||||
|
||||
formBody = formBody.join("&");
|
||||
|
||||
fetch('http://enei2019.uingress.com/internal/api/token', {
|
||||
|
||||
method: 'POST',
|
||||
|
||||
headers: {
|
||||
|
||||
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'
|
||||
},
|
||||
|
||||
getToken().then(a=>{
|
||||
body: formBody
|
||||
|
||||
}).then(res=>res.json()).then(parsed=>{
|
||||
|
||||
console.log(parsed);
|
||||
|
||||
if(parsed.error=='invalid_grant'){
|
||||
|
||||
console.log(formBody);
|
||||
dispatch({type: CHECK_USER, token:'', logged:false, onHold:false});
|
||||
|
||||
}else{
|
||||
|
||||
var obj={
|
||||
access_token:parsed.access_token,
|
||||
expirationDateToken:Math.round(new Date().getTime()/1000) + 3598,
|
||||
refreshToken:parsed.refresh_token,
|
||||
valid:true
|
||||
|
||||
|
||||
if(a.access_token=='none'){
|
||||
|
||||
a.valid=false;
|
||||
|
||||
console.log('token não existe em memória')
|
||||
|
||||
dispatch({type: CHECK_USER,token:a,logged:false, onHold:false});
|
||||
|
||||
}
|
||||
else{
|
||||
|
||||
a.valid=true;
|
||||
};
|
||||
|
||||
// deleteToken();
|
||||
saveToken(obj).then(a=>{
|
||||
console.log("Token guardado" )
|
||||
console.log(obj)
|
||||
dispatch({type: CHECK_USER, token:obj, logged:true, onHold:false});
|
||||
|
||||
console.log('Existe Token em memória :'+ a.refreshToken )
|
||||
|
||||
//se expirar
|
||||
if(Math.round(new Date().getTime()/1000) >= a.expirationDateToken){
|
||||
|
||||
refresh=a.refreshToken
|
||||
|
||||
//chamar funçao para renovar
|
||||
console.log("expirou")
|
||||
|
||||
var details = {
|
||||
})
|
||||
}
|
||||
|
||||
'grant_type': 'refresh_token',
|
||||
'refresh_token':refresh
|
||||
|
||||
};
|
||||
|
||||
}).catch(a=>{
|
||||
console.log("erro na api")
|
||||
dispatch({type: CHECK_USER, token:'', logged:false, onHold:false});
|
||||
})
|
||||
|
||||
var formBody = [];
|
||||
}
|
||||
|
||||
refreshLogin= async (user, pass)=>{
|
||||
|
||||
|
||||
console.log("login")
|
||||
|
||||
|
||||
console.log('user: ' +user + ' password: '+pass );
|
||||
|
||||
var details = {
|
||||
'username': user,
|
||||
'password': pass,
|
||||
'grant_type': 'password'
|
||||
};
|
||||
|
||||
var formBody = [];
|
||||
|
||||
for (var property in details) {
|
||||
|
||||
var encodedKey = encodeURIComponent(property);
|
||||
|
||||
var encodedValue = encodeURIComponent(details[property]);
|
||||
|
||||
formBody.push(encodedKey + "=" + encodedValue);
|
||||
|
||||
}
|
||||
|
||||
formBody = formBody.join("&");
|
||||
|
||||
fetch('http://enei2019.uingress.com/internal/api/token', {
|
||||
|
||||
method: 'POST',
|
||||
|
||||
headers: {
|
||||
|
||||
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'
|
||||
},
|
||||
|
||||
body: formBody
|
||||
|
||||
}).catch(err=>{
|
||||
|
||||
console.log(err);
|
||||
|
||||
alert("error");
|
||||
|
||||
|
||||
}).then(res=>res.json()).then(parsed=>{
|
||||
|
||||
if(parsed.error_description=="Provided username and password is incorrect"){
|
||||
|
||||
console.error("cenas da vida")
|
||||
|
||||
}
|
||||
else{
|
||||
|
||||
console.log(parsed)
|
||||
|
||||
var obj={
|
||||
access_token:parsed.access_token,
|
||||
expirationDateToken:Math.round(new Date().getTime()/1000) + 3598,
|
||||
refreshToken:parsed.refresh_token,
|
||||
valid:true
|
||||
};
|
||||
|
||||
go();
|
||||
return obj;
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
|
||||
go=(t)=>{
|
||||
dispatch({type: CHECK_USER, logged:true, onHold:false, user:{Name:'Henrique'}, token:t});
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
export function checkUser(userDetails){
|
||||
|
||||
var u= userDetails;
|
||||
|
||||
return (dispatch)=>{
|
||||
|
||||
//verifica se existe utilizador em memória
|
||||
if(
|
||||
userDetails.username != undefined &&
|
||||
userDetails.username != '' &&
|
||||
userDetails.password != undefined &&
|
||||
userDetails.password != ''
|
||||
|
||||
){
|
||||
|
||||
//verifica a validade do token
|
||||
if(Math.round(new Date().getTime()/1000) >= userDetails.token.expirationDateToken){
|
||||
|
||||
for (var property in details) {
|
||||
|
||||
var details = {
|
||||
'username': userDetails.username,
|
||||
'password': userDetails.password,
|
||||
'grant_type': 'password'
|
||||
};
|
||||
|
||||
var encodedKey = encodeURIComponent(property);
|
||||
|
||||
var encodedValue = encodeURIComponent(details[property]);
|
||||
|
||||
formBody.push(encodedKey + "=" + encodedValue);
|
||||
var formBody = [];
|
||||
|
||||
for (var property in details) {
|
||||
|
||||
var encodedKey = encodeURIComponent(property);
|
||||
|
||||
var encodedValue = encodeURIComponent(details[property]);
|
||||
|
||||
formBody.push(encodedKey + "=" + encodedValue);
|
||||
|
||||
}
|
||||
|
||||
formBody = formBody.join("&");
|
||||
|
||||
fetch('http://enei2019.uingress.com/internal/api/token', {
|
||||
|
||||
method: 'POST',
|
||||
|
||||
headers: {
|
||||
|
||||
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'
|
||||
},
|
||||
|
||||
body: formBody
|
||||
|
||||
}).catch(err=>{
|
||||
|
||||
console.log(err);
|
||||
|
||||
alert("error");
|
||||
|
||||
|
||||
}).then(res=>res.json()).then(parsed=>{
|
||||
|
||||
if(parsed.error_description=="Provided username and password is incorrect"){
|
||||
|
||||
console.error("cenas da vida")
|
||||
|
||||
}
|
||||
|
||||
formBody = formBody.join("&");
|
||||
|
||||
fetch('http://enei2019.uingress.com/internal/api/token', {
|
||||
|
||||
method: 'POST',
|
||||
|
||||
headers: {
|
||||
|
||||
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'
|
||||
},
|
||||
|
||||
body: formBody
|
||||
|
||||
}).then(res=>res.json()).then(parsed=>{
|
||||
|
||||
console.log(parsed);
|
||||
|
||||
if(parsed.error=='invalid_grant'){
|
||||
|
||||
console.log(formBody);
|
||||
dispatch({type: CHECK_USER, token:'', logged:false, onHold:false});
|
||||
|
||||
}else{
|
||||
|
||||
else{
|
||||
|
||||
console.log(parsed)
|
||||
|
||||
var obj={
|
||||
access_token:parsed.access_token,
|
||||
expirationDateToken:Math.round(new Date().getTime()/1000) + 3598,
|
||||
refreshToken:parsed.refresh_token,
|
||||
valid:true
|
||||
|
||||
|
||||
};
|
||||
|
||||
// deleteToken();
|
||||
saveToken(obj).then(a=>{
|
||||
console.log("Token guardado" )
|
||||
console.log(obj)
|
||||
dispatch({type: CHECK_USER, token:obj, logged:true, onHold:false});
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
}).catch(a=>{
|
||||
console.log("erro na api")
|
||||
dispatch({type: CHECK_USER, token:'', logged:false, onHold:false});
|
||||
})
|
||||
|
||||
|
||||
|
||||
}else{
|
||||
|
||||
console.log("Tempo restante token: "+ Math.round((a.expirationDateToken-Math.round(new Date().getTime()/1000) )/60) +" Minutos");
|
||||
dispatch({type: CHECK_USER, logged:true, onHold:false, userDetails:u,token:obj});
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
)
|
||||
}else{
|
||||
console.log("Tempo restante token: "+ Math.round((userDetails.token.expirationDateToken-Math.round(new Date().getTime()/1000) )/60) +" Minutos");
|
||||
|
||||
//fazer validação da data e renovar o token
|
||||
|
||||
dispatch({type: CHECK_USER, token:a, logged:true, onHold:false, user:{Name:'Henrique'}});
|
||||
}
|
||||
//dispatch home
|
||||
dispatch({type: CHECK_USER, logged:true, onHold:false, user:{Name:'Henrique'},userDetails:u});
|
||||
|
||||
}
|
||||
|
||||
|
||||
}).catch(a=>{
|
||||
|
||||
console.log('erro a ler o token'+ a);
|
||||
dispatch({type: CHECK_USER,token:false, logged:false, user:''});
|
||||
})
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
//utilizador não existe em memória
|
||||
else{
|
||||
|
||||
dispatch({type: CHECK_USER,logged:false, onHold:false,userDetails:u});
|
||||
//dispatch menu de login
|
||||
}
|
||||
}}
|
|
@ -1,5 +1,17 @@
|
|||
export {checkUser, login,getEvents, hold, getUserInfo,logoutUser} from "./api"
|
||||
export {openScannerLogin,closeLoginQRScan}from "./ui"
|
||||
export {checkUser,
|
||||
login,getEvents,
|
||||
hold, getUserInfo,
|
||||
logoutUser,
|
||||
getAvailableGuestlists,
|
||||
changeGuestList,
|
||||
waitChangeGuest,
|
||||
getAvailableSessions
|
||||
} from "./api"
|
||||
|
||||
export {
|
||||
openScannerLogin,
|
||||
closeLoginQRScan
|
||||
}from "./ui"
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -1,45 +1,111 @@
|
|||
import { DATA_AVAILABLE, API_LOGIN, CHECK_USER, LOGOUT_USER, USER_INFO, HOLD, GET_EVENTS } from "../actions/actionTypes" //Import the actions types constant we defined in our actions
|
||||
import { DATA_AVAILABLE, API_LOGIN, CHECK_USER, LOGOUT_USER, USER_INFO, HOLD, GET_EVENTS, GET_CAREERS, CHANGE_GUEST, WAIT_CHANGE, GET_SESSIONS } from "../actions/actionTypes" //Import the actions types constant we defined in our actions
|
||||
import { REHYDRATE } from 'redux-persist';
|
||||
|
||||
let apiState= { isConnected:false, token:{valid:false}, tokenData:'error', logged:false, onHold:true,user:{}, events:[], failedAttempt:false}
|
||||
let apiState= {
|
||||
|
||||
isConnected:false,
|
||||
logged:false,
|
||||
onHold:true,user:{},
|
||||
events:[],
|
||||
failedAttempt:false,
|
||||
userDetails:{
|
||||
username:'',
|
||||
password:'',
|
||||
token:{
|
||||
expirationDateToken:0,
|
||||
access_token:''
|
||||
}
|
||||
},
|
||||
calendar:{
|
||||
|
||||
},
|
||||
changingGuest:false,
|
||||
sessions:{}
|
||||
|
||||
}
|
||||
|
||||
const apiReducer = (state = apiState, action) => {
|
||||
|
||||
switch(action.type){
|
||||
|
||||
case REHYDRATE:
|
||||
console.log( action.payload)
|
||||
return {
|
||||
// ...state,
|
||||
// logged:false,
|
||||
//onHold:true,
|
||||
|
||||
user: action.payload.apiReducer.user
|
||||
|
||||
console.log( action.payload)
|
||||
|
||||
var expirationDateTokenA=0;
|
||||
var access_tokenA='';
|
||||
|
||||
if(action.payload.apiReducer.userDetails.token!=undefined){
|
||||
|
||||
if(action.payload.apiReducer.userDetails.token.expirationDateToken!= undefined){
|
||||
|
||||
expirationDateTokenA= action.payload.apiReducer.userDetails.token.expirationDateToken;
|
||||
}
|
||||
|
||||
if((action.payload.apiReducer.userDetails.token.access_token!= undefined)){
|
||||
|
||||
access_tokenA= action.payload.apiReducer.userDetails.token.access_token;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return {
|
||||
|
||||
// token: action.payload.apiReducer.token,
|
||||
user: action.payload.apiReducer.user,
|
||||
|
||||
userDetails:{
|
||||
token:{
|
||||
expirationDateToken: expirationDateTokenA,
|
||||
access_token:access_tokenA,
|
||||
|
||||
},
|
||||
username:action.payload.apiReducer.userDetails.username,
|
||||
password:action.payload.apiReducer.userDetails.password
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
case 'CHANGE_CONNECTION_STATUS':
|
||||
return Object.assign({}, state, {
|
||||
isConnected: action.isConnected,
|
||||
});
|
||||
|
||||
|
||||
|
||||
case HOLD:
|
||||
|
||||
state=Object.assign({},state, { onHold:true });
|
||||
return state;
|
||||
|
||||
case API_LOGIN:
|
||||
|
||||
state=Object.assign({},state, { logged:action.logged, token:action.token, failedAttempt: action.failedAttempt, user:user});
|
||||
|
||||
|
||||
state=Object.assign({},state, {
|
||||
logged:action.logged,
|
||||
//token:action.token,
|
||||
failedAttempt: action.failedAttempt,
|
||||
user:action.user,
|
||||
userDetails: {token:action.token, username:action.userDetails.username, password:action.userDetails.password},
|
||||
|
||||
|
||||
});
|
||||
|
||||
return state;
|
||||
|
||||
case CHECK_USER:
|
||||
|
||||
state=Object.assign({},state, { token:action.token,logged:action.logged, onHold:action.onHold});
|
||||
|
||||
var u= action.userDetails;
|
||||
if(action.token!=undefined)
|
||||
u.token= action.token;
|
||||
|
||||
state=Object.assign({},state, {logged:action.logged, onHold:action.onHold, userDetails:u });
|
||||
|
||||
return state;
|
||||
|
||||
case LOGOUT_USER:
|
||||
|
||||
state=Object.assign({},state, { token:action.token, logged:false});
|
||||
state=Object.assign({},state, { logged:false});
|
||||
|
||||
return state;
|
||||
|
||||
|
@ -54,9 +120,58 @@ const apiReducer = (state = apiState, action) => {
|
|||
state=Object.assign({},state, { events: action.events});
|
||||
|
||||
return state;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
case GET_CAREERS:
|
||||
var c= {
|
||||
guests:action.guests
|
||||
}
|
||||
state=Object.assign({},state, { calendar:c });
|
||||
|
||||
return state;
|
||||
|
||||
case CHANGE_GUEST:
|
||||
state=Object.assign({},state, { changingGuest:false});
|
||||
return state;
|
||||
|
||||
case WAIT_CHANGE:
|
||||
state=Object.assign({},state, { changingGuest:true});
|
||||
return state;
|
||||
|
||||
case GET_SESSIONS:
|
||||
state=Object.assign({},state, { changingGuest:false, sessions:action.sessions});
|
||||
return state;
|
||||
default:
|
||||
return state;
|
||||
}
|
||||
|
|
|
@ -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 */; };
|
||||
|
@ -59,6 +58,8 @@
|
|||
BE5EAB86221B7D5400E92E5B /* Zocial.ttf in Resources */ = {isa = PBXBuildFile; fileRef = BE5EAB77221B7D5400E92E5B /* Zocial.ttf */; };
|
||||
BE5EAC3A221B83CF00E92E5B /* Ionicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = BE302B75221B7C3B005626CF /* Ionicons.ttf */; };
|
||||
BE5EAC41221B889900E92E5B /* libReactNativePermissions.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BE5EAC40221B888C00E92E5B /* libReactNativePermissions.a */; };
|
||||
4EBB88037B054A508BF35245 /* libRNDeviceInfo.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0F42241E0235464C91B24049 /* libRNDeviceInfo.a */; };
|
||||
E677346A94D54E90817979B0 /* libRNDeviceInfo-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3C4D43A092A4408B91B32E76 /* libRNDeviceInfo-tvOS.a */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
|
@ -436,6 +437,9 @@
|
|||
BE5EAC3B221B888C00E92E5B /* ReactNativePermissions.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = ReactNativePermissions.xcodeproj; path = "../node_modules/react-native-permissions/ios/ReactNativePermissions.xcodeproj"; sourceTree = "<group>"; };
|
||||
C00CE8A4E3B747F9816B91CF /* libBVLinearGradient.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libBVLinearGradient.a; sourceTree = "<group>"; };
|
||||
EB0A5A258CBE4EEFAD3C358E /* libRNVectorIcons.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNVectorIcons.a; sourceTree = "<group>"; };
|
||||
5BA133418E6F4967BC5BC234 /* RNDeviceInfo.xcodeproj */ = {isa = PBXFileReference; name = "RNDeviceInfo.xcodeproj"; path = "../node_modules/react-native-device-info/ios/RNDeviceInfo.xcodeproj"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = wrapper.pb-project; explicitFileType = undefined; includeInIndex = 0; };
|
||||
0F42241E0235464C91B24049 /* libRNDeviceInfo.a */ = {isa = PBXFileReference; name = "libRNDeviceInfo.a"; path = "libRNDeviceInfo.a"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; };
|
||||
3C4D43A092A4408B91B32E76 /* libRNDeviceInfo-tvOS.a */ = {isa = PBXFileReference; name = "libRNDeviceInfo-tvOS.a"; path = "libRNDeviceInfo-tvOS.a"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
|
@ -468,6 +472,7 @@
|
|||
139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */,
|
||||
BE104176D74E47E9A369B15A /* libRNVectorIcons.a in Frameworks */,
|
||||
69E1B84AE0DF486CB1B1D226 /* libBVLinearGradient.a in Frameworks */,
|
||||
4EBB88037B054A508BF35245 /* libRNDeviceInfo.a in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
@ -484,6 +489,7 @@
|
|||
2D02E4C71E0B4AEC006451C7 /* libRCTText-tvOS.a in Frameworks */,
|
||||
2D02E4C81E0B4AEC006451C7 /* libRCTWebSocket-tvOS.a in Frameworks */,
|
||||
514DB1DF2E3B452F9EF272E3 /* libRNVectorIcons-tvOS.a in Frameworks */,
|
||||
E677346A94D54E90817979B0 /* libRNDeviceInfo-tvOS.a in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
@ -660,6 +666,7 @@
|
|||
139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */,
|
||||
664970B9D10A41A18B44727F /* RNVectorIcons.xcodeproj */,
|
||||
1908F5E093844AC5A143E888 /* BVLinearGradient.xcodeproj */,
|
||||
5BA133418E6F4967BC5BC234 /* RNDeviceInfo.xcodeproj */,
|
||||
);
|
||||
name = Libraries;
|
||||
sourceTree = "<group>";
|
||||
|
@ -1442,6 +1449,7 @@
|
|||
"$(inherited)",
|
||||
"$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
|
||||
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
|
||||
"$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo",
|
||||
);
|
||||
INFOPLIST_FILE = appTests/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
||||
|
@ -1451,6 +1459,8 @@
|
|||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
);
|
||||
OTHER_LDFLAGS = (
|
||||
"-ObjC",
|
||||
|
@ -1471,6 +1481,7 @@
|
|||
"$(inherited)",
|
||||
"$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
|
||||
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
|
||||
"$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo",
|
||||
);
|
||||
INFOPLIST_FILE = appTests/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
||||
|
@ -1480,6 +1491,8 @@
|
|||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
);
|
||||
OTHER_LDFLAGS = (
|
||||
"-ObjC",
|
||||
|
@ -1502,6 +1515,7 @@
|
|||
"$(inherited)",
|
||||
"$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
|
||||
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
|
||||
"$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo",
|
||||
);
|
||||
INFOPLIST_FILE = app/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
|
@ -1526,6 +1540,7 @@
|
|||
"$(inherited)",
|
||||
"$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
|
||||
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
|
||||
"$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo",
|
||||
);
|
||||
INFOPLIST_FILE = app/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
|
@ -1556,6 +1571,7 @@
|
|||
"$(inherited)",
|
||||
"$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
|
||||
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
|
||||
"$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo",
|
||||
);
|
||||
INFOPLIST_FILE = "app-tvOS/Info.plist";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
|
@ -1564,6 +1580,8 @@
|
|||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
);
|
||||
OTHER_LDFLAGS = (
|
||||
"-ObjC",
|
||||
|
@ -1593,6 +1611,7 @@
|
|||
"$(inherited)",
|
||||
"$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
|
||||
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
|
||||
"$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo",
|
||||
);
|
||||
INFOPLIST_FILE = "app-tvOS/Info.plist";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
|
@ -1601,6 +1620,8 @@
|
|||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
);
|
||||
OTHER_LDFLAGS = (
|
||||
"-ObjC",
|
||||
|
@ -1629,6 +1650,7 @@
|
|||
"$(inherited)",
|
||||
"$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
|
||||
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
|
||||
"$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo",
|
||||
);
|
||||
INFOPLIST_FILE = "app-tvOSTests/Info.plist";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||
|
@ -1637,6 +1659,8 @@
|
|||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
);
|
||||
OTHER_LDFLAGS = (
|
||||
"-ObjC",
|
||||
|
@ -1665,6 +1689,7 @@
|
|||
"$(inherited)",
|
||||
"$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
|
||||
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
|
||||
"$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo",
|
||||
);
|
||||
INFOPLIST_FILE = "app-tvOSTests/Info.plist";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||
|
@ -1673,6 +1698,8 @@
|
|||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
"\"$(SRCROOT)/$(TARGET_NAME)\"",
|
||||
);
|
||||
OTHER_LDFLAGS = (
|
||||
"-ObjC",
|
||||
|
|
|
@ -7807,6 +7807,14 @@
|
|||
"prop-types": "^15.6.2"
|
||||
}
|
||||
},
|
||||
"react-native-check-box": {
|
||||
"version": "2.1.7",
|
||||
"resolved": "https://registry.npmjs.org/react-native-check-box/-/react-native-check-box-2.1.7.tgz",
|
||||
"integrity": "sha512-dPVOoz4jKs2je2HSHp7+XJXNyZFq8Kij7IHutigrQKzB550Dko6ZAQu/1mG1FzdUMFxxkZ2nX59KmbR0Co0T8Q==",
|
||||
"requires": {
|
||||
"prop-types": "^15.5.7"
|
||||
}
|
||||
},
|
||||
"react-native-confirmation-code-input": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/react-native-confirmation-code-input/-/react-native-confirmation-code-input-1.0.4.tgz",
|
||||
|
@ -7816,6 +7824,11 @@
|
|||
"prop-types": "^15.5.10"
|
||||
}
|
||||
},
|
||||
"react-native-device-info": {
|
||||
"version": "0.26.4",
|
||||
"resolved": "https://registry.npmjs.org/react-native-device-info/-/react-native-device-info-0.26.4.tgz",
|
||||
"integrity": "sha512-gQo/hSk26E/gK0W3QvkSv+mrBbceFszezxLfUriK3JbiUwvaOlXm6kru2jAu1XGJzfxo/JUO0Mc0lopqiPgw+A=="
|
||||
},
|
||||
"react-native-elements": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/react-native-elements/-/react-native-elements-1.0.0.tgz",
|
||||
|
@ -7950,6 +7963,11 @@
|
|||
"react-native-animatable": "^1.2.4"
|
||||
}
|
||||
},
|
||||
"react-native-network-info": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/react-native-network-info/-/react-native-network-info-4.0.1.tgz",
|
||||
"integrity": "sha512-ZeSkeBL/fHsFR6sAOVHMd4oMknCwsbEeL+Zewec1/3ielg8k9YcddK3wymXS7kvwV0mTB2ji4X5tI0b7XY0sDA=="
|
||||
},
|
||||
"react-native-permissions": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/react-native-permissions/-/react-native-permissions-1.1.1.tgz",
|
||||
|
|
|
@ -18,7 +18,9 @@
|
|||
"react-native-action-button": "^2.8.5",
|
||||
"react-native-app-intro-slider": "^1.0.1",
|
||||
"react-native-camera": "^1.9.2",
|
||||
"react-native-check-box": "^2.1.7",
|
||||
"react-native-confirmation-code-input": "^1.0.4",
|
||||
"react-native-device-info": "^0.26.4",
|
||||
"react-native-elements": "^1.0.0",
|
||||
"react-native-fit-image": "^1.5.4",
|
||||
"react-native-gesture-handler": "^1.0.15",
|
||||
|
@ -30,6 +32,7 @@
|
|||
"react-native-material-dropdown": "^0.11.1",
|
||||
"react-native-material-shadows": "0.0.2",
|
||||
"react-native-modal": "^7.0.2",
|
||||
"react-native-network-info": "^4.0.1",
|
||||
"react-native-offline": "^4.3.0",
|
||||
"react-native-progress": "^3.5.0",
|
||||
"react-native-pull-to-refresh": "^2.1.3",
|
||||
|
@ -42,6 +45,7 @@
|
|||
"react-native-vector-icons": "^6.1.0",
|
||||
"react-navigation": "^3.0.9",
|
||||
"react-redux": "^6.0.0",
|
||||
"react-timer-mixin": "^0.13.4",
|
||||
"redux": "^4.0.1",
|
||||
"redux-logger": "^3.0.6",
|
||||
"redux-persist": "^5.10.0",
|
||||
|
|
|
@ -736,7 +736,7 @@
|
|||
.affix {
|
||||
position: fixed;
|
||||
}
|
||||
@media (max-width: 768px) {
|
||||
/* @media (max-width: 768px) {
|
||||
.container {
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
|
@ -753,4 +753,4 @@
|
|||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
}
|
||||
}
|
||||
} */
|
|
@ -8,21 +8,21 @@
|
|||
<meta content="width" name="MobileOptimized">
|
||||
<meta content="true" name="HandheldFriendly">
|
||||
<!-- Place favicon.ico in the root directory -->
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
|
||||
<link rel="manifest" href="/site.webmanifest">
|
||||
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#000000">
|
||||
<meta name="msapplication-TileColor" content="#ffffff">
|
||||
<meta name="theme-color" content="#ff0000">
|
||||
<title>ENEI 2019 - Career Path</title>
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="favicon-16x16.png">
|
||||
<link rel="manifest" href="site.webmanifest">
|
||||
<link rel="mask-icon" href="safari-pinned-tab.svg" color="#5bbad5">
|
||||
<meta name="msapplication-TileColor" content="#da532c">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
<title>ENEI'19 - Career Path</title>
|
||||
<meta name="description"
|
||||
content="Página do Encontro Nacional de Estudantes de Informática 2019, no Instituto Superior de Engenharia de Coimbra (ISEC) a realizar-se entre 12 e 15 de abril de 2019. O ENEI pretende oferecer aos estudantes de todo o país um evento que promove a aprendizagem, a troca de ideias e o convívio, enquanto tenta criar fortes ligações com o mundo empresarial.">
|
||||
<meta property="og:locale" content="pt_PT" />
|
||||
<meta property="og:title" content="ENEI 2019 - Career Path" />
|
||||
<meta property="og:title" content="ENEI'19 - Career Path" />
|
||||
<meta property="og:description"
|
||||
content="Página do Encontro Nacional de Estudantes de Informática 2019, no Instituto Superior de Engenharia de Coimbra (ISEC) a realizar-se entre 12 e 15 de abril de 2019. O ENEI pretende oferecer aos estudantes de todo o país um evento que promove a aprendizagem, a troca de ideias e o convívio, enquanto tenta criar fortes ligações com o mundo empresarial." />
|
||||
<meta property="og:site_name" content="ENEI 2019" />
|
||||
<meta property="og:site_name" content="ENEI'19" />
|
||||
<meta property="og:url" content="http://www.enei.pt/career-path.html" />
|
||||
<meta property="og:image" content="http://www.enei.pt/imgs/share-image.jpg" />
|
||||
<meta property="og:type" content="Website" />
|
||||
|
|
|
@ -8,11 +8,11 @@
|
|||
<meta content="width" name="MobileOptimized">
|
||||
<meta content="true" name="HandheldFriendly">
|
||||
<!-- Place favicon.ico in the root directory -->
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
|
||||
<link rel="manifest" href="/site.webmanifest">
|
||||
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="favicon-16x16.png">
|
||||
<link rel="manifest" href="site.webmanifest">
|
||||
<link rel="mask-icon" href="safari-pinned-tab.svg" color="#5bbad5">
|
||||
<meta name="msapplication-TileColor" content="#da532c">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
<title>ENEI'19 - Error</title>
|
||||
|
|
|
@ -8,21 +8,21 @@
|
|||
<meta content="width" name="MobileOptimized">
|
||||
<meta content="true" name="HandheldFriendly">
|
||||
<!-- Place favicon.ico in the root directory -->
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
|
||||
<link rel="manifest" href="/site.webmanifest">
|
||||
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#000000">
|
||||
<meta name="msapplication-TileColor" content="#ffffff">
|
||||
<meta name="theme-color" content="#ff0000">
|
||||
<title>ENEI 2019 - Faqs</title>
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="favicon-16x16.png">
|
||||
<link rel="manifest" href="site.webmanifest">
|
||||
<link rel="mask-icon" href="safari-pinned-tab.svg" color="#5bbad5">
|
||||
<meta name="msapplication-TileColor" content="#da532c">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
<title>ENEI'19 - Faqs</title>
|
||||
<meta name="description"
|
||||
content="Página do Encontro Nacional de Estudantes de Informática 2019, no Instituto Superior de Engenharia de Coimbra (ISEC) a realizar-se entre 12 e 15 de abril de 2019. O ENEI pretende oferecer aos estudantes de todo o país um evento que promove a aprendizagem, a troca de ideias e o convívio, enquanto tenta criar fortes ligações com o mundo empresarial.">
|
||||
<meta property="og:locale" content="pt_PT" />
|
||||
<meta property="og:title" content="ENEI 2019 - Faqs" />
|
||||
<meta property="og:title" content="ENEI'19 - Faqs" />
|
||||
<meta property="og:description"
|
||||
content="Página do Encontro Nacional de Estudantes de Informática 2019, no Instituto Superior de Engenharia de Coimbra (ISEC) a realizar-se entre 12 e 15 de abril de 2019. O ENEI pretende oferecer aos estudantes de todo o país um evento que promove a aprendizagem, a troca de ideias e o convívio, enquanto tenta criar fortes ligações com o mundo empresarial." />
|
||||
<meta property="og:site_name" content="ENEI 2019" />
|
||||
<meta property="og:site_name" content="ENEI'19" />
|
||||
<meta property="og:url" content="http://www.enei.pt/faqs.html" />
|
||||
<meta property="og:image" content="http://www.enei.pt/imgs/share-image.jpg" />
|
||||
<meta property="og:type" content="Website" />
|
||||
|
|
|
@ -8,11 +8,11 @@
|
|||
<meta content="width" name="MobileOptimized">
|
||||
<meta content="true" name="HandheldFriendly">
|
||||
<!-- Place favicon.ico in the root directory -->
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
|
||||
<link rel="manifest" href="/site.webmanifest">
|
||||
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="favicon-16x16.png">
|
||||
<link rel="manifest" href="site.webmanifest">
|
||||
<link rel="mask-icon" href="safari-pinned-tab.svg" color="#5bbad5">
|
||||
<meta name="msapplication-TileColor" content="#da532c">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
<title>ENEI'19 - Bilhetes de Grupo</title>
|
||||
|
|
|
@ -0,0 +1,81 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 283.5 283.5" style="enable-background:new 0 0 283.5 283.5;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.Arched_x0020_Green{fill:url(#SVGID_1_);stroke:#FFFFFF;stroke-width:0.25;stroke-miterlimit:1;}
|
||||
.st0{fill-rule:evenodd;clip-rule:evenodd;fill:none;}
|
||||
.st1{fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_2_);}
|
||||
.st2{fill:#FFFFFF;}
|
||||
</style>
|
||||
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-2108.2813" y1="685.9854" x2="-2107.5742" y2="685.2783">
|
||||
<stop offset="0" style="stop-color:#259E2E"/>
|
||||
<stop offset="0.9831" style="stop-color:#1C381D"/>
|
||||
</linearGradient>
|
||||
<rect x="-282.8" y="-283.5" class="st0" width="850.4" height="850.4"/>
|
||||
<g>
|
||||
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="141.7324" y1="-6.363734e-009" x2="141.7324" y2="282.5799">
|
||||
<stop offset="0.1" style="stop-color:#C4161C"/>
|
||||
<stop offset="0.1774" style="stop-color:#B81319"/>
|
||||
<stop offset="0.5011" style="stop-color:#8C090B"/>
|
||||
<stop offset="0.7528" style="stop-color:#710203"/>
|
||||
<stop offset="0.9" style="stop-color:#670000"/>
|
||||
</linearGradient>
|
||||
<path class="st1" d="M283.5,0.2c-62.4,28-112.1,77.8-140.4,138.9C162.1,96.9,171,49.4,166.9,0H0v283.5h283.5V0.2z"/>
|
||||
<g>
|
||||
<path class="st2" d="M45.2,197.2c-1.4-1.2-2.9-2-4.5-2.5c-1.6-0.5-3.2-0.7-4.7-0.7c-1,0-2,0.1-3,0.4c-1,0.3-1.9,0.8-2.7,1.4
|
||||
c-0.8,0.7-1.4,1.5-1.9,2.6c-0.5,1-0.8,2.3-0.8,3.8v13.2c0,1.5,0.3,2.7,0.8,3.8c0.5,1,1.2,1.9,2,2.5c0.8,0.6,1.7,1.1,2.7,1.4
|
||||
c1,0.3,2,0.5,3,0.5c1.5,0,3.1-0.2,4.6-0.7c1.5-0.4,3.1-1.3,4.7-2.5l4.3,6.9c-1.7,1.4-3.7,2.5-6.1,3.3c-2.4,0.8-4.9,1.2-7.6,1.2
|
||||
c-2.1,0-4.2-0.3-6.3-0.9c-2-0.6-3.9-1.5-5.5-2.7c-1.6-1.2-2.9-2.7-3.9-4.5c-1-1.8-1.5-3.9-1.5-6.4v-16.9c0-2.4,0.5-4.5,1.5-6.3
|
||||
c1-1.8,2.3-3.3,3.9-4.6c1.6-1.2,3.4-2.1,5.5-2.7c2.1-0.6,4.2-0.9,6.3-0.9c2.6,0,5.1,0.4,7.6,1.1c2.4,0.7,4.5,1.8,6.3,3.3
|
||||
L45.2,197.2z"/>
|
||||
<path class="st2" d="M74.8,186.3c2.3,0,4.2,0.4,5.9,1.3c1.6,0.9,3,2,4.1,3.3c1.1,1.4,1.9,2.9,2.4,4.5c0.5,1.7,0.7,3.3,0.7,4.9
|
||||
c0,1.2-0.1,2.4-0.5,3.6c-0.3,1.2-0.8,2.4-1.4,3.5c-0.6,1.1-1.4,2.1-2.3,3.1c-0.9,0.9-2,1.7-3.1,2.3l8.1,18.5h-9.7
|
||||
c-0.2-0.5-0.4-1.2-0.8-2.1c-0.4-0.9-0.8-1.9-1.2-3c-0.5-1.1-0.9-2.2-1.4-3.4c-0.5-1.2-1-2.3-1.4-3.4c-0.5-1.1-0.9-2.1-1.2-3
|
||||
c-0.4-0.9-0.7-1.6-0.9-2.1h-8.1v17h-9v-45.1H74.8z M63.7,206.4h9.1c2.1,0,3.7-0.6,4.7-1.7c1-1.1,1.6-2.6,1.6-4.3
|
||||
c0-1.8-0.5-3.2-1.6-4.3c-1.1-1.1-2.6-1.7-4.7-1.7h-9.1V206.4z"/>
|
||||
<path class="st2" d="M103.2,186.3v45.1h-9v-45.1H103.2z"/>
|
||||
<path class="st2" d="M128.8,194.3v37.1h-9v-37.1h-11.3v-8H140v8H128.8z"/>
|
||||
<path class="st2" d="M154.3,186.3v45.1h-9v-45.1H154.3z"/>
|
||||
<path class="st2" d="M189.3,197.2c-1.4-1.2-2.9-2-4.5-2.5c-1.6-0.5-3.2-0.7-4.7-0.7c-1,0-2,0.1-3,0.4c-1,0.3-1.9,0.8-2.7,1.4
|
||||
c-0.8,0.7-1.4,1.5-1.9,2.6c-0.5,1-0.8,2.3-0.8,3.8v13.2c0,1.5,0.2,2.7,0.8,3.8c0.5,1,1.1,1.9,2,2.5c0.8,0.6,1.7,1.1,2.7,1.4
|
||||
c1,0.3,2,0.5,3,0.5c1.5,0,3.1-0.2,4.6-0.7c1.5-0.4,3.1-1.3,4.7-2.5l4.2,6.9c-1.7,1.4-3.7,2.5-6.1,3.3c-2.4,0.8-4.9,1.2-7.6,1.2
|
||||
c-2.1,0-4.2-0.3-6.3-0.9c-2.1-0.6-3.9-1.5-5.5-2.7c-1.6-1.2-2.9-2.7-3.9-4.5c-1-1.8-1.5-3.9-1.5-6.4v-16.9c0-2.4,0.5-4.5,1.5-6.3
|
||||
c1-1.8,2.3-3.3,3.9-4.6c1.6-1.2,3.4-2.1,5.5-2.7c2.1-0.6,4.2-0.9,6.3-0.9c2.6,0,5.1,0.4,7.6,1.1c2.4,0.7,4.5,1.8,6.3,3.3
|
||||
L189.3,197.2z"/>
|
||||
<path class="st2" d="M222.9,222.1h-15.7l-3,9.3h-9.5l15.8-45.1h9.2l15.7,45.1h-9.8L222.9,222.1z M209.6,214.5h10.9l-1.8-5.8
|
||||
l-3.5-11.9h-0.3l-3.5,11.7L209.6,214.5z"/>
|
||||
<path class="st2" d="M239.3,231.4v-45.1h8.8v37h18.2v8.1H239.3z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path class="st2" d="M32.3,260.9c0,0.8-0.2,1.5-0.5,2c-0.3,0.6-0.7,1.1-1.3,1.5c-0.5,0.4-1.2,0.7-1.9,0.9
|
||||
c-0.7,0.2-1.6,0.3-2.4,0.3c-1.2,0-2.3-0.2-3.3-0.5c-1-0.3-2-0.9-3-1.7l1.5-2c0.7,0.5,1.5,0.9,2.3,1.2c0.8,0.3,1.6,0.4,2.4,0.4
|
||||
c1.1,0,1.9-0.2,2.4-0.7c0.5-0.4,0.8-1,0.8-1.7c0-0.4-0.1-0.8-0.3-1.1c-0.2-0.3-0.5-0.5-0.9-0.7c-0.4-0.2-0.8-0.3-1.3-0.4
|
||||
c-0.5-0.1-1-0.2-1.5-0.4c-0.6-0.1-1.3-0.3-1.9-0.5c-0.6-0.2-1.1-0.5-1.6-0.9c-0.5-0.4-0.8-0.8-1.1-1.3c-0.3-0.5-0.4-1.2-0.4-1.9
|
||||
c0-0.7,0.1-1.3,0.4-1.9c0.3-0.6,0.6-1.1,1.1-1.5c0.5-0.4,1.1-0.8,1.7-1c0.7-0.3,1.4-0.4,2.3-0.4c1,0,2,0.1,2.9,0.3
|
||||
c1,0.2,1.9,0.6,2.8,1.1l-1.2,2.2c-0.7-0.5-1.5-0.8-2.2-0.9c-0.7-0.2-1.4-0.3-2.1-0.3c-0.4,0-0.7,0.1-1.1,0.2
|
||||
c-0.3,0.1-0.6,0.2-0.9,0.4c-0.3,0.2-0.5,0.4-0.6,0.7c-0.2,0.3-0.2,0.6-0.2,1c0,0.4,0.1,0.7,0.3,1c0.2,0.3,0.5,0.5,0.8,0.7
|
||||
c0.3,0.2,0.7,0.3,1.2,0.4c0.4,0.1,0.9,0.2,1.4,0.3c0.8,0.2,1.5,0.4,2.2,0.6c0.7,0.2,1.2,0.6,1.7,0.9c0.5,0.4,0.8,0.8,1.1,1.4
|
||||
C32.1,259.5,32.3,260.1,32.3,260.9z"/>
|
||||
<path class="st2" d="M65.3,260.2c0,0.9-0.2,1.6-0.5,2.3c-0.3,0.7-0.8,1.3-1.3,1.7c-0.6,0.5-1.2,0.8-2,1.1
|
||||
c-0.8,0.2-1.6,0.4-2.4,0.4c-0.9,0-1.7-0.1-2.5-0.4c-0.8-0.3-1.4-0.6-2-1.1c-0.5-0.5-1-1.1-1.3-1.7c-0.3-0.7-0.5-1.5-0.5-2.3v-5.9
|
||||
c0-0.9,0.2-1.6,0.5-2.3c0.3-0.7,0.8-1.2,1.3-1.7c0.6-0.5,1.2-0.8,2-1.1c0.7-0.2,1.5-0.4,2.4-0.4c0.8,0,1.6,0.1,2.4,0.4
|
||||
c0.8,0.3,1.4,0.6,2,1.1c0.6,0.5,1,1.1,1.3,1.7c0.3,0.7,0.5,1.4,0.5,2.3V260.2z M62.6,254.8c0-0.6-0.1-1.1-0.3-1.5
|
||||
c-0.2-0.4-0.4-0.8-0.8-1.1c-0.3-0.3-0.7-0.5-1.1-0.6c-0.4-0.1-0.9-0.2-1.3-0.2c-0.5,0-0.9,0.1-1.3,0.2c-0.4,0.1-0.8,0.3-1.1,0.6
|
||||
c-0.3,0.3-0.6,0.6-0.8,1.1c-0.2,0.4-0.3,0.9-0.3,1.5v5c0,0.6,0.1,1.1,0.3,1.6c0.2,0.4,0.4,0.8,0.8,1.1c0.3,0.3,0.7,0.5,1.1,0.6
|
||||
c0.4,0.1,0.9,0.2,1.3,0.2c0.4,0,0.9-0.1,1.3-0.2c0.4-0.1,0.8-0.3,1.1-0.6c0.3-0.3,0.6-0.6,0.8-1.1c0.2-0.4,0.3-1,0.3-1.6V254.8z"
|
||||
/>
|
||||
<path class="st2" d="M89.4,256.1h7.2v2.5h-7.2v7h-2.7v-16.5h11.2v2.5h-8.4V256.1z"/>
|
||||
<path class="st2" d="M124.4,251.5v14h-2.7v-14h-4.6v-2.5H129v2.5H124.4z"/>
|
||||
<path class="st2" d="M158.4,253.8l-1.2,4.9l-1.7,6.8h-3l-4.3-16.5h2.9l1.6,7.1l1.2,5.3h0.1l1.3-5.3l1.8-7h2.7l1.8,7.3l1.2,5h0.1
|
||||
l1.1-5.1l1.7-7.2h2.9l-4.3,16.5h-3l-1.7-6.8l-1.2-4.9H158.4z"/>
|
||||
<path class="st2" d="M197.5,262h-6.2l-1.2,3.6h-2.9l5.8-16.5h2.8l5.8,16.5h-3L197.5,262z M192.1,259.6h4.6l-1-3.1l-1.3-4.2h-0.1
|
||||
l-1.2,4L192.1,259.6z"/>
|
||||
<path class="st2" d="M228.9,249.1c0.8,0,1.5,0.2,2.1,0.5c0.6,0.3,1.1,0.7,1.4,1.2c0.4,0.5,0.7,1,0.9,1.6c0.2,0.6,0.3,1.2,0.3,1.8
|
||||
c0,0.4-0.1,0.9-0.2,1.4c-0.1,0.4-0.3,0.9-0.6,1.3c-0.2,0.4-0.5,0.8-0.9,1.1c-0.3,0.3-0.7,0.6-1.2,0.8l3,6.9h-3l-2.7-6.4h-3.6v6.4
|
||||
h-2.7v-16.5H228.9z M230.9,254.1c0-0.8-0.2-1.4-0.7-1.9c-0.5-0.5-1.1-0.7-1.9-0.7h-3.8v5.2h3.8c0.8,0,1.4-0.2,1.9-0.7
|
||||
C230.7,255.5,230.9,254.9,230.9,254.1z"/>
|
||||
<path class="st2" d="M254.4,249.1h11.2v2.5h-8.4v4.5h7.2v2.5h-7.2v4.6h8.4v2.5h-11.2V249.1z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 6.4 KiB |
After Width: | Height: | Size: 117 KiB |
After Width: | Height: | Size: 117 KiB |
After Width: | Height: | Size: 117 KiB |
|
@ -0,0 +1,235 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 34.6 34.6" style="enable-background:new 0 0 34.6 34.6;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{display:none;fill:none;stroke:#FFFFFF;stroke-width:6;stroke-miterlimit:10;}
|
||||
.st1{display:none;}
|
||||
.st2{display:inline;}
|
||||
.st3{display:inline;clip-path:url(#SVGID_4_);fill:#FFFFFF;}
|
||||
.st4{display:inline;clip-path:url(#SVGID_4_);fill:#993D3F;}
|
||||
.st5{display:inline;clip-path:url(#SVGID_6_);fill:#FFFFFF;}
|
||||
.st6{display:inline;clip-path:url(#SVGID_6_);fill:none;stroke:#FFFFFF;stroke-width:2;stroke-miterlimit:10;}
|
||||
.st7{display:inline;clip-path:url(#SVGID_6_);fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
|
||||
.st8{display:inline;clip-path:url(#SVGID_6_);fill:none;stroke:#FFFFFF;stroke-width:3;stroke-miterlimit:10;}
|
||||
.st9{display:inline;clip-path:url(#SVGID_6_);fill:none;stroke:#FFFFFF;stroke-width:3.342;stroke-miterlimit:10;}
|
||||
.st10{display:inline;clip-path:url(#SVGID_6_);}
|
||||
.st11{display:inline;clip-path:url(#SVGID_6_);fill:none;stroke:#FFFFFF;stroke-width:2.394;stroke-miterlimit:10;}
|
||||
.st12{display:none;fill:#993D3F;}
|
||||
.st13{fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:10;}
|
||||
.st14{clip-path:url(#SVGID_8_);}
|
||||
.st15{fill-rule:evenodd;clip-rule:evenodd;}
|
||||
</style>
|
||||
<text transform="matrix(1 0 0 1 -115.9365 -331.2238)" class="st1"><tspan x="0" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">O obj</tspan><tspan x="34.8" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">e</tspan><tspan x="42.7" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">ti</tspan><tspan x="51.4" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">v</tspan><tspan x="58.4" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">o dos segui</tspan><tspan x="132" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">n</tspan><tspan x="140.7" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">tes b</tspan><tspan x="172.4" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">o</tspan><tspan x="180.5" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">tões diz respei</tspan><tspan x="273.5" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">t</tspan><tspan x="278.7" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">o à </tspan></text>
|
||||
<text transform="matrix(1 0 0 1 -115.9365 -315.6237)" style="display:none;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">utilização no website. </text>
|
||||
<text transform="matrix(1 0 0 1 -115.9365 -300.0236)" class="st1"><tspan x="0" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">P</tspan><tspan x="9.3" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">oderá </tspan><tspan x="50.4" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">v</tspan><tspan x="57.3" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">ariar a </tspan><tspan x="101.1" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">c</tspan><tspan x="108.3" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">or pa</tspan><tspan x="141.5" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">r</tspan><tspan x="146.7" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">a uma das 5 altern</tspan><tspan x="266.7" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">a</tspan><tspan x="274.3" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">ti</tspan><tspan x="283.1" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">v</tspan><tspan x="290.1" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">as, </tspan></text>
|
||||
<text transform="matrix(1 0 0 1 -115.9365 -284.424)" class="st1"><tspan x="0" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">assim </tspan><tspan x="41.1" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">c</tspan><tspan x="48.3" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">omo o t</tspan><tspan x="98.6" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">e</tspan><tspan x="106.3" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">x</tspan><tspan x="113.3" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">t</tspan><tspan x="118.5" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">o aprese</tspan><tspan x="173.8" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">n</tspan><tspan x="182.5" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">tado.</tspan></text>
|
||||
<text transform="matrix(1 0 0 1 -115.9365 -253.2238)" class="st1"><tspan x="0" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">P</tspan><tspan x="9.3" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">ode ser al</tspan><tspan x="71.5" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">e</tspan><tspan x="79.3" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">t</tspan><tspan x="84.6" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">r</tspan><tspan x="89.7" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">ada a </tspan><tspan x="128.4" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">c</tspan><tspan x="135.5" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">or e t</tspan><tspan x="168.8" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">e</tspan><tspan x="176.6" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">x</tspan><tspan x="183.5" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">t</tspan><tspan x="188.7" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">o </tspan><tspan x="200.3" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">c</tspan><tspan x="207.5" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">onsoa</tspan><tspan x="246.6" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">n</tspan><tspan x="255.3" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">te a </tspan></text>
|
||||
<text transform="matrix(1 0 0 1 -115.9365 -237.6237)" class="st1"><tspan x="0" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">necessidade de </tspan><tspan x="104.7" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">c</tspan><tspan x="111.9" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Regular'; font-size:13px;">ada situação.</tspan></text>
|
||||
<polygon class="st0" points="508.2,-140.5 355.3,-99.7 355.3,-143.3 508.2,-181.3 "/>
|
||||
<g class="st1">
|
||||
<defs>
|
||||
<rect id="SVGID_1_" x="-162.6" y="-427.2" width="841.9" height="595.3"/>
|
||||
</defs>
|
||||
<clipPath id="SVGID_2_" class="st2">
|
||||
<use xlink:href="#SVGID_1_" style="overflow:visible;"/>
|
||||
</clipPath>
|
||||
<g style="display:inline;clip-path:url(#SVGID_2_);">
|
||||
<text transform="matrix(1.0882 -0.2843 5.426255e-002 0.9985 362.3272 -119.1014)"><tspan x="0" y="0" style="fill:#FFFFFF; font-family:'Montserrat-SemiBold'; font-size:14.0373px;">GET </tspan><tspan x="32.6" y="0" style="fill:#FFFFFF; font-family:'Montserrat-SemiBold'; font-size:14.0373px;">Y</tspan><tspan x="41.6" y="0" style="fill:#FFFFFF; font-family:'Montserrat-SemiBold'; font-size:14.0373px;">OUR TICKET</tspan></text>
|
||||
</g>
|
||||
<g style="display:inline;clip-path:url(#SVGID_2_);">
|
||||
|
||||
<text transform="matrix(1.0882 -0.2843 5.426255e-002 0.9985 395.0986 -59.7111)" style="fill:#FFFFFF; font-family:'Montserrat-SemiBold'; font-size:14.0373px;">SUBSCRIBE</text>
|
||||
</g>
|
||||
</g>
|
||||
<polygon class="st0" points="498,-76 380.6,-43.5 380.6,-80.2 498,-111.7 "/>
|
||||
<rect x="-112.5" y="-144.1" class="st0" width="179.8" height="40.6"/>
|
||||
<text transform="matrix(1.1247 0 0 1 -100.917 -118.1271)" class="st1"><tspan x="0" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-SemiBold'; font-size:15.537px;">GET </tspan><tspan x="36" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-SemiBold'; font-size:15.537px;">Y</tspan><tspan x="46" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-SemiBold'; font-size:15.537px;">OUR TICKET</tspan></text>
|
||||
<rect x="-94.9" y="-84.2" class="st0" width="134.9" height="40.6"/>
|
||||
<text transform="matrix(1.1247 0 0 1 -79.4111 -57.2492)" style="display:none;fill:#FFFFFF; font-family:'Montserrat-SemiBold'; font-size:15.537px;">SUBSCRIBE</text>
|
||||
<g class="st1">
|
||||
<defs>
|
||||
<rect id="SVGID_3_" x="-162.6" y="-427.2" width="841.9" height="595.3"/>
|
||||
</defs>
|
||||
<clipPath id="SVGID_4_" class="st2">
|
||||
<use xlink:href="#SVGID_3_" style="overflow:visible;"/>
|
||||
</clipPath>
|
||||
<path class="st3" d="M218.9-126.2c-0.4-0.2-1-0.3-1.9-0.3h-2.2v3.4h2.1c1,0,1.7-0.1,2-0.4c0.4-0.3,0.5-0.7,0.5-1.4
|
||||
C219.5-125.5,219.3-126,218.9-126.2"/>
|
||||
<path class="st3" d="M115.7-101.7h190.7v-43H115.7V-101.7z M140.9-119c-1.3,1.3-3.1,1.9-5.3,1.9c-1.9,0-3.5-0.6-4.8-1.7
|
||||
c-1.3-1.1-1.9-2.5-1.9-4.2c0-1.7,0.7-3.1,2-4.3c1.3-1.1,2.9-1.7,4.8-1.7s3.5,0.5,4.8,1.6l-1.5,1.9c-0.6-0.5-1.1-0.8-1.6-0.9
|
||||
c-0.5-0.2-1-0.3-1.6-0.3c-1.1,0-2,0.3-2.8,1c-0.8,0.7-1.1,1.5-1.1,2.6s0.4,2,1.1,2.6c0.7,0.7,1.6,1,2.6,1c1,0,1.8-0.2,2.5-0.5v-3.2
|
||||
h2.9V-119z M153-117.2h-9.5v-11.5h9.3v2.3h-6.4v2.4h5.8v2.2h-5.8v2.4h6.7V-117.2z M164.7-126.5H161v9.3h-2.9v-9.3h-3.7v-2.2h10.2
|
||||
V-126.5z M177.3-121.8v4.5h-2.9v-4.5l-4.5-7h3.1l2.8,4.3l2.8-4.3h3.1L177.3-121.8z M193.6-118.8c-1.3,1.1-2.9,1.7-4.8,1.7
|
||||
c-1.9,0-3.5-0.6-4.8-1.7c-1.3-1.1-2-2.6-2-4.2c0-1.7,0.7-3.1,2-4.2c1.3-1.1,2.9-1.7,4.8-1.7c1.9,0,3.5,0.6,4.8,1.7
|
||||
c1.3,1.1,2,2.6,2,4.2C195.6-121.4,194.9-119.9,193.6-118.8 M208.9-122.3c0,1.7-0.5,3-1.6,3.8c-1,0.9-2.4,1.3-4,1.3
|
||||
c-1.6,0-2.9-0.5-4-1.4c-1-0.9-1.6-2.2-1.6-3.8v-6.4h2.9v6.4c0,0.9,0.2,1.6,0.7,2.2c0.5,0.5,1.1,0.8,1.9,0.8c0.8,0,1.5-0.3,1.9-0.8
|
||||
c0.5-0.5,0.7-1.3,0.7-2.2v-6.4h2.9V-122.3z M219.7-117.2l-2.9-3.7h-2v3.7h-2.9v-11.5h4.9c2,0,3.4,0.3,4.3,0.9
|
||||
c0.9,0.6,1.3,1.6,1.3,2.9c0,1.8-0.8,3-2.5,3.6l3.3,4.1H219.7z M239.4-126.5h-3.7v9.3h-2.9v-9.3h-3.7v-2.2h10.2V-126.5z
|
||||
M244.4-117.2h-2.9v-11.5h2.9V-117.2z M250.9-120.5c0.7,0.6,1.6,1,2.6,1c1.4,0,2.6-0.5,3.5-1.5l1.9,1.7c-1.5,1.5-3.2,2.2-5.2,2.2
|
||||
c-2,0-3.6-0.6-4.9-1.7c-1.3-1.1-1.9-2.5-1.9-4.2c0-1.7,0.7-3.1,2-4.3c1.3-1.1,2.9-1.7,4.8-1.7c2.1,0,3.9,0.7,5.3,2.2l-1.8,1.8
|
||||
c-0.9-1-2.1-1.5-3.4-1.5c-1.1,0-2,0.3-2.8,0.9c-0.8,0.6-1.2,1.5-1.2,2.6C249.8-122,250.2-121.1,250.9-120.5 M269.9-120.6
|
||||
c1.2,1.5,2.1,2.6,2.7,3.4h-3.4l-3.8-4.5l-1.3,1.3v3.3h-2.9v-11.5h2.9v4.7l4.9-4.7h3.6l-5.2,5.1
|
||||
C267.8-123.1,268.7-122.1,269.9-120.6 M283.9-117.2h-9.5v-11.5h9.3v2.3h-6.4v2.4h5.8v2.2h-5.8v2.4h6.7V-117.2z M295.6-126.5h-3.7
|
||||
v9.3h-2.9v-9.3h-3.7v-2.2h10.2V-126.5z"/>
|
||||
<path class="st3" d="M188.8-126.8c-1.1,0-2,0.4-2.7,1.1c-0.7,0.7-1.1,1.6-1.1,2.6c0,1,0.4,1.9,1.1,2.6c0.7,0.7,1.7,1.1,2.7,1.1
|
||||
c1.1,0,2-0.4,2.7-1.1c0.7-0.7,1.1-1.6,1.1-2.6c0-1-0.4-1.9-1.1-2.6C190.8-126.4,189.9-126.8,188.8-126.8"/>
|
||||
<path class="st4" d="M138-119.9c-0.7,0.3-1.5,0.5-2.5,0.5c-1,0-1.9-0.3-2.6-1c-0.7-0.7-1.1-1.5-1.1-2.6s0.4-2,1.1-2.6
|
||||
c0.8-0.7,1.7-1,2.8-1c0.6,0,1.1,0.1,1.6,0.3c0.5,0.2,1,0.5,1.6,0.9l1.5-1.9c-1.4-1.1-3-1.6-4.8-1.6c-1.9,0-3.4,0.6-4.8,1.7
|
||||
c-1.3,1.1-2,2.6-2,4.3c0,1.7,0.6,3.1,1.9,4.2c1.3,1.1,2.9,1.7,4.8,1.7c2.3,0,4.1-0.6,5.3-1.9v-4.1H138V-119.9z"/>
|
||||
<polygon class="st4" points="146.3,-121.9 152.1,-121.9 152.1,-124.1 146.3,-124.1 146.3,-126.4 152.8,-126.4 152.8,-128.7
|
||||
143.4,-128.7 143.4,-117.2 153,-117.2 153,-119.5 146.3,-119.5 "/>
|
||||
<polygon class="st4" points="154.5,-126.5 158.2,-126.5 158.2,-117.2 161,-117.2 161,-126.5 164.7,-126.5 164.7,-128.7
|
||||
154.5,-128.7 "/>
|
||||
<polygon class="st4" points="175.8,-124.5 173.1,-128.7 169.9,-128.7 174.4,-121.8 174.4,-117.2 177.3,-117.2 177.3,-121.8
|
||||
181.8,-128.7 178.6,-128.7 "/>
|
||||
<path class="st4" d="M193.6-127.3c-1.3-1.1-2.9-1.7-4.8-1.7c-1.9,0-3.5,0.6-4.8,1.7c-1.3,1.1-2,2.6-2,4.2c0,1.7,0.7,3.1,2,4.2
|
||||
c1.3,1.1,2.9,1.7,4.8,1.7c1.9,0,3.5-0.6,4.8-1.7c1.3-1.1,2-2.6,2-4.2C195.6-124.7,194.9-126.2,193.6-127.3 M191.5-120.4
|
||||
c-0.7,0.7-1.7,1.1-2.7,1.1c-1.1,0-2-0.4-2.7-1.1c-0.7-0.7-1.1-1.6-1.1-2.6c0-1,0.4-1.9,1.1-2.6s1.7-1.1,2.7-1.1
|
||||
c1.1,0,2,0.4,2.7,1.1c0.7,0.7,1.1,1.6,1.1,2.6C192.6-122,192.2-121.1,191.5-120.4"/>
|
||||
<path class="st4" d="M206-122.4c0,0.9-0.2,1.7-0.7,2.2c-0.5,0.5-1.1,0.8-1.9,0.8c-0.8,0-1.5-0.3-1.9-0.8c-0.5-0.5-0.7-1.3-0.7-2.2
|
||||
v-6.4h-2.9v6.4c0,1.7,0.5,2.9,1.6,3.8c1,0.9,2.4,1.4,4,1.4c1.6,0,2.9-0.4,4-1.3c1-0.9,1.6-2.2,1.6-3.8v-6.4H206V-122.4z"/>
|
||||
<path class="st4" d="M222.4-124.9c0-1.3-0.4-2.3-1.3-2.9c-0.9-0.6-2.3-0.9-4.3-0.9h-4.9v11.5h2.9v-3.7h2l2.9,3.7h3.6l-3.3-4.1
|
||||
C221.6-121.9,222.4-123.1,222.4-124.9 M218.9-123.5c-0.4,0.3-1,0.4-2,0.4h-2.1v-3.4h2.2c0.9,0,1.6,0.1,1.9,0.3
|
||||
c0.4,0.2,0.6,0.7,0.6,1.3C219.5-124.3,219.3-123.8,218.9-123.5"/>
|
||||
<polygon class="st4" points="229.2,-126.5 232.9,-126.5 232.9,-117.2 235.8,-117.2 235.8,-126.5 239.4,-126.5 239.4,-128.7
|
||||
229.2,-128.7 "/>
|
||||
<rect x="241.5" y="-128.7" class="st4" width="2.9" height="11.5"/>
|
||||
<path class="st4" d="M253.8-126.5c1.4,0,2.5,0.5,3.4,1.5l1.8-1.8c-1.4-1.4-3.2-2.2-5.3-2.2c-1.9,0-3.5,0.6-4.8,1.7
|
||||
c-1.3,1.1-2,2.6-2,4.3c0,1.7,0.6,3.1,1.9,4.2c1.3,1.1,2.9,1.7,4.9,1.7c2,0,3.7-0.7,5.2-2.2l-1.9-1.7c-0.9,1-2.1,1.5-3.5,1.5
|
||||
c-1,0-1.9-0.3-2.6-1c-0.7-0.6-1.1-1.5-1.1-2.6c0-1.1,0.4-1.9,1.2-2.6C251.8-126.2,252.7-126.5,253.8-126.5"/>
|
||||
<path class="st4" d="M269-128.7l-4.9,4.7v-4.7h-2.9v11.5h2.9v-3.3l1.3-1.3l3.8,4.5h3.4c-0.6-0.7-1.5-1.9-2.7-3.4
|
||||
c-1.2-1.5-2-2.5-2.5-3.1l5.1-5.1H269z"/>
|
||||
<polygon class="st4" points="277.2,-121.9 283,-121.9 283,-124.1 277.2,-124.1 277.2,-126.4 283.7,-126.4 283.7,-128.7
|
||||
274.3,-128.7 274.3,-117.2 283.9,-117.2 283.9,-119.5 277.2,-119.5 "/>
|
||||
<polygon class="st4" points="285.4,-126.5 289.1,-126.5 289.1,-117.2 291.9,-117.2 291.9,-126.5 295.6,-126.5 295.6,-128.7
|
||||
285.4,-128.7 "/>
|
||||
<path class="st3" d="M185-64c0.4-0.2,0.6-0.5,0.6-1c0-0.5-0.2-0.8-0.5-1c-0.4-0.2-1-0.2-1.8-0.2h-1.4v2.5h1.4
|
||||
C184.1-63.7,184.6-63.8,185-64"/>
|
||||
<path class="st3" d="M224.1-65.8c-0.4-0.2-1-0.3-1.9-0.3H220v3.4h2.1c1,0,1.7-0.1,2-0.4c0.4-0.3,0.5-0.7,0.5-1.4
|
||||
C224.7-65.2,224.5-65.6,224.1-65.8"/>
|
||||
<path class="st3" d="M135.2-42.4h143v-43h-143V-42.4z M161.3-57.7c-0.9,0.6-2,1-3.4,1c-2.1,0-3.9-0.7-5.5-2l1.7-1.9
|
||||
c1.4,1.1,2.7,1.6,3.9,1.6c0.5,0,0.9-0.1,1.3-0.3c0.3-0.2,0.5-0.5,0.5-0.8c0-0.3-0.2-0.6-0.5-0.8c-0.3-0.2-1-0.4-1.9-0.6
|
||||
c-1.5-0.3-2.6-0.7-3.3-1.2c-0.7-0.5-1-1.3-1-2.4c0-1.1,0.4-1.9,1.3-2.5c0.9-0.6,2-0.9,3.3-0.9c0.9,0,1.7,0.1,2.6,0.4
|
||||
c0.9,0.3,1.6,0.6,2.3,1.1l-1.5,1.9c-1.1-0.8-2.3-1.1-3.5-1.1c-0.5,0-0.9,0.1-1.1,0.3c-0.3,0.2-0.4,0.5-0.4,0.8
|
||||
c0,0.3,0.2,0.6,0.5,0.8c0.3,0.2,1.1,0.4,2.4,0.7s2.2,0.7,2.9,1.2c0.7,0.5,1,1.3,1,2.4C162.6-59.2,162.2-58.3,161.3-57.7 M176-61.9
|
||||
c0,1.7-0.5,3-1.6,3.8c-1,0.9-2.4,1.3-4,1.3s-2.9-0.4-4-1.3c-1-0.9-1.6-2.2-1.6-3.8v-6.4h2.9v6.4c0,0.9,0.2,1.6,0.7,2.2
|
||||
c0.5,0.5,1.1,0.8,1.9,0.8s1.5-0.3,1.9-0.8c0.5-0.5,0.7-1.3,0.7-2.2v-6.4h2.9V-61.9z M188.4-57.9c-0.7,0.7-2,1.1-3.7,1.1H179v-11.5
|
||||
h5c0.9,0,1.6,0.1,2.3,0.3c0.6,0.2,1.1,0.4,1.4,0.8c0.6,0.6,0.9,1.3,0.9,2c0,0.9-0.3,1.6-1,2c-0.2,0.2-0.4,0.3-0.5,0.3
|
||||
c-0.1,0-0.2,0.1-0.5,0.2c0.8,0.2,1.4,0.5,1.9,1c0.5,0.5,0.7,1.1,0.7,1.8C189.3-59.3,189-58.6,188.4-57.9 M199.8-57.7
|
||||
c-0.9,0.6-2,1-3.4,1c-2.1,0-3.9-0.7-5.5-2l1.7-1.9c1.4,1.1,2.7,1.6,3.9,1.6c0.5,0,0.9-0.1,1.3-0.3c0.3-0.2,0.5-0.5,0.5-0.8
|
||||
c0-0.3-0.2-0.6-0.5-0.8c-0.3-0.2-1-0.4-1.9-0.6c-1.5-0.3-2.6-0.7-3.3-1.2c-0.7-0.5-1-1.3-1-2.4c0-1.1,0.4-1.9,1.3-2.5
|
||||
c0.9-0.6,2-0.9,3.3-0.9c0.9,0,1.7,0.1,2.6,0.4c0.9,0.3,1.6,0.6,2.3,1.1l-1.5,1.9c-1.1-0.8-2.3-1.1-3.5-1.1c-0.5,0-0.9,0.1-1.1,0.3
|
||||
c-0.3,0.2-0.4,0.5-0.4,0.8c0,0.3,0.2,0.6,0.5,0.8c0.3,0.2,1.1,0.4,2.4,0.7c1.2,0.3,2.2,0.7,2.9,1.2c0.7,0.5,1,1.3,1,2.4
|
||||
C201.1-59.2,200.7-58.3,199.8-57.7 M206.9-60.1c0.7,0.6,1.6,1,2.6,1c1.4,0,2.6-0.5,3.5-1.5l1.9,1.7c-1.5,1.5-3.2,2.2-5.2,2.2
|
||||
c-2,0-3.6-0.6-4.9-1.7c-1.3-1.1-1.9-2.5-1.9-4.2c0-1.7,0.7-3.1,2-4.3c1.3-1.1,2.9-1.7,4.8-1.7c2.1,0,3.9,0.7,5.3,2.2l-1.8,1.8
|
||||
c-0.9-1-2.1-1.5-3.4-1.5c-1.1,0-2,0.3-2.8,0.9c-0.8,0.6-1.2,1.5-1.2,2.6C205.8-61.6,206.1-60.8,206.9-60.1 M224.9-56.9l-2.9-3.7h-2
|
||||
v3.7h-2.9v-11.5h4.9c2,0,3.4,0.3,4.3,0.9c0.9,0.6,1.3,1.6,1.3,2.9c0,1.8-0.8,3-2.5,3.6l3.3,4.1H224.9z M233.5-56.9h-2.9v-11.5h2.9
|
||||
V-56.9z M246.1-57.9c-0.7,0.7-2,1.1-3.7,1.1h-5.7v-11.5h5c0.9,0,1.6,0.1,2.3,0.3c0.6,0.2,1.1,0.4,1.4,0.8c0.6,0.6,0.9,1.3,0.9,2
|
||||
c0,0.9-0.3,1.6-1,2c-0.2,0.2-0.4,0.3-0.5,0.3c-0.1,0-0.2,0.1-0.5,0.2c0.8,0.2,1.4,0.5,1.9,1c0.5,0.5,0.7,1.1,0.7,1.8
|
||||
C247-59.3,246.7-58.6,246.1-57.9 M259-56.9h-9.5v-11.5h9.3v2.3h-6.4v2.4h5.8v2.2h-5.8v2.4h6.7V-56.9z"/>
|
||||
<path class="st3" d="M185.7-61.4c-0.4-0.2-1.1-0.3-2.1-0.3h-1.7v2.7h2c0.8,0,1.4-0.1,1.9-0.3c0.4-0.2,0.6-0.5,0.6-1.1
|
||||
C186.3-60.9,186.1-61.3,185.7-61.4"/>
|
||||
<path class="st3" d="M243.4-61.4c-0.4-0.2-1.1-0.3-2.1-0.3h-1.7v2.7h2c0.8,0,1.4-0.1,1.9-0.3c0.4-0.2,0.6-0.5,0.6-1.1
|
||||
C244-60.9,243.8-61.3,243.4-61.4"/>
|
||||
<path class="st3" d="M242.7-64c0.4-0.2,0.6-0.5,0.6-1c0-0.5-0.2-0.8-0.5-1c-0.4-0.2-1-0.2-1.8-0.2h-1.4v2.5h1.4
|
||||
C241.7-63.7,242.3-63.8,242.7-64"/>
|
||||
<path class="st4" d="M158.7-63.8c-1.2-0.3-2-0.5-2.4-0.7c-0.3-0.2-0.5-0.5-0.5-0.8c0-0.3,0.1-0.6,0.4-0.8c0.3-0.2,0.7-0.3,1.1-0.3
|
||||
c1.2,0,2.4,0.4,3.5,1.1l1.5-1.9c-0.6-0.5-1.4-0.9-2.3-1.1c-0.9-0.3-1.7-0.4-2.6-0.4c-1.3,0-2.4,0.3-3.3,0.9
|
||||
c-0.9,0.6-1.3,1.4-1.3,2.5c0,1.1,0.3,1.9,1,2.4c0.7,0.5,1.8,0.9,3.3,1.2c1,0.2,1.6,0.4,1.9,0.6c0.3,0.2,0.5,0.5,0.5,0.8
|
||||
c0,0.3-0.1,0.6-0.5,0.8c-0.3,0.2-0.7,0.3-1.3,0.3c-1.2,0-2.5-0.5-3.9-1.6l-1.7,1.9c1.6,1.3,3.5,2,5.5,2c1.4,0,2.6-0.3,3.4-1
|
||||
c0.9-0.6,1.3-1.5,1.3-2.5c0-1-0.3-1.8-1-2.4C160.9-63.1,160-63.5,158.7-63.8"/>
|
||||
<path class="st4" d="M173.1-62c0,0.9-0.2,1.7-0.7,2.2c-0.5,0.5-1.1,0.8-1.9,0.8c-0.8,0-1.5-0.3-1.9-0.8c-0.5-0.5-0.7-1.3-0.7-2.2
|
||||
v-6.4h-2.9v6.4c0,1.7,0.5,2.9,1.6,3.8c1,0.9,2.4,1.4,4,1.4c1.6,0,2.9-0.4,4-1.3c1-0.9,1.6-2.2,1.6-3.8v-6.4h-2.9V-62z"/>
|
||||
<path class="st4" d="M188.6-61.9c-0.5-0.5-1.1-0.8-1.9-1c0.2-0.1,0.4-0.2,0.5-0.2c0.1,0,0.2-0.1,0.5-0.3c0.7-0.4,1-1.1,1-2
|
||||
c0-0.7-0.3-1.4-0.9-2c-0.3-0.3-0.8-0.6-1.4-0.8c-0.6-0.2-1.4-0.3-2.3-0.3h-5v11.5h5.7c1.8,0,3-0.4,3.7-1.1c0.6-0.6,0.9-1.3,0.9-2.1
|
||||
C189.3-60.8,189.1-61.4,188.6-61.9 M181.9-66.2h1.4c0.9,0,1.5,0.1,1.8,0.2c0.4,0.2,0.5,0.5,0.5,1c0,0.5-0.2,0.8-0.6,1
|
||||
c-0.4,0.2-1,0.2-1.8,0.2h-1.4V-66.2z M185.7-59.3c-0.4,0.2-1,0.3-1.9,0.3h-2v-2.7h1.7c1,0,1.7,0.1,2.1,0.3c0.4,0.2,0.7,0.5,0.7,1.1
|
||||
S186.1-59.5,185.7-59.3"/>
|
||||
<path class="st4" d="M197.2-63.8c-1.2-0.3-2-0.5-2.4-0.7c-0.3-0.2-0.5-0.5-0.5-0.8c0-0.3,0.1-0.6,0.4-0.8c0.3-0.2,0.7-0.3,1.1-0.3
|
||||
c1.2,0,2.4,0.4,3.5,1.1l1.5-1.9c-0.6-0.5-1.4-0.9-2.3-1.1c-0.9-0.3-1.7-0.4-2.6-0.4c-1.3,0-2.4,0.3-3.3,0.9
|
||||
c-0.9,0.6-1.3,1.4-1.3,2.5c0,1.1,0.3,1.9,1,2.4c0.7,0.5,1.8,0.9,3.3,1.2c1,0.2,1.6,0.4,1.9,0.6c0.3,0.2,0.5,0.5,0.5,0.8
|
||||
c0,0.3-0.2,0.6-0.5,0.8c-0.3,0.2-0.7,0.3-1.3,0.3c-1.2,0-2.5-0.5-3.9-1.6l-1.7,1.9c1.6,1.3,3.5,2,5.5,2c1.4,0,2.6-0.3,3.4-1
|
||||
c0.9-0.6,1.3-1.5,1.3-2.5c0-1-0.3-1.8-1-2.4C199.4-63.1,198.5-63.5,197.2-63.8"/>
|
||||
<path class="st4" d="M209.7-66.2c1.4,0,2.5,0.5,3.4,1.5l1.8-1.8c-1.4-1.4-3.2-2.2-5.3-2.2c-1.9,0-3.5,0.6-4.8,1.7
|
||||
c-1.3,1.1-2,2.6-2,4.3c0,1.7,0.6,3.1,1.9,4.2c1.3,1.1,2.9,1.7,4.9,1.7c2,0,3.7-0.7,5.2-2.2l-1.9-1.7c-0.9,1-2.1,1.5-3.5,1.5
|
||||
c-1,0-1.9-0.3-2.6-1c-0.7-0.6-1.1-1.5-1.1-2.6c0-1.1,0.4-1.9,1.2-2.6C207.7-65.9,208.6-66.2,209.7-66.2"/>
|
||||
<path class="st4" d="M227.6-64.6c0-1.3-0.4-2.3-1.3-2.9c-0.9-0.6-2.3-0.9-4.3-0.9h-4.9v11.5h2.9v-3.7h2l2.9,3.7h3.6l-3.3-4.1
|
||||
C226.8-61.5,227.6-62.7,227.6-64.6 M224.2-63.2c-0.4,0.3-1,0.4-2,0.4H220v-3.4h2.2c0.9,0,1.6,0.1,1.9,0.3c0.4,0.2,0.6,0.7,0.6,1.3
|
||||
S224.5-63.5,224.2-63.2"/>
|
||||
<rect x="230.6" y="-68.4" class="st4" width="2.9" height="11.5"/>
|
||||
<path class="st4" d="M244.4-62.8c0.2-0.1,0.4-0.2,0.5-0.2c0.1,0,0.2-0.1,0.5-0.3c0.7-0.4,1-1.1,1-2c0-0.7-0.3-1.4-0.9-2
|
||||
c-0.3-0.3-0.8-0.6-1.4-0.8c-0.6-0.2-1.4-0.3-2.3-0.3h-5v11.5h5.7c1.8,0,3-0.4,3.7-1.1c0.6-0.6,0.9-1.3,0.9-2.1
|
||||
c0-0.7-0.2-1.3-0.7-1.8C245.8-62.4,245.2-62.7,244.4-62.8 M239.6-66.2h1.4c0.9,0,1.5,0.1,1.8,0.2c0.4,0.2,0.5,0.5,0.5,1
|
||||
c0,0.5-0.2,0.8-0.6,1c-0.4,0.2-1,0.2-1.8,0.2h-1.4V-66.2z M243.4-59.3c-0.4,0.2-1,0.3-1.9,0.3h-2v-2.7h1.7c1,0,1.7,0.1,2.1,0.3
|
||||
c0.4,0.2,0.7,0.5,0.7,1.1S243.8-59.5,243.4-59.3"/>
|
||||
<polygon class="st4" points="252.3,-61.5 258.1,-61.5 258.1,-63.7 252.3,-63.7 252.3,-66.1 258.8,-66.1 258.8,-68.4 249.4,-68.4
|
||||
249.4,-56.9 259,-56.9 259,-59.1 252.3,-59.1 "/>
|
||||
</g>
|
||||
<text transform="matrix(1 0 0 1 -115.9365 -378.2189)" class="st1"><tspan x="0" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Bold'; font-size:16px;">B</tspan><tspan x="12.2" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Bold'; font-size:16px;">O</tspan><tspan x="25.5" y="0" style="display:inline;fill:#FFFFFF; font-family:'Montserrat-Bold'; font-size:16px;">TÕES </tspan></text>
|
||||
<g class="st1">
|
||||
<defs>
|
||||
<rect id="SVGID_5_" x="-162.6" y="-427.2" width="841.9" height="595.3"/>
|
||||
</defs>
|
||||
<clipPath id="SVGID_6_" class="st2">
|
||||
<use xlink:href="#SVGID_5_" style="overflow:visible;"/>
|
||||
</clipPath>
|
||||
<path class="st5" d="M279.3,0.4l-30.5,8.2c-1.6,0.4-3,2.2-3,3.9v30.4c0,1.7,1.3,2.7,3,2.3l30.2-7.4c1.7-0.4,3.1-2.2,3.1-3.9
|
||||
l0.3-31.2C282.4,1,281,0,279.3,0.4 M278.9,34.7l-10.5,2.6l0.1-11.8l4.3-1.1l0-3.7l-4.4,1.1l0-1.6c0-0.7,0.2-1.3,0.6-1.8
|
||||
c0.4-0.5,0.9-0.8,1.6-1c0.3-0.1,0.7-0.1,1.1-0.1c0.4,0,0.8,0,1.1,0.1l0.8-4.4c-1.2-0.2-2.5-0.1-3.6,0.2c-1.3,0.3-2.4,0.9-3.4,1.7
|
||||
c-1,0.8-1.8,1.7-2.5,2.8c-0.6,1.1-0.9,2.3-0.9,3.7l0,1.8l-2.4,0.6l0,3.7l2.4-0.6l-0.1,11.8l-14.5,3.6l0-30.5l30.5-8.2L278.9,34.7z"
|
||||
/>
|
||||
<path class="st5" d="M171,2.3L141,9.7c-1.7,0.4-3,2.1-3,3.8v30c0,1.6,1.4,2.6,3,2.2l29.9-7.5c1.6-0.4,3-2.1,3-3.7L174,4.6
|
||||
C174,2.9,172.7,1.9,171,2.3 M170.9,35.1l-11.9,3l-3,0.8l-15,3.8l0-30l30-7.4L170.9,35.1z"/>
|
||||
<path class="st6" d="M163.3,24.6c0,3.9-3.2,7.9-7.2,8.9c-4,1-7.2-1.4-7.1-5.3c0-3.9,3.2-7.9,7.2-8.9
|
||||
C160.1,18.3,163.3,20.7,163.3,24.6z"/>
|
||||
<path class="st7" d="M166.1,14.3c-1.4,0.4-2.6-0.5-2.6-1.9c0-1.4,1.2-2.9,2.6-3.2c1.4-0.3,2.5,0.5,2.5,1.9
|
||||
C168.6,12.5,167.5,14,166.1,14.3"/>
|
||||
<path class="st5" d="M225.9,5.4L195.3,13c-1.7,0.4-3,1.9-3,3.2v24.6c0,1.3,1.4,2.1,3,1.7l30.5-7.2c1.7-0.4,3.1-1.8,3.1-3.2L229,7.2
|
||||
C229,5.8,227.6,5,225.9,5.4 M225.7,32.8l-12.3,2.9l-3.1,0.7L195.2,40l0-24.6l30.7-7.5L225.7,32.8z"/>
|
||||
<path class="st8" d="M225.9,7.9c0,0-13.3,17.7-15.4,18.2c-1.8,0.4-15.2-10.7-15.2-10.7"/>
|
||||
<path class="st5" d="M332.1-0.4L301.6,7c-1.7,0.4-3.1,2.1-3.1,3.8v30.7c0,1.7,1.4,2.7,3.1,2.3l30.7-7.9c1.7-0.4,3-2.1,3-3.8
|
||||
l-0.1-30.3C335.1,0.2,333.7-0.8,332.1-0.4 M332.2,32.9L320,36l-3.1,0.8l-15.4,3.9l0-30.6l30.5-7.5L332.2,32.9z"/>
|
||||
<path class="st5" d="M310.4,16.9c0.4,0.3,0.6,0.7,0.6,1.4c0,0.6-0.2,1.2-0.6,1.6c-0.4,0.5-0.9,0.8-1.5,0.9
|
||||
c-0.6,0.1-1.1,0.1-1.4-0.2c-0.4-0.3-0.6-0.7-0.6-1.3c0-0.6,0.2-1.2,0.6-1.6c0.4-0.5,0.9-0.8,1.4-0.9
|
||||
C309.5,16.6,310,16.7,310.4,16.9 M307,22.9l3.7-0.9l0,13l-3.7,1L307,22.9z"/>
|
||||
<path class="st5" d="M326,19.4c0.9,0.7,1.3,1.8,1.3,3.3l0,8.1l-3.7,0.9l0-7c0-0.8-0.2-1.4-0.7-1.8c-0.5-0.4-1.1-0.4-1.9-0.2
|
||||
c-0.9,0.2-1.6,0.7-2.2,1.5c-0.5,0.8-0.8,1.6-0.8,2.6l0,6.4l-3.7,0.9l0-13l3.7-0.9l0,2.3c0.9-1.8,2.4-3,4.5-3.5
|
||||
C324,18.6,325.2,18.7,326,19.4"/>
|
||||
<polyline class="st9" points="409.3,12 422.2,24.5 409.3,36 "/>
|
||||
<rect x="459.9" y="8.8" class="st10" width="38" height="38"/>
|
||||
<polyline class="st11" points="474.8,19.6 482.4,28 474.8,36.1 "/>
|
||||
</g>
|
||||
<rect x="-162.6" y="-427.2" class="st12" width="841.9" height="595.3"/>
|
||||
<g id="email">
|
||||
<path d="M-77.9-0.9h-36.8c-2,0-3.7,1.3-3.7,2.9v28.9c0,1.6,1.7,2.9,3.7,2.9h36.8c2,0,3.7-1.3,3.7-2.9V2
|
||||
C-74.3,0.4-75.9-0.9-77.9-0.9 M-77.9,30.9h-14.7h-3.7h-18.4V2h36.8V30.9z"/>
|
||||
<path class="st13" d="M-114.8,2c0,0,16.2,16.9,18.4,16.9C-93.7,18.8-77.9,2-77.9,2"/>
|
||||
</g>
|
||||
<g id="linkedin">
|
||||
<defs>
|
||||
<rect id="SVGID_7_" x="-162.6" y="-427.2" width="841.9" height="595.3"/>
|
||||
</defs>
|
||||
<clipPath id="SVGID_8_">
|
||||
<use xlink:href="#SVGID_7_" style="overflow:visible;"/>
|
||||
</clipPath>
|
||||
<path class="st14" d="M88.1,1.2H59.2c-1.6,0-2.9,1.3-2.9,2.9V33c0,1.6,1.3,2.9,2.9,2.9h28.9c1.6,0,2.9-1.3,2.9-2.9V4.1
|
||||
C91,2.5,89.7,1.2,88.1,1.2 M88.1,33H76.5h-2.9H59.2V4.1h28.9V33z"/>
|
||||
<g class="st14">
|
||||
<text transform="matrix(1 0 0 1 62.6543 29.7928)" style="font-family:'Montserrat-SemiBold'; font-size:22.7779px;">in</text>
|
||||
</g>
|
||||
</g>
|
||||
<g id="facebook">
|
||||
<path d="M-24.5,0h-28.9c-1.6,0-2.9,1.3-2.9,2.9v28.9c0,1.6,1.3,2.9,2.9,2.9h28.9c1.6,0,2.9-1.3,2.9-2.9V2.9
|
||||
C-21.6,1.3-22.9,0-24.5,0 M-24.5,31.8h-11.6H-39h-14.4V2.9h28.9V31.8z"/>
|
||||
<path d="M-33.9,14.2c-0.4,0.3-0.6,0.9-0.6,1.5v1.5h4.1v3.5h-4.1v13.2h-4.9V20.7h-2.3v-3.5h2.3v-1.7c0-1.3,0.3-2.3,0.9-3.2
|
||||
c0.6-0.9,1.3-1.6,2.3-2c1-0.5,2-0.7,3.2-0.7c1.1,0,2.3,0.2,3.4,0.7l-0.7,3.9c-0.3-0.1-0.7-0.2-1-0.3c-0.4-0.1-0.7-0.1-1-0.1
|
||||
C-33,13.7-33.5,13.9-33.9,14.2"/>
|
||||
</g>
|
||||
<g id="instagram">
|
||||
<path d="M31.8,0H2.9C1.3,0,0,1.3,0,2.9v28.9c0,1.6,1.3,2.9,2.9,2.9h28.9c1.6,0,2.9-1.3,2.9-2.9V2.9C34.6,1.3,33.3,0,31.8,0
|
||||
M31.8,31.8H20.2h-2.9H2.9V2.9h28.9V31.8z"/>
|
||||
<circle class="st13" cx="17.5" cy="19.7" r="6.9"/>
|
||||
<path class="st15" d="M27,10.4c-1.4,0-2.5-1.1-2.5-2.4c0-1.4,1.1-2.5,2.5-2.5c1.3,0,2.5,1.1,2.5,2.5C29.5,9.3,28.4,10.4,27,10.4"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 26 KiB |
|
@ -0,0 +1,21 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 225 335" style="enable-background:new 0 0 225 335;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#FFFFFF;}
|
||||
</style>
|
||||
<path id="linha" d="M220.7,5.4L5.6,63v269.1l215.2-57.6V5.4z"/>
|
||||
<path id="ee" class="st0" d="M61.3,97.8c13.2-3.5,19.8-5.2,33.3-8.8c0,3.8,0,5.9,0,10c-9.4,2.5-14.1,3.8-23.4,6.2c0,5.3,0,8,0,13.6
|
||||
c8.9-2.4,13.4-3.6,22.5-6c0,4.4,0,6.7,0,11.4c-9.1,2.4-13.6,3.6-22.5,6c0,6,0,9,0,15.2c9.6-2.5,14.5-3.8,24.4-6.5
|
||||
c0,4.8,0,7.3,0,12.2c-13.9,3.7-20.9,5.6-34.2,9.1V97.8z"/>
|
||||
<path id="n" class="st0" d="M153.7,129.1c0.5-0.1,0.8-0.2,1.4-0.4c-0.1-24.4-0.1-36.5-0.2-55.8c4.1-1.1,6.1-1.6,10.2-2.7v62.2
|
||||
c-7.7,2.1-11.6,3.2-19.5,5.3c-2.6-24-4-35.9-6.6-55.4c-0.6,0.2-0.8,0.2-1.4,0.4c0.1,20.1,0.2,32.4,0.4,57.1
|
||||
c-4.1,1.1-6.1,1.6-10.2,2.7c-0.1-20.7-0.2-41.5-0.4-62.2c7.9-2.1,11.9-3.2,19.8-5.3C149.8,93.6,151.1,105.3,153.7,129.1"/>
|
||||
<path id="e" class="st0" d="M61.3,204.9c12.9-3.4,19.7-5.2,33.3-8.9c0,4.9,0,7.4,0,12.2c-9.6,2.6-14.4,3.8-23.6,6.3
|
||||
c0,6.1,0,9.1,0,15c8.9-2.4,13.5-3.6,22.7-6.1c0,4.6,0,6.9,0,11.4c-9.2,2.5-13.8,3.7-22.7,6.1c0,5.7,0,8.5,0,13.8
|
||||
c9.6-2.6,14.6-3.9,24.6-6.6c0,4.1,0,6.1,0,10c-14.2,3.8-21.2,5.7-34.3,9.2V204.9z"/>
|
||||
<path id="i" class="st0" d="M128.7,186.9c14.5-3.9,21.7-5.9,35.5-9.7c0,4.9,0,7.3,0,12.1c-4.9,1.4-7.4,2-12.5,3.4
|
||||
c0.1,17.1,0.1,25.4,0.2,40.1c5-1.4,7.5-2.1,12.3-3.4c0,4.1,0,6.1,0,10c-13.3,3.7-20.5,5.7-35.1,9.7c0-3.8,0-5.8-0.1-10
|
||||
c5.2-1.4,7.8-2.1,13-3.6c-0.1-14.7-0.2-23-0.3-40.1c-5.1,1.4-7.7,2.1-12.9,3.5C128.8,194.2,128.8,191.8,128.7,186.9"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 8.0 KiB |
|
@ -8,13 +8,13 @@
|
|||
<meta content="width" name="MobileOptimized">
|
||||
<meta content="true" name="HandheldFriendly">
|
||||
<!-- Place favicon.ico in the root directory -->
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
|
||||
<link rel="manifest" href="/site.webmanifest">
|
||||
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#000000">
|
||||
<meta name="msapplication-TileColor" content="#ffffff">
|
||||
<meta name="theme-color" content="#ff0000">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="favicon-16x16.png">
|
||||
<link rel="manifest" href="site.webmanifest">
|
||||
<link rel="mask-icon" href="safari-pinned-tab.svg" color="#5bbad5">
|
||||
<meta name="msapplication-TileColor" content="#da532c">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
<title>ENEI'19</title>
|
||||
<meta name="description"
|
||||
content="Página do Encontro Nacional de Estudantes de Informática 2019, no Instituto Superior de Engenharia de Coimbra (ISEC) a realizar-se entre 12 e 15 de abril de 2019. O ENEI pretende oferecer aos estudantes de todo o país um evento que promove a aprendizagem, a troca de ideias e o convívio, enquanto tenta criar fortes ligações com o mundo empresarial.">
|
||||
|
@ -43,34 +43,55 @@
|
|||
<li class="unavailable">Programa</li>
|
||||
<li><a href="#precos" title="Preços">Preços</a></li>
|
||||
<li class="unavailable">App</li>
|
||||
<li class="unavailable">Patrocinadores</li>
|
||||
<li><a href="#sponsors" title="Sponsors">Sponsors</a></li>
|
||||
<li><a href="#faqs" title="Faq's">Faq's</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
</header>
|
||||
<!-- apresentation section -->
|
||||
<div id="apresentation">
|
||||
<img src="imgs/logo-enei.png" alt="Logótipo ENEI" width="221" height="333" class="logo-enei">
|
||||
<div id="apresentation" class="">
|
||||
<!-- <img src="imgs/logo-enei.png" alt="Logótipo ENEI" width="221" height="333" class="logo-enei"> -->
|
||||
<svg version="1.1" id="logo-enei" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
x="0px" y="0px" viewBox="0 0 225 335" style="enable-background:new 0 0 225 335;" xml:space="preserve">
|
||||
<path id="linha" d="M220.7,5.4L5.6,63v269.1l215.2-57.6V5.4z" />
|
||||
<path id="ee" class="letras-logo" d="M61.3,97.8c13.2-3.5,19.8-5.2,33.3-8.8c0,3.8,0,5.9,0,10c-9.4,2.5-14.1,3.8-23.4,6.2c0,5.3,0,8,0,13.6
|
||||
c8.9-2.4,13.4-3.6,22.5-6c0,4.4,0,6.7,0,11.4c-9.1,2.4-13.6,3.6-22.5,6c0,6,0,9,0,15.2c9.6-2.5,14.5-3.8,24.4-6.5
|
||||
c0,4.8,0,7.3,0,12.2c-13.9,3.7-20.9,5.6-34.2,9.1V97.8z" />
|
||||
<path id="n" class="letras-logo"
|
||||
d="M153.7,129.1c0.5-0.1,0.8-0.2,1.4-0.4c-0.1-24.4-0.1-36.5-0.2-55.8c4.1-1.1,6.1-1.6,10.2-2.7v62.2
|
||||
c-7.7,2.1-11.6,3.2-19.5,5.3c-2.6-24-4-35.9-6.6-55.4c-0.6,0.2-0.8,0.2-1.4,0.4c0.1,20.1,0.2,32.4,0.4,57.1
|
||||
c-4.1,1.1-6.1,1.6-10.2,2.7c-0.1-20.7-0.2-41.5-0.4-62.2c7.9-2.1,11.9-3.2,19.8-5.3C149.8,93.6,151.1,105.3,153.7,129.1" />
|
||||
<path id="e" class="letras-logo" d="M61.3,204.9c12.9-3.4,19.7-5.2,33.3-8.9c0,4.9,0,7.4,0,12.2c-9.6,2.6-14.4,3.8-23.6,6.3
|
||||
c0,6.1,0,9.1,0,15c8.9-2.4,13.5-3.6,22.7-6.1c0,4.6,0,6.9,0,11.4c-9.2,2.5-13.8,3.7-22.7,6.1c0,5.7,0,8.5,0,13.8
|
||||
c9.6-2.6,14.6-3.9,24.6-6.6c0,4.1,0,6.1,0,10c-14.2,3.8-21.2,5.7-34.3,9.2V204.9z" />
|
||||
<path id="i" class="letras-logo" d="M128.7,186.9c14.5-3.9,21.7-5.9,35.5-9.7c0,4.9,0,7.3,0,12.1c-4.9,1.4-7.4,2-12.5,3.4
|
||||
c0.1,17.1,0.1,25.4,0.2,40.1c5-1.4,7.5-2.1,12.3-3.4c0,4.1,0,6.1,0,10c-13.3,3.7-20.5,5.7-35.1,9.7c0-3.8,0-5.8-0.1-10
|
||||
c5.2-1.4,7.8-2.1,13-3.6c-0.1-14.7-0.2-23-0.3-40.1c-5.1,1.4-7.7,2.1-12.9,3.5C128.8,194.2,128.8,191.8,128.7,186.9" />
|
||||
</svg>
|
||||
</div>
|
||||
|
||||
<!-- enei section -->
|
||||
<section id="enei">
|
||||
<div class="container">
|
||||
<div class="col-lg-7 col-sm-7">
|
||||
<div class="pre-h1">12 A 15 ABRIL DE 2019</div>
|
||||
<h1>ENEI</h1>
|
||||
<hr>
|
||||
<p>O Encontro Nacional de Estudantes de Informática é um dos maiores eventos na área da tecnologia em
|
||||
Portugal
|
||||
reunindo estudantes de informática de todas as faculdades do país.</p>
|
||||
<p>Reconhecido pela sua qualidade e variedade de temas e atividades, tem como prioridade o contacto
|
||||
entre
|
||||
participantes e empresas, bem como a socialização, o convívio e a troca de experiências e
|
||||
conhecimentos
|
||||
entre os presentes.</p>
|
||||
<div class="row">
|
||||
<div class="col-lg-7 col-sm-7">
|
||||
<div class="pre-h1">12 A 15 ABRIL DE 2019</div>
|
||||
<h1>ENEI</h1>
|
||||
<hr>
|
||||
<p>O Encontro Nacional de Estudantes de Informática é um dos maiores eventos na área da tecnologia
|
||||
em
|
||||
Portugal
|
||||
reunindo estudantes de informática de todas as faculdades do país.</p>
|
||||
<p>Reconhecido pela sua qualidade e variedade de temas e atividades, tem como prioridade o contacto
|
||||
entre
|
||||
participantes e empresas, bem como a socialização, o convívio e a troca de experiências e
|
||||
conhecimentos
|
||||
entre os presentes.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
<!-- count down section -->
|
||||
<aside id="countdown">
|
||||
<div>
|
||||
|
@ -94,104 +115,130 @@
|
|||
<!-- precos section -->
|
||||
<section id="precos">
|
||||
<div class="container">
|
||||
<div class="col-lg-10 col-lg-offset-1 col-sm-12 col-xs-10 col-xs-offset-1">
|
||||
<div class="pre-h1">ENEI'19</div>
|
||||
<h1>Preços</h1>
|
||||
<hr>
|
||||
<div class="price-block">
|
||||
<div class="type">Early-Bird</div>
|
||||
<div>
|
||||
<div class="individual-price">
|
||||
<div class="price"><span>€</span>25</div>
|
||||
<div class="label">Grupo</div>
|
||||
<span class="options">*Alimentação e alojamento (pavilhão) incluídos</span>
|
||||
</div>
|
||||
</div>
|
||||
<a href="https://tickets.enei.pt/group" title="Comprar" target="_blank" class="buy-button">Comprar</a>
|
||||
</div>
|
||||
<div class="price-block">
|
||||
<div class="type">Early-Bird</div>
|
||||
<div>
|
||||
<div class="individual-price">
|
||||
<div class="price"><span>€</span>30</div>
|
||||
<div class="label">Individual</div>
|
||||
<span class="options">*Alimentação e alojamento (pavilhão) incluídos</span>
|
||||
<div class="row">
|
||||
<div class="col-lg-10 col-lg-offset-1 col-sm-12 col-sm-offset-0 col-xs-10 col-xs-offset-1">
|
||||
<div class="pre-h1">ENEI'19</div>
|
||||
<h1>Preços</h1>
|
||||
<hr>
|
||||
<div class="price-block">
|
||||
<div class="type">Early-Bird</div>
|
||||
<div>
|
||||
<div class="individual-price">
|
||||
<div class="price"><span>€</span>25</div>
|
||||
<div class="label">Grupo</div>
|
||||
<span class="options">*Alimentação e alojamento (pavilhão) incluídos</span>
|
||||
</div>
|
||||
</div>
|
||||
<a href="https://tickets.enei.pt/group" title="Comprar" target="_blank"
|
||||
class="buy-button">Comprar</a>
|
||||
</div>
|
||||
<a href="https://tickets.enei.pt" title="Comprar" target="_blank"class="buy-button">Comprar</a>
|
||||
</div>
|
||||
<div class="price-block disable">
|
||||
<div class="type">Pontual</div>
|
||||
<div class="individual-price">
|
||||
<div class="price"><span>€</span>20</div>
|
||||
<div class="label">Individual</div>
|
||||
<span class="options">*Alimentação incluída</span>
|
||||
<div class="price-block">
|
||||
<div class="type">Early-Bird</div>
|
||||
<div>
|
||||
<div class="individual-price">
|
||||
<div class="price"><span>€</span>30</div>
|
||||
<div class="label">Individual</div>
|
||||
<span class="options">*Alimentação e alojamento (pavilhão) incluídos</span>
|
||||
</div>
|
||||
</div>
|
||||
<a href="https://tickets.enei.pt" title="Comprar" target="_blank" class="buy-button">Comprar</a>
|
||||
</div>
|
||||
<div class="price-block disable">
|
||||
<div class="type">Pontual</div>
|
||||
<div class="individual-price">
|
||||
<div class="price"><span>€</span>20</div>
|
||||
<div class="label">Individual</div>
|
||||
<span class="options">*Alimentação incluída</span>
|
||||
</div>
|
||||
<span class="buy-button">Brevemente</span>
|
||||
</div>
|
||||
<span class="buy-button">Brevemente</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Faqs -->
|
||||
<!-- sponsors section -->
|
||||
<section id="sponsors">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-4 col-lg-offset-4 col-sm-6 col-sm-offset-3 col-xs-10 col-xs-offset-1">
|
||||
<h1>Main Sponsor</h1>
|
||||
<hr>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-10 col-lg-offset-1 col-sm-8 col-sm-offset-2 col-xs-10 col-xs-offset-1">
|
||||
<a href="https://www.criticalsoftware.com/pt/homepage" title="Critical Software" target="_blank"
|
||||
class="sponsor-image"><img src="imgs/critical-sponsor.svg" alt="Critical Software Image"></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- faqs section -->
|
||||
<section id="faqs">
|
||||
<div class="container">
|
||||
<div class="col-lg-5">
|
||||
<div class="pre-h1">Perguntas Frequentes</div>
|
||||
<h1>Faq</h1>
|
||||
<hr>
|
||||
<div class="row">
|
||||
<div class="col-lg-5">
|
||||
<div class="pre-h1">Perguntas Frequentes</div>
|
||||
<h1>Faq</h1>
|
||||
<hr>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-10">
|
||||
<ul id="accordion">
|
||||
<li>
|
||||
<a href="#" title="O que é o ENEI?" rel="nofollow" class="toggle">O que é o ENEI?</a>
|
||||
<div class="content-accordion">
|
||||
<p>O Encontro Nacional de Estudantes de Informática (ENEI) é um evento que pretende
|
||||
oferecer aos estudantes de todo o país um evento que promove a aprendizagem, a troca de
|
||||
ideias e o convívio, enquanto tenta criar fortes ligações com o mundo empresarial.</p>
|
||||
<div class="row">
|
||||
<div class="col-lg-10">
|
||||
<ul id="accordion">
|
||||
<li>
|
||||
<a href="#" title="O que é o ENEI?" rel="nofollow" class="toggle">O que é o ENEI?</a>
|
||||
<div class="content-accordion">
|
||||
<p>O Encontro Nacional de Estudantes de Informática (ENEI) é um evento que pretende
|
||||
oferecer aos estudantes de todo o país um evento que promove a aprendizagem, a troca
|
||||
de
|
||||
ideias e o convívio, enquanto tenta criar fortes ligações com o mundo empresarial.
|
||||
</p>
|
||||
|
||||
<p> A 13ª edição do evento terá lugar no Instituto Superior de Engenharia de Coimbra (ISEC)
|
||||
entre os dias 12 e 15 de abril de 2019 e a organização espera contar com 700 estudantes
|
||||
que poderão participar em palestras, workshops e painéis de discussão, contando com
|
||||
oradores de renome nacional e internacional.</p>
|
||||
<p>Esta versão do evento também incluirá os tradicionais momentos de diversão noturnos
|
||||
que
|
||||
muito apelam a todos os participantes das antigas edições e são uma excelente via de
|
||||
networking e transferência de conhecimento!</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" title="Onde me posso inscrever?" rel="nofollow" class="toggle">Onde me posso
|
||||
inscrever?</a>
|
||||
<div class="content-accordion">
|
||||
<p>Podes adquirir o teu bilhete <a href="https://tickets.enei.pt" title="Aqui">AQUI</a>.
|
||||
</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" title="Quando é o programa vai estar disponível?" rel="nofollow"
|
||||
class="toggle">Quando é o programa vai estar disponível?</a>
|
||||
<div class="content-accordion">
|
||||
<p>O programa vai sendo lançado nas próximas semanas de forma iterativa.</p>
|
||||
|
||||
<p>Esta versão do evento também incluirá os tradicionais momentos de diversão noturnos que
|
||||
muito apelam a todos os participantes das antigas edições e são uma excelente via de
|
||||
networking e transferência de conhecimento!</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" title="Onde me posso inscrever?" rel="nofollow" class="toggle">Onde me posso
|
||||
inscrever?</a>
|
||||
<div class="content-accordion">
|
||||
<p>Podes adquirir o teu bilhete <a href="https://tickets.enei.pt" title="Aqui">AQUI</a>.</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" title="Quando é o programa vai estar disponível?" rel="nofollow" class="toggle">Quando é o programa vai estar disponível?</a>
|
||||
<div class="content-accordion">
|
||||
<p>O programa vai sendo lançado nas próximas semanas de forma iterativa.</p>
|
||||
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" title="Quem pode participar no evento?" rel="nofollow" class="toggle">Quem pode
|
||||
participar no evento?</a>
|
||||
<div class="content-accordion">
|
||||
<p>Podem participar no ENEI’19 todos os estudantes de cursos relacionados com informática e
|
||||
todos aqueles que querem aprender mais sobre os temas abordados!</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" title="Tenho acesso a todas as sessões?" rel="nofollow" class="toggle">Tenho
|
||||
acesso a todas as sessões?</a>
|
||||
<div class="content-accordion">
|
||||
<p>Não, as palestras e workshops necessitam de inscrições visto que têm lugares limitados.</p>
|
||||
<p>Brevemente poderás te inscrever na aplicação móvel do ENEI'19!</p>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" title="Quem pode participar no evento?" rel="nofollow" class="toggle">Quem pode
|
||||
participar no evento?</a>
|
||||
<div class="content-accordion">
|
||||
<p>Podem participar no ENEI’19 todos os estudantes de cursos relacionados com
|
||||
informática e
|
||||
todos aqueles que querem aprender mais sobre os temas abordados!</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" title="Tenho acesso a todas as sessões?" rel="nofollow" class="toggle">Tenho
|
||||
acesso a todas as sessões?</a>
|
||||
<div class="content-accordion">
|
||||
<p>Não, as palestras e workshops necessitam de inscrições visto que têm lugares
|
||||
limitados.</p>
|
||||
<p>Brevemente poderás te inscrever na aplicação móvel do ENEI'19!</p>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
@ -199,25 +246,29 @@
|
|||
<!-- social network section -->
|
||||
<aside id="social-network">
|
||||
<div class="container">
|
||||
<div class="col-lg-8 col-lg-offset-2">
|
||||
<h2>Segue-nos</h2>
|
||||
<ul>
|
||||
<li><a href="https://www.facebook.com/ENEIConf/" title="Facebook" target="_blank"
|
||||
class="icon-facebook"></a></li>
|
||||
<li><a href="https://www.instagram.com/eneiconf/" title="Instagram" target="_blank"
|
||||
class="icon-instagram"></a></li>
|
||||
<li><a href="https://www.linkedin.com/company/enei/" title="Linkedin" target="_blank"
|
||||
class="icon-linkedin"></a></li>
|
||||
<li><a href="mailto:geral@enei.pt" title="Email" target="_blank" class="icon-email"></a></li>
|
||||
</ul>
|
||||
<div class="row">
|
||||
<div class="col-lg-8 col-lg-offset-2">
|
||||
<h2>Segue-nos</h2>
|
||||
<ul>
|
||||
<li><a href="https://www.facebook.com/ENEIConf/" title="Facebook" target="_blank"
|
||||
class="icon-facebook"></a></li>
|
||||
<li><a href="https://www.instagram.com/eneiconf/" title="Instagram" target="_blank"
|
||||
class="icon-instagram"></a></li>
|
||||
<li><a href="https://www.linkedin.com/company/enei/" title="Linkedin" target="_blank"
|
||||
class="icon-linkedin"></a></li>
|
||||
<li><a href="mailto:geral@enei.pt" title="Email" target="_blank" class="icon-email"></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</aside>
|
||||
<!-- footer -->
|
||||
<footer>
|
||||
<div class="container">
|
||||
<div class="col-lg-12">
|
||||
<p>© 2019 ENEI . Todos os direitos reservados</p>
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<p>© 2019 ENEI . Todos os direitos reservados</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
@ -227,15 +278,15 @@
|
|||
<script type="text/javascript" src="js/scripts.js"></script>
|
||||
|
||||
<!-- Global site tag (gtag.js) - Google Analytics -->
|
||||
<!-- Global site tag (gtag.js) - Google Analytics -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-130588243-1"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){dataLayer.push(arguments);}
|
||||
gtag('js', new Date());
|
||||
<!-- Global site tag (gtag.js) - Google Analytics -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-130588243-1"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag() { dataLayer.push(arguments); }
|
||||
gtag('js', new Date());
|
||||
|
||||
gtag('config', 'UA-130588243-1');
|
||||
</script>
|
||||
gtag('config', 'UA-130588243-1');
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -42,8 +42,54 @@ function changeMainMenu(scrollMovement) {
|
|||
}
|
||||
}
|
||||
|
||||
// cookies code
|
||||
function setCookie(name, value, days) {
|
||||
var expires = "";
|
||||
if (days) {
|
||||
var date = new Date();
|
||||
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
|
||||
expires = "; expires=" + date.toUTCString();
|
||||
}
|
||||
document.cookie = name + "=" + (value || "") + expires + "; path=/";
|
||||
}
|
||||
|
||||
function getCookie(name) {
|
||||
var nameEQ = name + "=";
|
||||
var ca = document.cookie.split(';');
|
||||
for (var i = 0; i < ca.length; i++) {
|
||||
var c = ca[i];
|
||||
while (c.charAt(0) == ' ') c = c.substring(1, c.length);
|
||||
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
function eraseCookie(name) {
|
||||
document.cookie = name + '=; Max-Age=-99999999;';
|
||||
}
|
||||
|
||||
// se o cookie ja existir
|
||||
/*
|
||||
var cookie = getCookie('ppkcookie');
|
||||
if (cookie) {
|
||||
document.getElementById("apresentation").classList.add("animated");
|
||||
} else {
|
||||
// add cookie
|
||||
setCookie('ppkcookie', 'animatedLogo', 3);
|
||||
setTimeout(function () {
|
||||
document.getElementById("apresentation").classList.add("animated");
|
||||
}, 1100);
|
||||
}
|
||||
*/
|
||||
// end cookies code
|
||||
|
||||
$(document).ready(function () {
|
||||
|
||||
// inicial animation
|
||||
setTimeout(function () {
|
||||
document.getElementById("apresentation").classList.add("animated");
|
||||
}, 1200);
|
||||
|
||||
// main menu anchors
|
||||
$("#main-menu ul li a").click(function () {
|
||||
var hrefMenuClicked = $(this).attr("href");
|
||||
|
|
180
website/main.css
|
@ -8,6 +8,54 @@
|
|||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}*/
|
||||
@-webkit-keyframes animateLineLogo {
|
||||
15% {
|
||||
fill: #c7403a;
|
||||
}
|
||||
30% {
|
||||
fill: #81898e;
|
||||
}
|
||||
45% {
|
||||
fill: #993d3f;
|
||||
}
|
||||
100% {
|
||||
fill: #000000;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes animateLineLogo {
|
||||
15% {
|
||||
fill: #c7403a;
|
||||
}
|
||||
30% {
|
||||
fill: #81898e;
|
||||
}
|
||||
45% {
|
||||
fill: #993d3f;
|
||||
}
|
||||
100% {
|
||||
fill: #000000;
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes animateLettersLogo {
|
||||
from {
|
||||
fill: transparent;
|
||||
}
|
||||
to {
|
||||
fill: #ffffff;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes animateLettersLogo {
|
||||
from {
|
||||
fill: transparent;
|
||||
}
|
||||
to {
|
||||
fill: #ffffff;
|
||||
}
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "icomoon";
|
||||
src: url("fonts/icomoon.eot?sozc77");
|
||||
|
@ -102,7 +150,7 @@ aside {
|
|||
section,
|
||||
article,
|
||||
aside {
|
||||
padding: 50px 0;
|
||||
padding: 55px 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -110,7 +158,7 @@ aside {
|
|||
section,
|
||||
article,
|
||||
aside {
|
||||
padding: 40px 0;
|
||||
padding: 45px 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -514,31 +562,16 @@ hr::after {
|
|||
}
|
||||
}
|
||||
|
||||
#apresentation {
|
||||
height: 100vh;
|
||||
background: url("imgs/coimbra-image.jpg") no-repeat center;
|
||||
background-size: cover;
|
||||
background-attachment: fixed;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
@media (max-width: 769px) {
|
||||
#apresentation {
|
||||
height: 60vh;
|
||||
background-position: bottom right;
|
||||
background-attachment: inherit;
|
||||
}
|
||||
}
|
||||
|
||||
#apresentation .logo-enei {
|
||||
#logo-enei {
|
||||
width: 221px;
|
||||
position: absolute;
|
||||
position: fixed;
|
||||
top: calc(50% - 166px);
|
||||
left: calc(50% - 110px);
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
@media (max-width: 1024px) {
|
||||
#apresentation .logo-enei {
|
||||
#logo-enei {
|
||||
width: 175px;
|
||||
top: calc(50% - 131px);
|
||||
left: calc(50% - 87px);
|
||||
|
@ -546,13 +579,81 @@ hr::after {
|
|||
}
|
||||
|
||||
@media (max-width: 769px) {
|
||||
#apresentation .logo-enei {
|
||||
#logo-enei {
|
||||
width: 125px;
|
||||
top: calc(50% - 70px);
|
||||
left: calc(50% - 62px);
|
||||
}
|
||||
}
|
||||
|
||||
#logo-enei #linha {
|
||||
fill: transparent;
|
||||
-webkit-animation: animateLineLogo 1s 0.25s forwards;
|
||||
/* Safari & Chrome */
|
||||
/* Firefox */
|
||||
animation: animateLineLogo 1s 0.25s forwards;
|
||||
}
|
||||
|
||||
#logo-enei .letras-logo {
|
||||
fill: transparent;
|
||||
-webkit-animation: animateLettersLogo 0.25s 0.7s forwards ease-in;
|
||||
animation: animateLettersLogo 0.25s 0.7s forwards ease-in;
|
||||
}
|
||||
|
||||
#apresentation {
|
||||
height: 100vh;
|
||||
background: url("imgs/coimbra-image.jpg") no-repeat center;
|
||||
background-size: cover;
|
||||
background-attachment: fixed;
|
||||
z-index: 10;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
#apresentation::after {
|
||||
content: " ";
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: #ffffff;
|
||||
opacity: 1;
|
||||
-webkit-transition: opacity 150ms ease-out;
|
||||
transition: opacity 150ms ease-out;
|
||||
}
|
||||
|
||||
#apresentation.animated {
|
||||
z-index: 0;
|
||||
}
|
||||
|
||||
#apresentation.animated::after {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
#apresentation.animated #logo-enei {
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
#apresentation.animated #linha {
|
||||
fill: #000000;
|
||||
-webkit-animation: none;
|
||||
animation: none;
|
||||
}
|
||||
|
||||
#apresentation.animated .letras-logo {
|
||||
fill: #ffffff;
|
||||
-webkit-animation: none;
|
||||
animation: none;
|
||||
}
|
||||
|
||||
@media (max-width: 769px) {
|
||||
#apresentation {
|
||||
height: 60vh;
|
||||
background-position: bottom right;
|
||||
background-attachment: inherit;
|
||||
}
|
||||
}
|
||||
|
||||
#enei {
|
||||
background-color: #ffffff;
|
||||
background: url("imgs/cubes-image.png") no-repeat top right;
|
||||
|
@ -977,10 +1078,6 @@ hr::after {
|
|||
background-size: 30%;
|
||||
}
|
||||
|
||||
#faqs {
|
||||
background-color: #eeeeee;
|
||||
}
|
||||
|
||||
#accordion li {
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
@ -1035,33 +1132,46 @@ hr::after {
|
|||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
#patrocinadores {
|
||||
#sponsors {
|
||||
background-color: #eeeeee;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#patrocinadores h1 {
|
||||
color: #000000;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
#patrocinadores hr {
|
||||
#sponsors hr {
|
||||
display: table;
|
||||
margin: 0 auto;
|
||||
width: 60%;
|
||||
background-color: #353535;
|
||||
}
|
||||
|
||||
#patrocinadores hr::after {
|
||||
#sponsors hr::after {
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
-webkit-transform: translateX(-50%);
|
||||
}
|
||||
|
||||
#sponsors .sponsor-image {
|
||||
display: block;
|
||||
margin: 40px auto 0;
|
||||
max-width: 200px;
|
||||
-webkit-filter: grayscale(0.2);
|
||||
filter: grayscale(0.2);
|
||||
-webkit-transform: scale(1);
|
||||
transform: scale(1);
|
||||
-webkit-transition: all 150ms ease-in-out;
|
||||
transition: all 150ms ease-in-out;
|
||||
}
|
||||
|
||||
#sponsors .sponsor-image:hover {
|
||||
-webkit-filter: grayscale(0);
|
||||
filter: grayscale(0);
|
||||
-webkit-transform: scale(1.03);
|
||||
transform: scale(1.03);
|
||||
}
|
||||
|
||||
#social-network {
|
||||
text-align: center;
|
||||
background-color: #000000;
|
||||
padding: 75px 0;
|
||||
}
|
||||
|
||||
#social-network h2 {
|
||||
|
|
|
@ -65,6 +65,59 @@ $bold: 700;
|
|||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes animateLineLogo {
|
||||
15% {
|
||||
fill: #c7403a;
|
||||
}
|
||||
30% {
|
||||
fill: #81898e;
|
||||
}
|
||||
45% {
|
||||
fill: #993d3f;
|
||||
}
|
||||
100% {
|
||||
fill: #000000;
|
||||
}
|
||||
}
|
||||
@-moz-keyframes animateLineLogo {
|
||||
15% {
|
||||
fill: #c7403a;
|
||||
}
|
||||
30% {
|
||||
fill: #81898e;
|
||||
}
|
||||
45% {
|
||||
fill: #993d3f;
|
||||
}
|
||||
100% {
|
||||
fill: #000000;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes animateLineLogo {
|
||||
15% {
|
||||
fill: #c7403a;
|
||||
}
|
||||
30% {
|
||||
fill: #81898e;
|
||||
}
|
||||
45% {
|
||||
fill: #993d3f;
|
||||
}
|
||||
100% {
|
||||
fill: #000000;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes animateLettersLogo {
|
||||
from {
|
||||
fill: transparent;
|
||||
}
|
||||
to {
|
||||
fill: #ffffff;
|
||||
}
|
||||
}
|
||||
|
||||
//icons
|
||||
$icomoon-font-path: "fonts" !default;
|
||||
|
||||
|
@ -174,10 +227,10 @@ article,
|
|||
aside {
|
||||
padding: 100px 0;
|
||||
@include portable {
|
||||
padding: 50px 0;
|
||||
padding: 55px 0;
|
||||
}
|
||||
@include mobile {
|
||||
padding: 40px 0;
|
||||
padding: 45px 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -315,7 +368,7 @@ select {
|
|||
font-family: "Bai Jamjuree", sans-serif;
|
||||
font-size: 17px;
|
||||
line-height: 21px;
|
||||
color: #353535;
|
||||
color: $dark-grey;
|
||||
display: table;
|
||||
margin: 0 auto;
|
||||
background-color: white;
|
||||
|
@ -480,31 +533,70 @@ hr {
|
|||
}
|
||||
}
|
||||
|
||||
#logo-enei {
|
||||
width: 221px;
|
||||
@include position(fixed, calc(50% - 166px), null, null, calc(50% - 110px));
|
||||
z-index: 10;
|
||||
@include portable {
|
||||
width: 175px;
|
||||
top: calc(50% - 131px);
|
||||
left: calc(50% - 87px);
|
||||
}
|
||||
@include mobile {
|
||||
width: 125px;
|
||||
top: calc(50% - 70px);
|
||||
left: calc(50% - 62px);
|
||||
}
|
||||
#linha {
|
||||
fill: transparent;
|
||||
-webkit-animation: animateLineLogo 1s 0.25s forwards; /* Safari & Chrome */
|
||||
-moz-animation: animateLineLogo 1s 0.25s forwards; /* Firefox */
|
||||
animation: animateLineLogo 1s 0.25s forwards;
|
||||
}
|
||||
.letras-logo {
|
||||
fill: transparent;
|
||||
animation: animateLettersLogo 0.25s 0.7s forwards ease-in;
|
||||
}
|
||||
}
|
||||
|
||||
#apresentation {
|
||||
height: 100vh;
|
||||
background: url("imgs/coimbra-image.jpg") no-repeat center;
|
||||
background-size: cover;
|
||||
background-attachment: fixed;
|
||||
z-index: 10;
|
||||
position: relative;
|
||||
|
||||
&::after {
|
||||
content: " ";
|
||||
@include position(fixed, 0, null, null, 0);
|
||||
@include size(100%, 100%);
|
||||
background-color: $white;
|
||||
opacity: 1;
|
||||
transition: opacity 150ms ease-out;
|
||||
}
|
||||
&.animated {
|
||||
z-index: 0;
|
||||
&::after {
|
||||
opacity: 0;
|
||||
}
|
||||
#logo-enei {
|
||||
position: absolute;
|
||||
}
|
||||
#linha {
|
||||
fill: $black;
|
||||
animation: none;
|
||||
}
|
||||
.letras-logo {
|
||||
fill: $white;
|
||||
animation: none;
|
||||
}
|
||||
}
|
||||
@include mobile {
|
||||
height: 60vh;
|
||||
background-position: bottom right;
|
||||
background-attachment: inherit;
|
||||
}
|
||||
.logo-enei {
|
||||
width: 221px;
|
||||
@include position(absolute, calc(50% - 166px), null, null, calc(50% - 110px));
|
||||
@include portable {
|
||||
width: 175px;
|
||||
top: calc(50% - 131px);
|
||||
left: calc(50% - 87px);
|
||||
}
|
||||
@include mobile {
|
||||
width: 125px;
|
||||
top: calc(50% - 70px);
|
||||
left: calc(50% - 62px);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#enei {
|
||||
|
@ -806,10 +898,6 @@ hr {
|
|||
background-size: 30%;
|
||||
}
|
||||
|
||||
#faqs {
|
||||
background-color: #eeeeee;
|
||||
}
|
||||
|
||||
#accordion {
|
||||
li {
|
||||
margin-bottom: 15px;
|
||||
|
@ -857,13 +945,9 @@ hr {
|
|||
}
|
||||
}
|
||||
|
||||
#patrocinadores {
|
||||
#sponsors {
|
||||
background-color: $light-grey;
|
||||
text-align: center;
|
||||
h1 {
|
||||
color: $black;
|
||||
font-weight: $regular;
|
||||
}
|
||||
hr {
|
||||
display: table;
|
||||
margin: 0 auto;
|
||||
|
@ -875,12 +959,23 @@ hr {
|
|||
-webkit-transform: translateX(-50%);
|
||||
}
|
||||
}
|
||||
.sponsor-image {
|
||||
display: block;
|
||||
margin: 40px auto 0;
|
||||
max-width: 200px;
|
||||
filter: grayscale(0.2);
|
||||
transform: scale(1);
|
||||
transition: all $transition-time ease-in-out;
|
||||
&:hover {
|
||||
filter: grayscale(0);
|
||||
transform: scale(1.03);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#social-network {
|
||||
text-align: center;
|
||||
background-color: $black;
|
||||
padding: 75px 0;
|
||||
h2 {
|
||||
color: $white;
|
||||
margin-bottom: 30px;
|
||||
|
|
|
@ -8,11 +8,11 @@
|
|||
<meta content="width" name="MobileOptimized">
|
||||
<meta content="true" name="HandheldFriendly">
|
||||
<!-- Place favicon.ico in the root directory -->
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
|
||||
<link rel="manifest" href="/site.webmanifest">
|
||||
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="favicon-16x16.png">
|
||||
<link rel="manifest" href="site.webmanifest">
|
||||
<link rel="mask-icon" href="safari-pinned-tab.svg" color="#5bbad5">
|
||||
<meta name="msapplication-TileColor" content="#da532c">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
<title>ENEI'19 - Bilhete Único</title>
|
||||
|
|