diff --git a/App.js b/App.js
index da6d0d9..327bf53 100644
--- a/App.js
+++ b/App.js
@@ -1,268 +1,99 @@
-// import React from "react";
-// import { StyleSheet, Text, View } from "react-native";
-// import { GiftedChat } from "react-native-gifted-chat";
-// export default class App extends React.Component {
-// state = {
-// messages: [
-// {
-// _id: 1,
-// text: "heyo team puddin",
-// createdAt: new Date()
-// }
-// ]
-// };
-// render() {
-// return (
-//
-//
-//
-// );
-// }
-// }
-// const styles = StyleSheet.create({
-// container: {
-// flex: 1
-// }
-// });
-
-
import React from 'react';
-import {
- Platform,
- StyleSheet,
- Text,
- View,
-} from 'react-native';
-
+import ReactNative from "react-native";
+import { Platform, StatusBar, StyleSheet, View } from 'react-native';
+import { AppLoading, Asset, Font, Icon } from 'expo';
+import AppNavigator from './navigation/AppNavigator';
+import Login from './screens/Login';
+import ChooseTutor from './screens/ChooseTutor';
import {GiftedChat, Actions, Bubble, SystemMessage} from 'react-native-gifted-chat';
import CustomActions from './CustomActions';
import CustomView from './CustomView';
-export default class Example extends React.Component {
- constructor(props) {
- super(props);
- this.state = {
- messages: [],
- loadEarlier: true,
- typingText: null,
- isLoadingEarlier: false,
- };
-
- this._isMounted = false;
- this.onSend = this.onSend.bind(this);
- this.onReceive = this.onReceive.bind(this);
- this.renderCustomActions = this.renderCustomActions.bind(this);
- this.renderBubble = this.renderBubble.bind(this);
- this.renderSystemMessage = this.renderSystemMessage.bind(this);
- this.renderFooter = this.renderFooter.bind(this);
- this.onLoadEarlier = this.onLoadEarlier.bind(this);
-
- this._isAlright = null;
- }
-
- componentWillMount() {
- this._isMounted = true;
- this.setState(() => {
- return {
- messages: require('./data/messages.js'),
- };
- });
- }
-
- componentWillUnmount() {
- this._isMounted = false;
- }
-
- onLoadEarlier() {
- this.setState((previousState) => {
- return {
- isLoadingEarlier: true,
- };
- });
-
- setTimeout(() => {
- if (this._isMounted === true) {
- this.setState((previousState) => {
- return {
- messages: GiftedChat.prepend(previousState.messages, require('./data/old_messages.js')),
- loadEarlier: false,
- isLoadingEarlier: false,
- };
- });
- }
- }, 1000); // simulating network
- }
-
- onSend(messages = []) {
- this.setState((previousState) => {
- return {
- messages: GiftedChat.append(previousState.messages, messages),
- };
- });
-
- // for demo purpose
- this.answerDemo(messages);
- }
-
- answerDemo(messages) {
- if (messages.length > 0) {
- if ((messages[0].image || messages[0].location) || !this._isAlright) {
- this.setState((previousState) => {
- return {
- typingText: 'Tutor is typing...'
- };
- });
- }
+export default class App extends React.Component {
+
+ constructor(props){
+ super(props)
+ this.state={
+ isLoadingComplete: false,
+ hasChosen: false,
+ isMentor:false
}
-
- setTimeout(() => {
- if (this._isMounted === true) {
- if (messages.length > 0) {
- if (messages[0].image) {
- this.onReceive('Nice picture!');
- } else if (messages[0].location) {
- this.onReceive('My favorite place');
- } else {
- if (!this._isAlright) {
- this.onReceive('¿Hola, como estás?');
- this._isAlright = true;
- }
- }
- }
- }
-
- this.setState((previousState) => {
- return {
- typingText: null,
- };
- });
- }, 1000);
+ this.hasChosenChange = this.hasChosenChange.bind(this);
+ this.goBack = this.goBack.bind(this);
}
-
- onReceive(text) {
- this.setState((previousState) => {
- return {
- messages: GiftedChat.append(previousState.messages, {
- _id: Math.round(Math.random() * 1000000),
- text: text,
- createdAt: new Date(),
- user: {
- _id: 2,
- name: 'React Native',
- // avatar: 'https://facebook.github.io/react/img/logo_og.png',
- },
- }),
- };
+
+ hasChosenChange = (isMentor)=>{
+ this.setState({
+ hasChosen:true,
+ isMentor:isMentor
});
}
+ goBack = ()=>{
+ this.setState({
+ hasChosen:false
+ })
+ }
- renderCustomActions(props) {
- if (Platform.OS === 'ios') {
+ render() {
+ if (!this.state.isLoadingComplete && !this.props.skipLoadingScreen) {
return (
-
);
+ } else {
+ if(!this.state.hasChosen){
+ return (
+
+ {Platform.OS === 'ios' && }
+
+
+ );
+ }else{
+ return(
+
+ )
+ }
}
- const options = {
- 'Action 1': (props) => {
- alert('option 1');
- },
- 'Action 2': (props) => {
- alert('option 2');
- },
- 'Cancel': () => {},
- };
- return (
-
- );
}
- //other person messages
- renderBubble(props) {
- return (
-
- );
- }
- renderSystemMessage(props) {
- return (
-
- );
- }
- renderCustomView(props) {
- return (
-
- );
- }
- renderFooter(props) {
- if (this.state.typingText) {
- return (
-
-
- {this.state.typingText}
-
-
- );
- }
- return null;
- }
-
- render() {
- return (
-
- );
- }
+ _loadResourcesAsync = async () => {
+ return Promise.all([
+ Asset.loadAsync([
+ require('./assets/images/robot-dev.png'),
+ require('./assets/images/robot-prod.png'),
+ ]),
+ Font.loadAsync({
+ // This is the font that we are using for our tab bar
+ ...Icon.Ionicons.font,
+ // We include SpaceMono because we use it in HomeScreen.js. Feel free
+ // to remove this if you are not using it in your app
+ 'space-mono': require('./assets/fonts/SpaceMono-Regular.ttf'),
+ }),
+ ]);
+ };
+
+ _handleLoadingError = error => {
+ // In this case, you might want to report the error to your error
+ // reporting service, for example Sentry
+ console.warn(error);
+ };
+
+ _handleFinishLoading = () => {
+ this.setState({ isLoadingComplete: true });
+ };
}
const styles = StyleSheet.create({
- footerContainer: {
- marginTop: 5,
- marginLeft: 10,
- marginRight: 10,
- marginBottom: 10,
- },
- footerText: {
- fontSize: 14,
- color: '#aaa',
+ container: {
+ flex: 1,
+ backgroundColor: '#fff',
},
});
+
diff --git a/app.json b/app.json
index cb65052..6a3aaa8 100644
--- a/app.json
+++ b/app.json
@@ -8,9 +8,9 @@
"ios",
"android"
],
- "version": "1.0.0",
+ "version": "1.1.0",
"orientation": "portrait",
- "icon": "./assets/images/icon.png",
+ "icon": "./assets/images/english-aide-icon.png",
"splash": {
"image": "./assets/images/splash.png",
"resizeMode": "contain",
diff --git a/assets/images/english-aide-icon.png b/assets/images/english-aide-icon.png
new file mode 100644
index 0000000..ee5c0c8
Binary files /dev/null and b/assets/images/english-aide-icon.png differ
diff --git a/assets/images/icon.png b/assets/images/icon.png
deleted file mode 100644
index 3f5bbc0..0000000
Binary files a/assets/images/icon.png and /dev/null differ
diff --git a/components/TabBarIcon.js b/components/TabBarIcon.js
index 2f1ebed..cb36a89 100644
--- a/components/TabBarIcon.js
+++ b/components/TabBarIcon.js
@@ -10,7 +10,7 @@ export default class TabBarIcon extends React.Component {
name={this.props.name}
size={26}
style={{ marginBottom: -3 }}
- color={this.props.focused ? Colors.tabIconSelected : Colors.tabIconDefault}
+ color={"#ffff"}
/>
);
}
diff --git a/constants/Colors.js b/constants/Colors.js
index d8bd415..dd8c21d 100644
--- a/constants/Colors.js
+++ b/constants/Colors.js
@@ -4,7 +4,7 @@ export default {
tintColor,
tabIconDefault: '#ccc',
tabIconSelected: tintColor,
- tabBar: '#fefefe',
+ tabBar: '#0076be',
errorBackground: 'red',
errorText: '#fff',
warningBackground: '#EAEB5E',
diff --git a/data/messages.js b/data/messages.js
index d0a41c9..03a1d2a 100755
--- a/data/messages.js
+++ b/data/messages.js
@@ -1,28 +1,28 @@
module.exports = [
- {
- _id: Math.round(Math.random() * 1000000),
- text: 'Yes, and I use Gifted Chat!',
- createdAt: new Date(Date.UTC(2016, 7, 30, 17, 20, 0)),
- user: {
- _id: 1,
- name: 'Developer',
- },
- sent: true,
- received: true,
- // location: {
- // latitude: 48.864601,
- // longitude: 2.398704
- // },
- },
- {
- _id: Math.round(Math.random() * 1000000),
- text: 'Are you building a chat app?',
- createdAt: new Date(Date.UTC(2016, 7, 30, 17, 20, 0)),
- user: {
- _id: 2,
- name: 'React Native',
- },
- },
+ // {
+ // _id: Math.round(Math.random() * 1000000),
+ // text: 'Yes, and I use Gifted Chat!',
+ // createdAt: new Date(Date.UTC(2016, 7, 30, 17, 20, 0)),
+ // user: {
+ // _id: 1,
+ // name: 'Developer',
+ // },
+ // sent: true,
+ // received: true,
+ // // location: {
+ // // latitude: 48.864601,
+ // // longitude: 2.398704
+ // // },
+ // },
+ // {
+ // _id: Math.round(Math.random() * 1000000),
+ // text: 'Hello!',
+ // createdAt: new Date(Date.UTC(2016, 7, 30, 17, 20, 0)),
+ // user: {
+ // _id: 2,
+ // name: 'React Native',
+ // },
+ // },
{
_id: Math.round(Math.random() * 1000000),
text: "You are now talking to your Tutor",
diff --git a/navigation/MainTabNavigator.js b/navigation/MainTabNavigator.js
index ce7efd1..ac35b6e 100644
--- a/navigation/MainTabNavigator.js
+++ b/navigation/MainTabNavigator.js
@@ -1,5 +1,5 @@
import React from 'react';
-import { Platform } from 'react-native';
+import { Platform, Dimensions } from 'react-native';
import { createStackNavigator, createBottomTabNavigator } from 'react-navigation';
import TabBarIcon from '../components/TabBarIcon';
@@ -7,10 +7,13 @@ import HomeScreen from '../screens/HomeScreen';
import LinksScreen from '../screens/LinksScreen';
import SettingsScreen from '../screens/SettingsScreen';
+var {height, width} = Dimensions.get('window');
+
const HomeStack = createStackNavigator({
Home: HomeScreen,
});
+// Home Icon
HomeStack.navigationOptions = {
tabBarLabel: 'Home',
tabBarIcon: ({ focused }) => (
@@ -18,23 +21,24 @@ HomeStack.navigationOptions = {
focused={focused}
name={
Platform.OS === 'ios'
- ? `ios-information-circle${focused ? '' : '-outline'}`
- : 'md-information-circle'
+ ? `ios-home`
+ : 'md-home'
}
/>
),
};
+// Message Icon
const LinksStack = createStackNavigator({
Links: LinksScreen,
});
LinksStack.navigationOptions = {
- tabBarLabel: 'Links',
+ tabBarLabel: 'Messages',
tabBarIcon: ({ focused }) => (
),
};
@@ -48,7 +52,7 @@ SettingsStack.navigationOptions = {
tabBarIcon: ({ focused }) => (
),
};
@@ -57,4 +61,31 @@ export default createBottomTabNavigator({
HomeStack,
LinksStack,
SettingsStack,
+},
+{
+ tabBarOptions: {
+
+ activeTintColor: "#ffff" ,
+ inactiveTintColor: "#0076be",
+
+
+
+ showIcon: true,
+
+ labelStyle: {
+ fontSize: 12,
+
+ },
+ tabStyle: {
+ width: (1/3)*width,
+
+
+ },
+ style: {
+ backgroundColor: "#4db4d7",
+
+ }
+
+ }
+
});
diff --git a/package-lock.json b/package-lock.json
index 498ea22..c8d16fb 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,6 +1,8 @@
{
- "requires": true,
+ "name": "englishaide",
+ "version": "1.0.0",
"lockfileVersion": 1,
+ "requires": true,
"dependencies": {
"@babel/code-frame": {
"version": "7.0.0",
@@ -774,6 +776,165 @@
"tiny-queue": "^0.2.1"
}
},
+ "@firebase/app": {
+ "version": "0.3.7",
+ "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.3.7.tgz",
+ "integrity": "sha512-MrMNsmJHncSl6BENNQWGg5ggWHyEbRccQr5bbOOzvDJuPW1OvK1LwSLE9SRPV4W66pk4RH0B5eMwjDTWJemKeg==",
+ "requires": {
+ "@firebase/app-types": "0.3.2",
+ "@firebase/util": "0.2.5",
+ "dom-storage": "2.1.0",
+ "tslib": "1.9.0",
+ "xmlhttprequest": "1.8.0"
+ }
+ },
+ "@firebase/app-types": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.3.2.tgz",
+ "integrity": "sha512-ZD8lTgW07NGgo75bTyBJA8Lt9+NweNzot7lrsBtIvfciwUzaFJLsv2EShqjBeuhF7RpG6YFucJ6m67w5buCtzw=="
+ },
+ "@firebase/auth": {
+ "version": "0.9.1",
+ "resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-0.9.1.tgz",
+ "integrity": "sha512-kiJtKXzM7DD1UNTdWcMmmRoU4LBX95JPWgCUN6nzumO1Ed+1izsgE4OwYVbZo+inSlOp6au0JTJrecsHHBemug==",
+ "requires": {
+ "@firebase/auth-types": "0.5.0"
+ }
+ },
+ "@firebase/auth-types": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/@firebase/auth-types/-/auth-types-0.5.0.tgz",
+ "integrity": "sha512-DSjtsIjTy5RSiWyGHqiGkLcDgEgFEf2aD2O0t/0+lHmAzxUGrJFO5+IkPNV6i0ffmtiJaXQDJ7z7q4OdypDBCg=="
+ },
+ "@firebase/database": {
+ "version": "0.3.10",
+ "resolved": "https://registry.npmjs.org/@firebase/database/-/database-0.3.10.tgz",
+ "integrity": "sha512-ejG/EBxb8/Xe/HLEHL2wb6ONSvmmkDOtxQ1GShqZwzOvTJLbRSLre0PbtMA7XuwC3KBy3tqMQgaL7USNCCfzHw==",
+ "requires": {
+ "@firebase/database-types": "0.3.3",
+ "@firebase/logger": "0.1.4",
+ "@firebase/util": "0.2.5",
+ "faye-websocket": "0.11.1",
+ "tslib": "1.9.0"
+ }
+ },
+ "@firebase/database-types": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-0.3.3.tgz",
+ "integrity": "sha512-HNFO+YFyqaoiZ+J5blIHuXDveJ+S/jMA2gPRCE54jZcjdtAnTCOp6Iy2sMLkHOy/y96e/BqmowNQ0HPoj0Uunw=="
+ },
+ "@firebase/firestore": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-1.0.0.tgz",
+ "integrity": "sha512-6MWExihw16C+/JHbjjr/QxeFDXJxG9RKAEhUqbbCHpQDd30haqDJIjY1BoANOU3YwSxdOlY0bDNMp1JJqmRmqA==",
+ "requires": {
+ "@firebase/firestore-types": "1.0.0",
+ "@firebase/logger": "0.1.4",
+ "@firebase/webchannel-wrapper": "0.2.11",
+ "grpc": "1.17.0",
+ "tslib": "1.9.0"
+ }
+ },
+ "@firebase/firestore-types": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@firebase/firestore-types/-/firestore-types-1.0.0.tgz",
+ "integrity": "sha512-l9T2zobNoRJtAwvSzDkGZq279fSXQrdKXJ+KleKIKvKsWkbEBBSlGXgVWinlKDQY+wDlBGlSffpQl2zn72H3JQ=="
+ },
+ "@firebase/functions": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.3.5.tgz",
+ "integrity": "sha512-sbqPm+rQ5Zz1OD14q3CrYdN6ZT60tp8haDaqE5wUcr5L0b9pQz1iN3OygylExWbPI9OfRGWCixF6VzCgd7hoBw==",
+ "requires": {
+ "@firebase/functions-types": "0.2.1",
+ "@firebase/messaging-types": "0.2.3",
+ "isomorphic-fetch": "2.2.1",
+ "tslib": "1.9.0"
+ }
+ },
+ "@firebase/functions-types": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/@firebase/functions-types/-/functions-types-0.2.1.tgz",
+ "integrity": "sha512-hH78lgDoa5E1peBSXnfQyshENmh/5a8aia+S4Ocjc53OUWRJ4VqYwWUV5gE4b2mqVKTpN4akJccLq2pCnNGZcA=="
+ },
+ "@firebase/logger": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/@firebase/logger/-/logger-0.1.4.tgz",
+ "integrity": "sha512-MbjM/wtqxDZ8Dx1Qg6gkqianaAbnQy2//6HP8/e2Cqy1UsuTha+AWzqRxe/bdHQEm/PcFaji0wmZjSgqZxBqwA=="
+ },
+ "@firebase/messaging": {
+ "version": "0.3.9",
+ "resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.3.9.tgz",
+ "integrity": "sha512-0AXbN3tBSsjeM3kLVFlr+95QSwdjbx9ksTtYI0W1L6MoSt06s6u1hkA75/VrZ708Me3eDclMVvPz9jkjNZUiFg==",
+ "requires": {
+ "@firebase/messaging-types": "0.2.3",
+ "@firebase/util": "0.2.5",
+ "tslib": "1.9.0"
+ }
+ },
+ "@firebase/messaging-types": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/@firebase/messaging-types/-/messaging-types-0.2.3.tgz",
+ "integrity": "sha512-avwCgZzcx2uxIW/wT3p3G/EyHftIrvMyiTS7AA7dxDlzfx+8dpAeTsb1+jsHJT4F6foSh5HG17Nw8sDzYuxH1Q=="
+ },
+ "@firebase/polyfill": {
+ "version": "0.3.4",
+ "resolved": "https://registry.npmjs.org/@firebase/polyfill/-/polyfill-0.3.4.tgz",
+ "integrity": "sha512-XvHewHdBdR6frMJszgM1dKo9giH1BoliX2iMssot9W89yItxhbjjwzuv7NY49uT/TKg9dYZV+mwQiwC7YNF76w==",
+ "requires": {
+ "core-js": "2.5.5",
+ "promise-polyfill": "7.1.2",
+ "whatwg-fetch": "2.0.4"
+ },
+ "dependencies": {
+ "core-js": {
+ "version": "2.5.5",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.5.tgz",
+ "integrity": "sha1-sU3ek2xkDAV5prUMq8wTLdYSfjs="
+ }
+ }
+ },
+ "@firebase/storage": {
+ "version": "0.2.6",
+ "resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.2.6.tgz",
+ "integrity": "sha512-kiQdn14l20+CxBSuc2fxaRU54XOtRHGM7hizp2RQ68gdUIEE/EQiixET0oY9LCmT3ucnIrGL7ABSD9sVhOWLsA==",
+ "requires": {
+ "@firebase/storage-types": "0.2.3",
+ "tslib": "1.9.0"
+ }
+ },
+ "@firebase/storage-types": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/@firebase/storage-types/-/storage-types-0.2.3.tgz",
+ "integrity": "sha512-RaZeam2LgsB7xwAtOQr4G0Geoyf7D5TnLF3a12By6Rh0Z9PqBSlWn0SVYGW3SkmxIdqvWZMZvCyamUlqQvQzWw=="
+ },
+ "@firebase/util": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/@firebase/util/-/util-0.2.5.tgz",
+ "integrity": "sha512-469I6TJyPaApPpKja9D3MiAq8uU7USMWhSowV6G5aJJ7vxENz3+lS2Eaj5PuxCAJPqvEvrXZy1xevwcb+z9Vsg==",
+ "requires": {
+ "tslib": "1.9.0"
+ }
+ },
+ "@firebase/webchannel-wrapper": {
+ "version": "0.2.11",
+ "resolved": "https://registry.npmjs.org/@firebase/webchannel-wrapper/-/webchannel-wrapper-0.2.11.tgz",
+ "integrity": "sha512-WyMXDxk/WZ+f2lOCeEvDWUce2f5Kk2sNfvArK8f+PlUnzFdy/MBzLXrmbMgyZXP7GP4ooUxYV8Sdmoh1hGk1Uw=="
+ },
+
+ "@pusher/chatkit-client": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/@pusher/chatkit-client/-/chatkit-client-1.3.0.tgz",
+ "integrity": "sha512-TGfi1GTD0JotRLnISx/Vrn6XbUsbmLRhGEaZM2UvmURV2oGGKoIm/JoYQw/cN6YOFrB2ASZPbm0m4RgT8ogfqg==",
+ "requires": {
+ "@pusher/platform": "^0.16.1",
+ "ramda": "^0.25.0"
+ }
+ },
+ "@pusher/platform": {
+ "version": "0.16.1",
+ "resolved": "https://registry.npmjs.org/@pusher/platform/-/platform-0.16.1.tgz",
+ "integrity": "sha512-3GCY4oT5TUM83Cm6REz5ILpm9ZaQ8rg/kbYxf27VK3ErJGGZ4FhQKfaPkQRQZ1/+qImiMwWoDDD8GoqYpGT+vQ=="
+ },
"@react-navigation/core": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-3.0.2.tgz",
@@ -1344,6 +1505,11 @@
"resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz",
"integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw="
},
+ "array-flatten": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
+ "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
+ },
"array-map": {
"version": "0.0.0",
"resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz",
@@ -1385,6 +1551,15 @@
"resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
"integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY="
},
+ "ascli": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/ascli/-/ascli-1.0.1.tgz",
+ "integrity": "sha1-vPpZdKYvGOgcq660lzKrSoj5Brw=",
+ "requires": {
+ "colour": "~0.7.1",
+ "optjs": "~3.2.2"
+ }
+ },
"asn1": {
"version": "0.2.4",
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
@@ -2233,6 +2408,51 @@
"resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz",
"integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig=="
},
+ "body-parser": {
+ "version": "1.18.3",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz",
+ "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=",
+ "requires": {
+ "bytes": "3.0.0",
+ "content-type": "~1.0.4",
+ "debug": "2.6.9",
+ "depd": "~1.1.2",
+ "http-errors": "~1.6.3",
+ "iconv-lite": "0.4.23",
+ "on-finished": "~2.3.0",
+ "qs": "6.5.2",
+ "raw-body": "2.3.3",
+ "type-is": "~1.6.16"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "iconv-lite": {
+ "version": "0.4.23",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
+ "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
+ "requires": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+ },
+ "qs": {
+ "version": "6.5.2",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
+ "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
+ }
+ }
+ },
"bplist-creator": {
"version": "0.0.7",
"resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.0.7.tgz",
@@ -2328,6 +2548,14 @@
"resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
"integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8="
},
+ "bytebuffer": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/bytebuffer/-/bytebuffer-5.0.1.tgz",
+ "integrity": "sha1-WC7qSxqHO20CCkjVjfhfC7ps/d0=",
+ "requires": {
+ "long": "~3"
+ }
+ },
"bytes": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
@@ -2544,6 +2772,11 @@
"resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
"integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg=="
},
+ "colour": {
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/colour/-/colour-0.7.1.tgz",
+ "integrity": "sha1-nLFpkX7F0SwHNtPoaFdG3xyt93g="
+ },
"combined-stream": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz",
@@ -2657,6 +2890,16 @@
}
}
},
+ "content-disposition": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz",
+ "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ="
+ },
+ "content-type": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
+ "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
+ },
"convert-source-map": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz",
@@ -2670,6 +2913,11 @@
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz",
"integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s="
},
+ "cookie-signature": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
+ "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
+ },
"copy-descriptor": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
@@ -2936,6 +3184,11 @@
"integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
"dev": true
},
+ "dom-storage": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/dom-storage/-/dom-storage-2.1.0.tgz",
+ "integrity": "sha512-g6RpyWXzl0RR6OTElHKBl7nwnK87GUyZMYC7JWsB/IA73vpqK2K6LT39x4VepLxlSsWBFrPVLnsSR5Jyty0+2Q=="
+ },
"dom-walk": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz",
@@ -3343,6 +3596,10 @@
"lodash": "^4.17.4",
"react-native-vector-icons": "6.0.0"
}
+ },
+ "react-native-maps": {
+ "version": "github:expo/react-native-maps#e6f98ff7272e5d0a7fe974a41f28593af2d77bb2",
+ "from": "github:expo/react-native-maps#v0.22.1-exp.0"
}
}
},
@@ -3683,6 +3940,87 @@
"expo-core": "~2.0.0"
}
},
+ "express": {
+ "version": "4.16.4",
+ "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz",
+ "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==",
+ "requires": {
+ "accepts": "~1.3.5",
+ "array-flatten": "1.1.1",
+ "body-parser": "1.18.3",
+ "content-disposition": "0.5.2",
+ "content-type": "~1.0.4",
+ "cookie": "0.3.1",
+ "cookie-signature": "1.0.6",
+ "debug": "2.6.9",
+ "depd": "~1.1.2",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "finalhandler": "1.1.1",
+ "fresh": "0.5.2",
+ "merge-descriptors": "1.0.1",
+ "methods": "~1.1.2",
+ "on-finished": "~2.3.0",
+ "parseurl": "~1.3.2",
+ "path-to-regexp": "0.1.7",
+ "proxy-addr": "~2.0.4",
+ "qs": "6.5.2",
+ "range-parser": "~1.2.0",
+ "safe-buffer": "5.1.2",
+ "send": "0.16.2",
+ "serve-static": "1.13.2",
+ "setprototypeof": "1.1.0",
+ "statuses": "~1.4.0",
+ "type-is": "~1.6.16",
+ "utils-merge": "1.0.1",
+ "vary": "~1.1.2"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "finalhandler": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz",
+ "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==",
+ "requires": {
+ "debug": "2.6.9",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "on-finished": "~2.3.0",
+ "parseurl": "~1.3.2",
+ "statuses": "~1.4.0",
+ "unpipe": "~1.0.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+ },
+ "path-to-regexp": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
+ "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
+ },
+ "qs": {
+ "version": "6.5.2",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
+ "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
+ },
+ "statuses": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz",
+ "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew=="
+ }
+ }
+ },
"extend": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
@@ -3748,6 +4086,14 @@
"integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
"dev": true
},
+ "faye-websocket": {
+ "version": "0.11.1",
+ "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz",
+ "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=",
+ "requires": {
+ "websocket-driver": ">=0.5.1"
+ }
+ },
"fb-watchman": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz",
@@ -3903,6 +4249,21 @@
"locate-path": "^2.0.0"
}
},
+ "firebase": {
+ "version": "5.8.0",
+ "resolved": "https://registry.npmjs.org/firebase/-/firebase-5.8.0.tgz",
+ "integrity": "sha512-rO9NauWhzmbB0EFh2wOcQ23kfPOPq3VnQnZr2zQTFvLZieLXUkyrj0wydxWCxmR2isZfF5+43nVD6/snMAbFdA==",
+ "requires": {
+ "@firebase/app": "0.3.7",
+ "@firebase/auth": "0.9.1",
+ "@firebase/database": "0.3.10",
+ "@firebase/firestore": "1.0.0",
+ "@firebase/functions": "0.3.5",
+ "@firebase/messaging": "0.3.9",
+ "@firebase/polyfill": "0.3.4",
+ "@firebase/storage": "0.2.6"
+ }
+ },
"for-in": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
@@ -3933,6 +4294,11 @@
"mime-types": "^2.1.12"
}
},
+ "forwarded": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
+ "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ="
+ },
"fragment-cache": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
@@ -4100,7 +4466,552 @@
"iconv-lite": {
"version": "0.4.24",
"bundled": true,
- "optional": true,
+ "optional": true,
+ "requires": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ }
+ },
+ "ignore-walk": {
+ "version": "3.0.1",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "minimatch": "^3.0.4"
+ }
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.3",
+ "bundled": true
+ },
+ "ini": {
+ "version": "1.3.5",
+ "bundled": true,
+ "optional": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "bundled": true,
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "bundled": true,
+ "optional": true
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "bundled": true,
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "minimist": {
+ "version": "0.0.8",
+ "bundled": true
+ },
+ "minipass": {
+ "version": "2.3.5",
+ "bundled": true,
+ "requires": {
+ "safe-buffer": "^5.1.2",
+ "yallist": "^3.0.0"
+ }
+ },
+ "minizlib": {
+ "version": "1.2.1",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "minipass": "^2.2.1"
+ }
+ },
+ "mkdirp": {
+ "version": "0.5.1",
+ "bundled": true,
+ "requires": {
+ "minimist": "0.0.8"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "bundled": true,
+ "optional": true
+ },
+ "needle": {
+ "version": "2.2.4",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "debug": "^2.1.2",
+ "iconv-lite": "^0.4.4",
+ "sax": "^1.2.4"
+ }
+ },
+ "node-pre-gyp": {
+ "version": "0.10.3",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "detect-libc": "^1.0.2",
+ "mkdirp": "^0.5.1",
+ "needle": "^2.2.1",
+ "nopt": "^4.0.1",
+ "npm-packlist": "^1.1.6",
+ "npmlog": "^4.0.2",
+ "rc": "^1.2.7",
+ "rimraf": "^2.6.1",
+ "semver": "^5.3.0",
+ "tar": "^4"
+ }
+ },
+ "nopt": {
+ "version": "4.0.1",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "abbrev": "1",
+ "osenv": "^0.1.4"
+ }
+ },
+ "npm-bundled": {
+ "version": "1.0.5",
+ "bundled": true,
+ "optional": true
+ },
+ "npm-packlist": {
+ "version": "1.2.0",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "ignore-walk": "^3.0.1",
+ "npm-bundled": "^1.0.1"
+ }
+ },
+ "npmlog": {
+ "version": "4.1.2",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "are-we-there-yet": "~1.1.2",
+ "console-control-strings": "~1.1.0",
+ "gauge": "~2.7.3",
+ "set-blocking": "~2.0.0"
+ }
+ },
+ "number-is-nan": {
+ "version": "1.0.1",
+ "bundled": true
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "bundled": true,
+ "optional": true
+ },
+ "once": {
+ "version": "1.4.0",
+ "bundled": true,
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "os-homedir": {
+ "version": "1.0.2",
+ "bundled": true,
+ "optional": true
+ },
+ "os-tmpdir": {
+ "version": "1.0.2",
+ "bundled": true,
+ "optional": true
+ },
+ "osenv": {
+ "version": "0.1.5",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "os-homedir": "^1.0.0",
+ "os-tmpdir": "^1.0.0"
+ }
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "bundled": true,
+ "optional": true
+ },
+ "process-nextick-args": {
+ "version": "2.0.0",
+ "bundled": true,
+ "optional": true
+ },
+ "rc": {
+ "version": "1.2.8",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "deep-extend": "^0.6.0",
+ "ini": "~1.3.0",
+ "minimist": "^1.2.0",
+ "strip-json-comments": "~2.0.1"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "bundled": true,
+ "optional": true
+ }
+ }
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "rimraf": {
+ "version": "2.6.3",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "safe-buffer": {
+ "version": "5.1.2",
+ "bundled": true
+ },
+ "safer-buffer": {
+ "version": "2.1.2",
+ "bundled": true,
+ "optional": true
+ },
+ "sax": {
+ "version": "1.2.4",
+ "bundled": true,
+ "optional": true
+ },
+ "semver": {
+ "version": "5.6.0",
+ "bundled": true,
+ "optional": true
+ },
+ "set-blocking": {
+ "version": "2.0.0",
+ "bundled": true,
+ "optional": true
+ },
+ "signal-exit": {
+ "version": "3.0.2",
+ "bundled": true,
+ "optional": true
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "bundled": true,
+ "requires": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "bundled": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "strip-json-comments": {
+ "version": "2.0.1",
+ "bundled": true,
+ "optional": true
+ },
+ "tar": {
+ "version": "4.4.8",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "chownr": "^1.1.1",
+ "fs-minipass": "^1.2.5",
+ "minipass": "^2.3.4",
+ "minizlib": "^1.1.1",
+ "mkdirp": "^0.5.0",
+ "safe-buffer": "^5.1.2",
+ "yallist": "^3.0.2"
+ }
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "bundled": true,
+ "optional": true
+ },
+ "wide-align": {
+ "version": "1.1.3",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "string-width": "^1.0.2 || 2"
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "bundled": true
+ },
+ "yallist": {
+ "version": "3.0.3",
+ "bundled": true
+ }
+ }
+ },
+ "function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
+ "dev": true
+ },
+ "gauge": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.7.tgz",
+ "integrity": "sha1-6c7FSD09TuDvRLYKfZnkk14TbZM=",
+ "requires": {
+ "ansi": "^0.3.0",
+ "has-unicode": "^2.0.0",
+ "lodash.pad": "^4.1.0",
+ "lodash.padend": "^4.1.0",
+ "lodash.padstart": "^4.1.0"
+ }
+ },
+ "get-caller-file": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
+ "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w=="
+ },
+ "get-stream": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
+ "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ="
+ },
+ "get-value": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
+ "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg="
+ },
+ "getpass": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "^1.0.0"
+ }
+ },
+ "glob": {
+ "version": "7.1.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
+ "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "glob-base": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
+ "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
+ "requires": {
+ "glob-parent": "^2.0.0",
+ "is-glob": "^2.0.0"
+ }
+ },
+ "glob-parent": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
+ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
+ "requires": {
+ "is-glob": "^2.0.0"
+ }
+ },
+ "global": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz",
+ "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=",
+ "requires": {
+ "min-document": "^2.19.0",
+ "process": "~0.5.1"
+ }
+ },
+ "globals": {
+ "version": "11.10.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.10.0.tgz",
+ "integrity": "sha512-0GZF1RiPKU97IHUO5TORo9w1PwrH/NBPl+fS7oMLdaTRiYmYbwK4NWoZWrAdd0/abG9R2BU+OiwyQpTpE6pdfQ=="
+ },
+ "graceful-fs": {
+ "version": "4.1.15",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz",
+ "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA=="
+ },
+ "growly": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz",
+ "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE="
+ },
+ "grpc": {
+ "version": "1.17.0",
+ "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.17.0.tgz",
+ "integrity": "sha512-5zb5ilwHlsiWfE2Abq/IN5SkHQ2zi4QF/u9Gewcw5DO3y+hGTtzZUiMK52MX3YZHAIRjqxDcO3fx0jLhPjT8Zw==",
+ "requires": {
+ "lodash.camelcase": "^4.3.0",
+ "lodash.clone": "^4.5.0",
+ "nan": "^2.0.0",
+ "node-pre-gyp": "^0.12.0",
+ "protobufjs": "^5.0.3"
+ },
+ "dependencies": {
+ "abbrev": {
+ "version": "1.1.1",
+ "bundled": true
+ },
+ "ansi-regex": {
+ "version": "2.1.1",
+ "bundled": true
+ },
+ "aproba": {
+ "version": "1.2.0",
+ "bundled": true
+ },
+ "are-we-there-yet": {
+ "version": "1.1.5",
+ "bundled": true,
+ "requires": {
+ "delegates": "^1.0.0",
+ "readable-stream": "^2.0.6"
+ }
+ },
+ "balanced-match": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "brace-expansion": {
+ "version": "1.1.11",
+ "bundled": true,
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "chownr": {
+ "version": "1.1.1",
+ "bundled": true
+ },
+ "code-point-at": {
+ "version": "1.1.0",
+ "bundled": true
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "bundled": true
+ },
+ "console-control-strings": {
+ "version": "1.1.0",
+ "bundled": true
+ },
+ "core-util-is": {
+ "version": "1.0.2",
+ "bundled": true
+ },
+ "debug": {
+ "version": "2.6.9",
+ "bundled": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "deep-extend": {
+ "version": "0.6.0",
+ "bundled": true
+ },
+ "delegates": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "detect-libc": {
+ "version": "1.0.3",
+ "bundled": true
+ },
+ "fs-minipass": {
+ "version": "1.2.5",
+ "bundled": true,
+ "requires": {
+ "minipass": "^2.2.1"
+ }
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "gauge": {
+ "version": "2.7.4",
+ "bundled": true,
+ "requires": {
+ "aproba": "^1.0.3",
+ "console-control-strings": "^1.0.0",
+ "has-unicode": "^2.0.0",
+ "object-assign": "^4.1.0",
+ "signal-exit": "^3.0.0",
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1",
+ "wide-align": "^1.1.0"
+ }
+ },
+ "glob": {
+ "version": "7.1.3",
+ "bundled": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "has-unicode": {
+ "version": "2.0.1",
+ "bundled": true
+ },
+ "iconv-lite": {
+ "version": "0.4.24",
+ "bundled": true,
"requires": {
"safer-buffer": ">= 2.1.2 < 3"
}
@@ -4108,7 +5019,6 @@
"ignore-walk": {
"version": "3.0.1",
"bundled": true,
- "optional": true,
"requires": {
"minimatch": "^3.0.4"
}
@@ -4116,7 +5026,6 @@
"inflight": {
"version": "1.0.6",
"bundled": true,
- "optional": true,
"requires": {
"once": "^1.3.0",
"wrappy": "1"
@@ -4128,8 +5037,7 @@
},
"ini": {
"version": "1.3.5",
- "bundled": true,
- "optional": true
+ "bundled": true
},
"is-fullwidth-code-point": {
"version": "1.0.0",
@@ -4140,8 +5048,7 @@
},
"isarray": {
"version": "1.0.0",
- "bundled": true,
- "optional": true
+ "bundled": true
},
"minimatch": {
"version": "3.0.4",
@@ -4151,7 +5058,7 @@
}
},
"minimist": {
- "version": "0.0.8",
+ "version": "1.2.0",
"bundled": true
},
"minipass": {
@@ -4165,7 +5072,6 @@
"minizlib": {
"version": "1.2.1",
"bundled": true,
- "optional": true,
"requires": {
"minipass": "^2.2.1"
}
@@ -4175,17 +5081,21 @@
"bundled": true,
"requires": {
"minimist": "0.0.8"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "0.0.8",
+ "bundled": true
+ }
}
},
"ms": {
"version": "2.0.0",
- "bundled": true,
- "optional": true
+ "bundled": true
},
"needle": {
"version": "2.2.4",
"bundled": true,
- "optional": true,
"requires": {
"debug": "^2.1.2",
"iconv-lite": "^0.4.4",
@@ -4193,9 +5103,8 @@
}
},
"node-pre-gyp": {
- "version": "0.10.3",
+ "version": "0.12.0",
"bundled": true,
- "optional": true,
"requires": {
"detect-libc": "^1.0.2",
"mkdirp": "^0.5.1",
@@ -4212,7 +5121,6 @@
"nopt": {
"version": "4.0.1",
"bundled": true,
- "optional": true,
"requires": {
"abbrev": "1",
"osenv": "^0.1.4"
@@ -4220,13 +5128,11 @@
},
"npm-bundled": {
"version": "1.0.5",
- "bundled": true,
- "optional": true
+ "bundled": true
},
"npm-packlist": {
- "version": "1.2.0",
+ "version": "1.1.12",
"bundled": true,
- "optional": true,
"requires": {
"ignore-walk": "^3.0.1",
"npm-bundled": "^1.0.1"
@@ -4235,7 +5141,6 @@
"npmlog": {
"version": "4.1.2",
"bundled": true,
- "optional": true,
"requires": {
"are-we-there-yet": "~1.1.2",
"console-control-strings": "~1.1.0",
@@ -4249,8 +5154,7 @@
},
"object-assign": {
"version": "4.1.1",
- "bundled": true,
- "optional": true
+ "bundled": true
},
"once": {
"version": "1.4.0",
@@ -4261,18 +5165,15 @@
},
"os-homedir": {
"version": "1.0.2",
- "bundled": true,
- "optional": true
+ "bundled": true
},
"os-tmpdir": {
"version": "1.0.2",
- "bundled": true,
- "optional": true
+ "bundled": true
},
"osenv": {
"version": "0.1.5",
"bundled": true,
- "optional": true,
"requires": {
"os-homedir": "^1.0.0",
"os-tmpdir": "^1.0.0"
@@ -4280,36 +5181,25 @@
},
"path-is-absolute": {
"version": "1.0.1",
- "bundled": true,
- "optional": true
+ "bundled": true
},
"process-nextick-args": {
"version": "2.0.0",
- "bundled": true,
- "optional": true
+ "bundled": true
},
"rc": {
"version": "1.2.8",
"bundled": true,
- "optional": true,
"requires": {
"deep-extend": "^0.6.0",
"ini": "~1.3.0",
"minimist": "^1.2.0",
"strip-json-comments": "~2.0.1"
- },
- "dependencies": {
- "minimist": {
- "version": "1.2.0",
- "bundled": true,
- "optional": true
- }
}
},
"readable-stream": {
"version": "2.3.6",
"bundled": true,
- "optional": true,
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
@@ -4321,11 +5211,10 @@
}
},
"rimraf": {
- "version": "2.6.3",
+ "version": "2.6.2",
"bundled": true,
- "optional": true,
"requires": {
- "glob": "^7.1.3"
+ "glob": "^7.0.5"
}
},
"safe-buffer": {
@@ -4334,28 +5223,23 @@
},
"safer-buffer": {
"version": "2.1.2",
- "bundled": true,
- "optional": true
+ "bundled": true
},
"sax": {
"version": "1.2.4",
- "bundled": true,
- "optional": true
+ "bundled": true
},
"semver": {
"version": "5.6.0",
- "bundled": true,
- "optional": true
+ "bundled": true
},
"set-blocking": {
"version": "2.0.0",
- "bundled": true,
- "optional": true
+ "bundled": true
},
"signal-exit": {
- "version": "3.0.2",
- "bundled": true,
- "optional": true
+ "version": "3.0.1",
+ "bundled": true
},
"string-width": {
"version": "1.0.2",
@@ -4369,7 +5253,6 @@
"string_decoder": {
"version": "1.1.1",
"bundled": true,
- "optional": true,
"requires": {
"safe-buffer": "~5.1.0"
}
@@ -4383,13 +5266,11 @@
},
"strip-json-comments": {
"version": "2.0.1",
- "bundled": true,
- "optional": true
+ "bundled": true
},
"tar": {
"version": "4.4.8",
"bundled": true,
- "optional": true,
"requires": {
"chownr": "^1.1.1",
"fs-minipass": "^1.2.5",
@@ -4402,13 +5283,11 @@
},
"util-deprecate": {
"version": "1.0.2",
- "bundled": true,
- "optional": true
+ "bundled": true
},
"wide-align": {
"version": "1.1.3",
"bundled": true,
- "optional": true,
"requires": {
"string-width": "^1.0.2 || 2"
}
@@ -4423,102 +5302,6 @@
}
}
},
- "function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
- "dev": true
- },
- "gauge": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.7.tgz",
- "integrity": "sha1-6c7FSD09TuDvRLYKfZnkk14TbZM=",
- "requires": {
- "ansi": "^0.3.0",
- "has-unicode": "^2.0.0",
- "lodash.pad": "^4.1.0",
- "lodash.padend": "^4.1.0",
- "lodash.padstart": "^4.1.0"
- }
- },
- "get-caller-file": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
- "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w=="
- },
- "get-stream": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
- "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ="
- },
- "get-value": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
- "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg="
- },
- "getpass": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
- "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
- "dev": true,
- "requires": {
- "assert-plus": "^1.0.0"
- }
- },
- "glob": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
- "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "glob-base": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
- "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
- "requires": {
- "glob-parent": "^2.0.0",
- "is-glob": "^2.0.0"
- }
- },
- "glob-parent": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
- "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
- "requires": {
- "is-glob": "^2.0.0"
- }
- },
- "global": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz",
- "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=",
- "requires": {
- "min-document": "^2.19.0",
- "process": "~0.5.1"
- }
- },
- "globals": {
- "version": "11.10.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.10.0.tgz",
- "integrity": "sha512-0GZF1RiPKU97IHUO5TORo9w1PwrH/NBPl+fS7oMLdaTRiYmYbwK4NWoZWrAdd0/abG9R2BU+OiwyQpTpE6pdfQ=="
- },
- "graceful-fs": {
- "version": "4.1.15",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz",
- "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA=="
- },
- "growly": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz",
- "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE="
- },
"gud": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/gud/-/gud-1.0.0.tgz",
@@ -4731,6 +5514,11 @@
}
}
},
+ "http-parser-js": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.0.tgz",
+ "integrity": "sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w=="
+ },
"http-signature": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
@@ -4852,6 +5640,11 @@
"resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
"integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY="
},
+ "ipaddr.js": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz",
+ "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4="
+ },
"is-accessor-descriptor": {
"version": "0.1.6",
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
@@ -6067,6 +6860,16 @@
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
"integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg=="
},
+ "lodash.camelcase": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
+ "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY="
+ },
+ "lodash.clone": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz",
+ "integrity": "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y="
+ },
"lodash.filter": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz",
@@ -6123,6 +6926,11 @@
"resolved": "https://registry.npmjs.org/lodash.zipobject/-/lodash.zipobject-4.1.3.tgz",
"integrity": "sha1-s5n1q6j/YqdG9peb8gshT5ZNvvg="
},
+ "long": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz",
+ "integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s="
+ },
"loose-envify": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
@@ -6205,6 +7013,11 @@
"buffer-alloc": "^1.1.0"
}
},
+ "media-typer": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+ "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
+ },
"mem": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz",
@@ -6218,6 +7031,11 @@
"resolved": "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz",
"integrity": "sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ=="
},
+ "merge-descriptors": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
+ "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
+ },
"merge-stream": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz",
@@ -6226,6 +7044,11 @@
"readable-stream": "^2.0.1"
}
},
+ "methods": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
+ "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
+ },
"metro": {
"version": "0.45.6",
"resolved": "https://registry.npmjs.org/metro/-/metro-0.45.6.tgz",
@@ -6713,8 +7536,7 @@
"nan": {
"version": "2.12.1",
"resolved": "https://registry.npmjs.org/nan/-/nan-2.12.1.tgz",
- "integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw==",
- "optional": true
+ "integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw=="
},
"nanomatch": {
"version": "1.2.13",
@@ -7048,6 +7870,11 @@
"resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz",
"integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8="
},
+ "optjs": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/optjs/-/optjs-3.2.2.tgz",
+ "integrity": "sha1-aabOicRCpEQDFBrS+bNwvVu29O4="
+ },
"os-homedir": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
@@ -7336,6 +8163,11 @@
"asap": "~2.0.3"
}
},
+ "promise-polyfill": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-7.1.2.tgz",
+ "integrity": "sha512-FuEc12/eKqqoRYIGBrUptCBRhobL19PS2U31vMNTfyck1FxPyMfgsXyW4Mav85y/ZN1hop3hOwRlUDok23oYfQ=="
+ },
"prompts": {
"version": "0.1.14",
"resolved": "https://registry.npmjs.org/prompts/-/prompts-0.1.14.tgz",
@@ -7355,6 +8187,63 @@
"object-assign": "^4.1.1"
}
},
+ "protobufjs": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-5.0.3.tgz",
+ "integrity": "sha512-55Kcx1MhPZX0zTbVosMQEO5R6/rikNXd9b6RQK4KSPcrSIIwoXTtebIczUrXlwaSrbz4x8XUVThGPob1n8I4QA==",
+ "requires": {
+ "ascli": "~1",
+ "bytebuffer": "~5",
+ "glob": "^7.0.5",
+ "yargs": "^3.10.0"
+ },
+ "dependencies": {
+ "camelcase": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
+ "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8="
+ },
+ "os-locale": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
+ "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
+ "requires": {
+ "lcid": "^1.0.0"
+ }
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "requires": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ }
+ },
+ "yargs": {
+ "version": "3.32.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz",
+ "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=",
+ "requires": {
+ "camelcase": "^2.0.1",
+ "cliui": "^3.0.3",
+ "decamelize": "^1.1.1",
+ "os-locale": "^1.4.0",
+ "string-width": "^1.0.1",
+ "window-size": "^0.1.4",
+ "y18n": "^3.2.0"
+ }
+ }
+ "proxy-addr": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz",
+ "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==",
+ "requires": {
+ "forwarded": "~0.1.2",
+ "ipaddr.js": "1.8.0"
+ }
+ },
"pseudomap": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
@@ -7385,6 +8274,11 @@
"strict-uri-encode": "^2.0.0"
}
},
+ "ramda": {
+ "version": "0.25.0",
+ "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.25.0.tgz",
+ "integrity": "sha512-GXpfrYVPwx3K7RQ6aYT8KPS8XViSXUVJT1ONhoKPE9VAleW42YE+U+8VEyGWt41EnEQW7gwecYJriTI0pKoecQ=="
+ },
"randomatic": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz",
@@ -7412,6 +8306,27 @@
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
"integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4="
},
+ "raw-body": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz",
+ "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==",
+ "requires": {
+ "bytes": "3.0.0",
+ "http-errors": "1.6.3",
+ "iconv-lite": "0.4.23",
+ "unpipe": "1.0.0"
+ },
+ "dependencies": {
+ "iconv-lite": {
+ "version": "0.4.23",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
+ "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
+ "requires": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ }
+ }
+ }
+ },
"react": {
"version": "16.5.0",
"resolved": "https://registry.npmjs.org/react/-/react-16.5.0.tgz",
@@ -7666,8 +8581,9 @@
}
},
"react-native-maps": {
- "version": "github:expo/react-native-maps#e6f98ff7272e5d0a7fe974a41f28593af2d77bb2",
- "from": "github:expo/react-native-maps#v0.22.1-exp.0"
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/react-native-maps/-/react-native-maps-0.23.0.tgz",
+ "integrity": "sha512-qxOIQGsDtQXQlSJdXMW1wg8pvLaVYdbiIolB7tZTTgTGgIA/hDxXwZbQZ08c4KDD6/VTk8krfd1APaHkqvh6og=="
},
"react-native-nav": {
"version": "2.0.2",
@@ -9438,6 +10354,11 @@
"resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
"integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM="
},
+ "tslib": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.0.tgz",
+ "integrity": "sha512-f/qGG2tUkrISBlQZEjEqoZ3B2+npJjIf04H1wuAv9iA8i04Icp+61KRXxFdha22670NJopsZCIjhC3SnjPRKrQ=="
+ },
"tunnel-agent": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
@@ -9462,6 +10383,15 @@
"prelude-ls": "~1.1.2"
}
},
+ "type-is": {
+ "version": "1.6.16",
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz",
+ "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==",
+ "requires": {
+ "media-typer": "0.3.0",
+ "mime-types": "~2.1.18"
+ }
+ },
"typedarray": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
@@ -9730,6 +10660,20 @@
"integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==",
"dev": true
},
+ "websocket-driver": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz",
+ "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=",
+ "requires": {
+ "http-parser-js": ">=0.4.0",
+ "websocket-extensions": ">=0.1.1"
+ }
+ },
+ "websocket-extensions": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz",
+ "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg=="
+ },
"whatwg-encoding": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
@@ -9774,6 +10718,11 @@
"resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
"integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho="
},
+ "window-size": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz",
+ "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY="
+ },
"wordwrap": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
@@ -9865,6 +10814,11 @@
"resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz",
"integrity": "sha1-1QH5ezvbQDr4757MIFcxh6rawOk="
},
+ "xmlhttprequest": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz",
+ "integrity": "sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw="
+ },
"xmlhttprequest-ssl": {
"version": "1.5.5",
"resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz",
diff --git a/package.json b/package.json
index 51ce737..a3d5186 100644
--- a/package.json
+++ b/package.json
@@ -13,13 +13,17 @@
"dependencies": {
"@expo/samples": "2.1.1",
"@expo/vector-icons": "^9.0.0",
+ "@pusher/chatkit-client": "^1.3.0",
"expo": "^32.0.0",
+ "firebase": "^5.8.0",
+ "express": "^4.16.4",
"link": "^0.1.5",
"react": "16.5.0",
"react-native": "https://github.com/expo/react-native/archive/sdk-32.0.0.tar.gz",
"react-native-camera": "^1.9.0",
"react-native-camera-roll-picker": "^1.2.3",
"react-native-gifted-chat": "^0.6.0",
+ "react-native-maps": "^0.23.0",
"react-native-nav": "^2.0.2",
"react-navigation": "^3.0.9",
"react-redux": "^6.0.0",
@@ -29,5 +33,19 @@
"babel-preset-expo": "^5.0.0",
"jest-expo": "^32.0.0"
},
- "private": true
+ "private": true,
+ "name": "englishaide",
+ "version": "1.0.0",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/marcoaustria/EnglishAide.git"
+ },
+ "keywords": [],
+ "author": "",
+ "license": "ISC",
+ "bugs": {
+ "url": "https://github.com/marcoaustria/EnglishAide/issues"
+ },
+ "homepage": "https://github.com/marcoaustria/EnglishAide#readme",
+ "description": ""
}
diff --git a/screens/.DS_Store b/screens/.DS_Store
new file mode 100644
index 0000000..5008ddf
Binary files /dev/null and b/screens/.DS_Store differ
diff --git a/screens/ChooseTutor.js b/screens/ChooseTutor.js
new file mode 100644
index 0000000..49306d7
--- /dev/null
+++ b/screens/ChooseTutor.js
@@ -0,0 +1,92 @@
+import React from 'react';
+import {
+ Image,
+ Platform,
+ ScrollView,
+ StyleSheet,
+ Text,
+ TouchableOpacity,
+ View,
+ Button,
+} from 'react-native';
+import { WebBrowser } from 'expo';
+import { MonoText } from '../components/StyledText';
+import { getReminderAsync } from 'expo/build/Calendar';
+import Profiles from './Profiles'
+
+export default class ChooseTutor extends React.Component {
+
+ constructor (props){
+ super(props)
+ // e.preventDefault()
+ this.state={
+ isMentor:props.isMentor,
+ user:null
+
+ }
+ this.state.user = this.state.isMentor ? "Mentor" : "Student";
+ this.state.userSearch = this.state.isMentor ? "Student" : "Mentor";
+ }
+
+ render(){
+ var count = 0;
+ goBack = (e)=>{
+ e.preventDefault();
+ this.props.goBack();
+ }
+ return(
+
+
+
+ EnglishAide
+
+ {this.state.user}
+ Please choose from the list
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ )
+ }
+
+
+
+}
+
+const styles = StyleSheet.create({
+ container:{
+ // padding:20,
+ height:'100%',
+ alignItems:'center',
+ marginTop:'10%',
+ },
+ homeContainer:{
+ paddingTop:20
+ },
+ homeText:{
+ textAlign:'center',
+ fontSize:20
+ },
+
+ contentContainer: {
+ paddingTop: 30,
+ },
+ display:{
+ width:'90%',
+ margin:0
+ }
+
+
+
+
+})
\ No newline at end of file
diff --git a/screens/HomeScreen.js b/screens/HomeScreen.js
index 0d3548e..a8decfa 100644
--- a/screens/HomeScreen.js
+++ b/screens/HomeScreen.js
@@ -1,4 +1,7 @@
-import React from 'react';
+import React, { Component } from 'react';
+import { ExpoLinksView } from '@expo/samples';
+
+
import {
Image,
Platform,
@@ -7,182 +10,229 @@ import {
Text,
TouchableOpacity,
View,
+ AppRegistry
} from 'react-native';
import { WebBrowser } from 'expo';
-
import { MonoText } from '../components/StyledText';
+import { getReminderAsync } from 'expo/build/Calendar';
+import Profiles from './Profiles'
+
export default class HomeScreen extends React.Component {
static navigationOptions = {
- header: null,
+ title: 'EnglishAide',
};
render() {
+ var count = 0;
return (
-
-
-
-
-
-
-
- {this._maybeRenderDevelopmentModeWarning()}
-
- Get started by opening
-
-
- screens/HomeScreen.js
-
-
-
- Change this text and your app will automatically reload.
-
-
-
-
-
- Help, it didn’t automatically reload!
-
-
-
-
-
- This is a tab bar. You can edit it in:
-
-
- navigation/MainTabNavigator.js
-
-
+
+
+
+
- );
- }
- _maybeRenderDevelopmentModeWarning() {
- if (__DEV__) {
- const learnMoreButton = (
-
- Learn more
-
- );
-
- return (
-
- Development mode is enabled, your app will be slower but you can use useful development
- tools. {learnMoreButton}
-
- );
- } else {
- return (
-
- You are not in development mode, your app will run at full speed.
-
- );
- }
- }
+
+
+ {/* Go ahead and delete ExpoLinksView and replace it with your
+ * content, we just wanted to provide you with some helpful links */}
+
+
+ Topic of the Day
+
+ What is your favorite movie and why?
+
+
+ Teacher Suggestions
+
+ Miss Frizzle says: {"\n"}{"\n"}"Susie can focus on her listening this week, maybe send her some voice notes and have her try to write them down!"
+
- _handleLearnMorePress = () => {
- WebBrowser.openBrowserAsync('https://docs.expo.io/versions/latest/guides/development-mode');
- };
- _handleHelpPress = () => {
- WebBrowser.openBrowserAsync(
- 'https://docs.expo.io/versions/latest/guides/up-and-running.html#can-t-see-your-changes'
+
);
- };
+ }
}
const styles = StyleSheet.create({
+
+ // imageStyle: {
+ // width: '150%',
+ // height: '50%',
+ // resizeMode: 'center'
+
+ // },
+
+
+ topicText:{
+ textAlign: 'left',
+ fontSize: 40,
+ paddingTop:20,
+ marginTop: -20,
+ paddingLeft: 30,
+ fontWeight: 'bold',
+ color: '#0076be'
+ }
+,
+ topicBody:{
+ textAlign: 'left',
+ paddingTop:10,
+ paddingLeft: 30,
+ fontSize: 20
+ }
+,
+
container: {
flex: 1,
- backgroundColor: '#fff',
- },
- developmentModeText: {
- marginBottom: 20,
- color: 'rgba(0,0,0,0.4)',
- fontSize: 14,
- lineHeight: 19,
- textAlign: 'center',
- },
- contentContainer: {
- paddingTop: 30,
- },
- welcomeContainer: {
- alignItems: 'center',
- marginTop: 10,
- marginBottom: 20,
- },
- welcomeImage: {
- width: 100,
- height: 80,
- resizeMode: 'contain',
- marginTop: 3,
- marginLeft: -10,
- },
- getStartedContainer: {
- alignItems: 'center',
- marginHorizontal: 50,
- },
- homeScreenFilename: {
- marginVertical: 7,
- },
- codeHighlightText: {
- color: 'rgba(96,100,109, 0.8)',
- },
- codeHighlightContainer: {
- backgroundColor: 'rgba(0,0,0,0.05)',
- borderRadius: 3,
- paddingHorizontal: 4,
- },
- getStartedText: {
- fontSize: 17,
- color: 'rgba(96,100,109, 1)',
- lineHeight: 24,
- textAlign: 'center',
- },
- tabBarInfoContainer: {
- position: 'absolute',
- bottom: 0,
- left: 0,
- right: 0,
- ...Platform.select({
- ios: {
- shadowColor: 'black',
- shadowOffset: { height: -3 },
- shadowOpacity: 0.1,
- shadowRadius: 3,
- },
- android: {
- elevation: 20,
- },
- }),
- alignItems: 'center',
- backgroundColor: '#fbfbfb',
- paddingVertical: 20,
- },
- tabBarInfoText: {
- fontSize: 17,
- color: 'rgba(96,100,109, 1)',
- textAlign: 'center',
- },
- navigationFilename: {
- marginTop: 5,
- },
- helpContainer: {
- marginTop: 15,
- alignItems: 'center',
+ paddingTop: 15,
+ backgroundColor: '#ddf7ff'
},
- helpLink: {
- paddingVertical: 15,
- },
- helpLinkText: {
- fontSize: 14,
- color: '#2e78b7',
+
+
+ teacherText: {
+ textAlign: 'left',
+ fontSize: 40,
+ paddingTop:30,
+ paddingLeft: 30,
+ fontWeight: 'bold',
+ color: '#48bf91'
},
+
+ teacherBody: {
+ textAlign: 'left',
+ paddingTop: 10,
+ fontSize: 20,
+ paddingLeft: 30,
+ paddingRight: 30
+ }
+
+
+
+
});
+
+
+// const styles = StyleSheet.create({
+
+// homeContainer:{
+// paddingTop: Platform.OS === 'ios'
+// ? 43 : 20
+
+
+// },
+// homeText:{
+// textAlign:'center',
+// fontSize:20,
+// fontWeight: 'bold',
+// fontFamily: 'Times New Roman'
+
+// },
+
+// contentContainer: {
+// marginTop: Platform.OS === 'ios'
+// ? -20 : 0,
+
+// paddingTop: 30,
+// },
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ // container: {
+ // flex: 1,
+ // backgroundColor: '#fff',
+ // },
+ // developmentModeText: {
+ // marginBottom: 20,
+ // color: 'rgba(0,0,0,0.4)',
+ // fontSize: 14,
+ // lineHeight: 19,
+ // textAlign: 'center',
+ // },
+
+ // welcomeContainer: {
+ // alignItems: 'center',
+ // marginTop: 10,
+ // marginBottom: 20,
+ // },
+
+ // getStartedContainer: {
+ // alignItems: 'center',
+ // marginHorizontal: 50,
+ // },
+ // homeScreenFilename: {
+ // marginVertical: 7,
+ // },
+ // codeHighlightText: {
+ // color: 'rgba(96,100,109, 0.8)',
+ // },
+ // codeHighlightContainer: {
+ // backgroundColor: 'rgba(0,0,0,0.05)',
+ // borderRadius: 3,
+ // paddingHorizontal: 4,
+ // },
+ // getStartedText: {
+ // fontSize: 17,
+ // color: 'rgba(96,100,109, 1)',
+ // lineHeight: 24,
+ // textAlign: 'center',
+ // },
+ // tabBarInfoContainer: {
+ // position: 'absolute',
+ // bottom: 0,
+ // left: 0,
+ // right: 0,
+ // ...Platform.select({
+ // ios: {
+ // shadowColor: 'black',
+ // shadowOffset: { height: -3 },
+ // shadowOpacity: 0.1,
+ // shadowRadius: 3,
+ // },
+ // android: {
+ // elevation: 20,
+ // },
+ // }),
+ // alignItems: 'center',
+ // backgroundColor: '#fbfbfb',
+ // paddingVertical: 20,
+ // },
+ // tabBarInfoText: {
+ // fontSize: 17,
+ // color: 'rgba(96,100,109, 1)',
+ // textAlign: 'center',
+ // },
+ // navigationFilename: {
+ // marginTop: 5,
+ // },
+ // helpContainer: {
+ // marginTop: 15,
+ // alignItems: 'center',
+ // },
+ // helpLink: {
+ // paddingVertical: 15,
+ // },
+ // helpLinkText: {
+ // fontSize: 14,
+ // color: '#2e78b7',
+ // },
+
+ // contentContainer: {
+ // paddingTop: 30,
+ // },
+
+// });
diff --git a/screens/LinksScreen.js b/screens/LinksScreen.js
index 7bb4a62..fafdac5 100644
--- a/screens/LinksScreen.js
+++ b/screens/LinksScreen.js
@@ -1,27 +1,293 @@
+// import React from "react";
+// import { StyleSheet, Text, View } from "react-native";
+// import { GiftedChat } from "react-native-gifted-chat";
+// export default class App extends React.Component {
+// state = {
+// messages: [
+// {
+// _id: 1,
+// text: "heyo team puddin",
+// createdAt: new Date()
+// }
+// ]
+// };
+// render() {
+// return (
+//
+//
+//
+// );
+// }
+// }
+// const styles = StyleSheet.create({
+// container: {
+// flex: 1
+// }
+// });
+
+
import React from 'react';
-import { ScrollView, StyleSheet } from 'react-native';
-import { ExpoLinksView } from '@expo/samples';
+import {
+ Platform,
+ StyleSheet,
+ Text,
+ View,
+} from 'react-native';
+
+import {GiftedChat, Actions, Bubble, SystemMessage} from 'react-native-gifted-chat';
+import CustomActions from '../CustomActions';
+import CustomView from '../CustomView';
+var counter = 0;
export default class LinksScreen extends React.Component {
+
static navigationOptions = {
- title: 'Links',
+ title: 'EnglishAide',
};
+
+ constructor(props) {
+ super(props);
+ this.state = {
+ messages: [],
+ loadEarlier: true,
+ typingText: null,
+ isLoadingEarlier: false,
+ };
+
+ this._isMounted = false;
+ this.onSend = this.onSend.bind(this);
+ this.onReceive = this.onReceive.bind(this);
+ this.renderCustomActions = this.renderCustomActions.bind(this);
+ this.renderBubble = this.renderBubble.bind(this);
+ this.renderSystemMessage = this.renderSystemMessage.bind(this);
+ this.renderFooter = this.renderFooter.bind(this);
+ this.onLoadEarlier = this.onLoadEarlier.bind(this);
+
+ this._isAlright = null;
+ }
+
+ componentWillMount() {
+ this._isMounted = true;
+ this.setState(() => {
+ return {
+ messages: require('../data/messages.js'),
+ };
+ });
+ }
+
+ componentWillUnmount() {
+ this._isMounted = false;
+ }
+
+ onLoadEarlier() {
+ this.setState((previousState) => {
+ return {
+ isLoadingEarlier: true,
+ };
+ });
+
+ setTimeout(() => {
+ if (this._isMounted === true) {
+ this.setState((previousState) => {
+ return {
+ messages: GiftedChat.prepend(previousState.messages, require('../data/old_messages.js')),
+ loadEarlier: false,
+ isLoadingEarlier: false,
+ };
+ });
+ }
+ }, 1000); // simulating network
+ }
+
+ onSend(messages = []) {
+ this.setState((previousState) => {
+ return {
+ messages: GiftedChat.append(previousState.messages, messages),
+ };
+ });
+
+ // for demo purpose
+ this.answerDemo(messages);
+ }
+
+ answerDemo(messages) {
+ if (messages.length > 0) {
+ if ((messages[0].image || messages[0].location) || !this._isAlright) {
+ this.setState((previousState) => {
+ return {
+ typingText: 'Tutor is typing...'
+ };
+ });
+ }
+ }
+
+ setTimeout(() => {
+ if (this._isMounted === true) {
+ if (messages.length > 0) {
+ if (counter == 0) {
+ this.onReceive('¿Hola, como estás?');
+ counter++;
+ }
+ else if(counter ==1){
+ this.onReceive('Okay send me your homework!')
+ counter++;
+ }
+ else if (messages[0].image) {
+ this.onReceive('Okay! I will take a look at it!');
+ counter++;
+ }
+ else {
+ if (!this._isAlright) {
+ this.onReceive('Do you need help');
+ this._isAlright = true;
+ }
+ }
+ }
+ }
+
+ this.setState((previousState) => {
+ return {
+ typingText: null,
+ };
+ });
+ }, 1000);
+ }
+
+ onReceive(text) {
+ this.setState((previousState) => {
+ return {
+ messages: GiftedChat.append(previousState.messages, {
+ _id: Math.round(Math.random() * 1000000),
+ text: text,
+ createdAt: new Date(),
+ user: {
+ _id: 2,
+ name: 'React Native',
+ // avatar: 'https://facebook.github.io/react/img/logo_og.png',
+ },
+ }),
+ };
+ });
+ }
+
+ renderCustomActions(props) {
+ if (Platform.OS === 'ios') {
+ return (
+
+ );
+ }
+ const options = {
+ 'Action 1': (props) => {
+ alert('option 1');
+ },
+ 'Action 2': (props) => {
+ alert('option 2');
+ },
+ 'Cancel': () => {},
+ };
+ return (
+
+ );
+ }
+
+ //other person messages
+ renderBubble(props) {
+ return (
+
+ );
+ }
+
+ renderSystemMessage(props) {
+ return (
+
+ );
+ }
+
+ renderCustomView(props) {
+ return (
+
+ );
+ }
+
+ renderFooter(props) {
+ if (this.state.typingText) {
+ return (
+
+
+ {this.state.typingText}
+
+
+ );
+ }
+ return null;
+ }
render() {
return (
-
- {/* Go ahead and delete ExpoLinksView and replace it with your
- * content, we just wanted to provide you with some helpful links */}
-
-
+ //
+ // {/* Go ahead and delete ExpoLinksView and replace it with your
+ // * content, we just wanted to provide you with some helpful links */}
+ //
+
+
);
}
}
+
const styles = StyleSheet.create({
+ footerContainer: {
+ marginTop: 5,
+ marginLeft: 10,
+ marginRight: 10,
+ marginBottom: 10,
+ },
+ footerText: {
+ fontSize: 14,
+ color: '#aaa',
+ },
container: {
flex: 1,
paddingTop: 15,
- backgroundColor: '#fff',
+ backgroundColor: '#ddf7ff',
},
});
+
diff --git a/screens/Login.js b/screens/Login.js
new file mode 100644
index 0000000..2fa81b5
--- /dev/null
+++ b/screens/Login.js
@@ -0,0 +1,64 @@
+import React from 'react';
+import {
+ Image,
+ Platform,
+ ScrollView,
+ StyleSheet,
+ Text,
+ Button,
+ View,
+} from 'react-native';
+import { WebBrowser } from 'expo';
+import { MonoText } from '../components/StyledText';
+import { getReminderAsync } from 'expo/build/Calendar';
+import ChooseTutor from './ChooseTutor';
+import { State } from 'react-native-gesture-handler';
+import App from '../App';
+export default class Login extends React.Component {
+
+ render(){
+ isMentor = (e) => {
+ e.preventDefault();
+ this.props.hasChosenChange(true);
+ }
+ isStudent = (e) => {
+ e.preventDefault();
+ this.props.hasChosenChange(false);
+ }
+ return(
+
+ Login
+ Are you a mentor or a student?
+
+
+
+
+
+
+
+ )
+ }
+
+
+}
+
+
+const styles = StyleSheet.create({
+ container:{
+ padding:20,
+ alignItems:'center',
+ marginTop:'40%'
+ },
+ loginText:{
+ fontSize:70,
+ textAlign: 'center'
+ },
+ buttonContainer:{
+ width:100,
+ marginTop:'10%',
+ // paddingTop:'10%'
+
+ }
+
+
+})
\ No newline at end of file
diff --git a/screens/Profiles.js b/screens/Profiles.js
new file mode 100644
index 0000000..e3cf99a
--- /dev/null
+++ b/screens/Profiles.js
@@ -0,0 +1,64 @@
+import React, {Component} from 'react'
+import {
+ Text,
+ Image,
+ View,
+ StyleSheet
+
+} from 'react-native'
+var count =0;
+
+class Profiles extends Component{
+
+ constructor(props){
+ super(props)
+ this.state={
+ count:props.count,
+ userSearch:props.userSearch
+ }
+ console.log(this.state.userSearch)
+ // this.test = this.test.bind(this)
+ }
+ render(){
+ test = () => {
+ console.log("test")
+ }
+
+ return(
+
+
+ {this.state.userSearch} {this.state.count}
+
+ )
+ }
+
+}
+
+
+const styles = StyleSheet.create({
+
+ profileContainer:{
+ padding:10,
+ flexDirection:'row',
+ borderWidth:1
+ },
+ profiles:{
+ borderStyle: 'solid',
+ borderColor: '#ffb900',
+ color:'#ffb900',
+ fontSize:26
+ },
+ profileIcon: {
+ width: 60,
+ height: 60,
+ resizeMode: 'contain',
+ },
+ })
+export default Profiles
\ No newline at end of file
diff --git a/screens/SettingsScreen.js b/screens/SettingsScreen.js
index 6957dcb..e575a85 100644
--- a/screens/SettingsScreen.js
+++ b/screens/SettingsScreen.js
@@ -1,14 +1,26 @@
import React from 'react';
-import { ExpoConfigView } from '@expo/samples';
+import { ScrollView, StyleSheet } from 'react-native';
+import { ExpoLinksView } from '@expo/samples';
export default class SettingsScreen extends React.Component {
static navigationOptions = {
- title: 'app.json',
+ title: 'EnglishAide',
};
render() {
- /* Go ahead and delete ExpoConfigView and replace it with your
- * content, we just wanted to give you a quick view of your config */
- return ;
+ return (
+
+ {/* Go ahead and delete ExpoLinksView and replace it with your
+ * content, we just wanted to provide you with some helpful links */}
+
+ );
}
}
+
+const styles = StyleSheet.create({
+ container: {
+ flex: 1,
+ paddingTop: 15,
+ backgroundColor: '#ddf7ff',
+ },
+});
diff --git a/server.js b/server.js
index 971a2ac..1f1da5b 100644
--- a/server.js
+++ b/server.js
@@ -1,3 +1,4 @@
+console.log('hoyo');
var express = require('express');
var http = require('http')
var socketio = require('socket.io');
@@ -10,6 +11,7 @@ var server = http.Server(app);
var websocket = socketio(server);
server.listen(3000, () => console.log('listening on *:3000'));
+
// Mapping objects to easily map sockets and users.
var clients = {};
var users = {};