From 249185536ad1993d339437e535e4e17d097bbd6a Mon Sep 17 00:00:00 2001 From: Arjun Patel Date: Thu, 19 Apr 2018 03:54:35 -0700 Subject: [PATCH 1/4] Main home screen and loading screen Routing, basic pages done, asyncstorage started, geolocationing working with emulator, need to change to 2 spaces --- android/app/build.gradle | 1 + android/app/src/main/AndroidManifest.xml | 3 +- app/App.js | 55 +- app/assets/loading.gif | Bin 0 -> 75110 bytes app/assets/reference.txt | 2 + app/screens/home.js | 90 ++ app/screens/loading.js | 80 ++ package-lock.json | 1424 +++++++++++++++++----- package.json | 3 +- 9 files changed, 1287 insertions(+), 371 deletions(-) create mode 100644 app/assets/loading.gif create mode 100644 app/assets/reference.txt create mode 100644 app/screens/home.js create mode 100644 app/screens/loading.js diff --git a/android/app/build.gradle b/android/app/build.gradle index 80847a7..33158d2 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -140,6 +140,7 @@ dependencies { compile fileTree(dir: "libs", include: ["*.jar"]) compile "com.android.support:appcompat-v7:23.0.1" compile "com.facebook.react:react-native:+" // From node_modules + compile 'com.facebook.fresco:animated-gif:1.0.1' // for gif support } // Run this once to be able to run the application with BUCK diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 7ff3114..c9c8fa0 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -3,7 +3,8 @@ - + + { render() { return ( - - - Welcome to React ! - - - To get started, edit App.js - - - {instructions} - - + + + + + {/* + + */} + + ); } } - -const styles = StyleSheet.create({ - container: { - flex: 1, - justifyContent: 'center', - alignItems: 'center', - backgroundColor: '#F5FCFF', - }, - welcome: { - fontSize: 20, - textAlign: 'center', - margin: 10, - }, - instructions: { - textAlign: 'center', - color: '#333333', - marginBottom: 5, - }, -}); diff --git a/app/assets/loading.gif b/app/assets/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..e3bf14bafcec98582c77734c5c14f079856f8d39 GIT binary patch literal 75110 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 { + componentDidMount() { + console.log('mounted'); + await AsyncStorage.getItem('longitude').then((lon) => { + console.log(lon); + }); + await AsyncStorage.getItem('latitude').then((lat) => { + console.log(lat); + }); + } + + connect() { + Actions.loading(); + } + + render() { + return ( + + + + Nexto + spontaneous connection + + + + Connect + + + + ); + } +} + +const homeStyles = { + container: { + flex: 1, + backgroundColor: '#0e8f9e', + }, + bg: { + flex: 1, + flexDirection: 'column', + justifyContent: 'space-around', + alignItems: 'center', + width: windowWidth, + height: windowHeight + }, + logo: { + color: 'grey', + fontSize: 50, + textAlign: 'center', + zIndex: 100 + }, + motto: { + color: '#0e8f9e', + fontSize: 18 + }, + connect: { + backgroundColor: '#0e8f9e', + padding: 15, + width: windowWidth - 100, + justifyContent: 'flex-end', + }, + connectTxt: { + textAlign: 'center', + color: 'white', + fontSize: 25 + } +} diff --git a/app/screens/loading.js b/app/screens/loading.js new file mode 100644 index 0000000..edc88ab --- /dev/null +++ b/app/screens/loading.js @@ -0,0 +1,80 @@ +/* + * Universal Loading screen that can be used for any situations + */ +import React, { Component } from 'react'; +import { + View, + Dimensions, + Image, + Text, + AsyncStorage +} from 'react-native'; +import { + Actions +} from 'react-native-router-flux'; + +const windowWidth = Dimensions.get('window').width; +const windowHeight = Dimensions.get('window').height; +const loadingGIF = 'http://www.playrosy.com/ourgames/vampiregirlmakeover/images/_preloader.gif'; + +type Props = {}; +export default class Loading extends Component { + componentWillMount() { + // Getting the location of the user + navigator.geolocation.getCurrentPosition((position) => { + console.log('Getting User Location:'); + this.latitude = parseFloat(position.coords.latitude); + this.longitude = parseFloat(position.coords.longitude); + console.log(String(this.latitude) + ' ' + String(this.longitude)); + AsyncStorage.setItem('longitude', this.longitude); + AsyncStorage.setItem('latitude', this.latitude); + Actions.home(); + }, + (error) => console.log(error), + // high accuracy might need slight adjusting with its values + // or perhaps do high accuracy and if it times out then do + // regular getPosition + //{ enableHighAccuracy: false, timeout: 2000, maximumAge: 1000 } + ); + } + + render() { + return ( + + + Please wait to be connected... + + © Nexto + + + ); + } +} + +const loadingStyles = { + container: { + flex: 1, + justifyContent: 'center', + alignItems: 'center', + flexDirection: 'column', + backgroundColor: '#0e8f9e', + }, + gif: { + height: 50, + width: 50 + }, + waitTxt: { + color: 'white', + fontSize: 15 + }, + copyright: { + position: 'absolute', + bottom: 30, + zIndex: 10 + }, + copyTxt: { + fontSize: 15, + color: 'white', + fontFamily: 'TitilliumWeb-Regular' + } +} diff --git a/package-lock.json b/package-lock.json index 90d26c6..00026da 100644 --- a/package-lock.json +++ b/package-lock.json @@ -699,6 +699,22 @@ "resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz", "integrity": "sha1-DELU+xcWDVqa8eSEus4cZpIsGyE=" }, + "ansi-colors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", + "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-cyan": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz", + "integrity": "sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=", + "requires": { + "ansi-wrap": "0.1.0" + } + }, "ansi-escapes": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", @@ -712,6 +728,14 @@ "ansi-wrap": "0.1.0" } }, + "ansi-red": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", + "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=", + "requires": { + "ansi-wrap": "0.1.0" + } + }, "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", @@ -1007,35 +1031,6 @@ "requires": { "delegates": "1.0.0", "readable-stream": "2.3.6" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "requires": { - "core-util-is": "1.0.2", - "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.2" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "5.1.1" - } - } } }, "argparse": { @@ -1065,11 +1060,6 @@ "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" }, - "array-differ": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", - "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=" - }, "array-equal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", @@ -1091,10 +1081,10 @@ "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz", "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=" }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" + "array-slice": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", + "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=" }, "array-unique": { "version": "0.2.1", @@ -1484,6 +1474,22 @@ "babel-template": "6.26.0" } }, + "babel-plugin-transform-define": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-define/-/babel-plugin-transform-define-1.3.0.tgz", + "integrity": "sha1-lMX5RZyBDHOMx8UMvUSjGCnW8xk=", + "requires": { + "lodash": "4.17.4", + "traverse": "0.6.6" + }, + "dependencies": { + "lodash": { + "version": "4.17.4", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" + } + } + }, "babel-plugin-transform-es2015-arrow-functions": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", @@ -1757,6 +1763,23 @@ "babel-types": "6.26.0" } }, + "babel-polyfill": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.23.0.tgz", + "integrity": "sha1-g2TKYt+Or7gwSZ9pkXdGbDsDSZ0=", + "requires": { + "babel-runtime": "6.26.0", + "core-js": "2.5.5", + "regenerator-runtime": "0.10.5" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", + "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=" + } + } + }, "babel-preset-es2015-node": { "version": "6.1.1", "resolved": "https://registry.npmjs.org/babel-preset-es2015-node/-/babel-preset-es2015-node-6.1.1.tgz", @@ -2011,11 +2034,6 @@ "tweetnacl": "0.14.5" } }, - "beeper": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz", - "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=" - }, "big-integer": { "version": "1.6.28", "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.28.tgz", @@ -2185,6 +2203,11 @@ "integrity": "sha512-SK/846h/Rcy8q9Z9CAwGBLfCJ6EkjJWdpelWDufQpqVDYq2Wnnv8zlSO6AMQap02jvhVruKKpEtQOufo3pFhLg==", "dev": true }, + "clamp": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/clamp/-/clamp-1.0.1.tgz", + "integrity": "sha1-ZqDmQBGBbjcZaCj9yMjBRzEshjQ=" + }, "class-utils": { "version": "0.3.6", "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", @@ -2263,16 +2286,6 @@ } } }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" - }, - "clone-stats": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", - "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=" - }, "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", @@ -2377,35 +2390,6 @@ "inherits": "2.0.3", "readable-stream": "2.3.6", "typedarray": "0.0.6" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "requires": { - "core-util-is": "1.0.2", - "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.2" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "5.1.1" - } - } } }, "connect": { @@ -2514,11 +2498,6 @@ "whatwg-url": "6.4.0" } }, - "dateformat": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz", - "integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=" - }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -2679,14 +2658,6 @@ "webidl-conversions": "4.0.2" } }, - "duplexer2": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", - "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", - "requires": { - "readable-stream": "1.1.14" - } - }, "ecc-jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", @@ -3027,16 +2998,18 @@ } }, "fbjs-scripts": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/fbjs-scripts/-/fbjs-scripts-0.8.2.tgz", - "integrity": "sha512-fViyMWfrBCJGmkN6N0CE/LRDSk9Jib+YP5YvfNAIAqjHLZ7Ey2T1oKG5wquY7PhgPVwQDHFGg7J270RNPfWptw==", + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/fbjs-scripts/-/fbjs-scripts-0.8.3.tgz", + "integrity": "sha512-aUJ/uEzMIiBYuj/blLp4sVNkQQ7ZEB/lyplG1IzzOmZ83meiWecrGg5jBo4wWrxXmO4RExdtsSV1QkTjPt2Gag==", "requires": { + "ansi-colors": "1.1.0", "babel-core": "6.26.0", "babel-preset-fbjs": "2.1.4", "core-js": "2.5.5", "cross-spawn": "5.1.0", - "gulp-util": "3.0.8", + "fancy-log": "1.3.2", "object-assign": "4.1.1", + "plugin-error": "0.1.2", "semver": "5.5.0", "through2": "2.0.3" } @@ -3172,6 +3145,795 @@ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, + "fsevents": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz", + "integrity": "sha512-WIr7iDkdmdbxu/Gh6eKEZJL6KPE74/5MEsf2whTOFNxbIoIixogroLdKYqB6FDav4Wavh/lZdzzd3b2KxIXC5Q==", + "optional": true, + "requires": { + "nan": "2.10.0", + "node-pre-gyp": "0.6.39" + }, + "dependencies": { + "abbrev": { + "version": "1.1.0", + "bundled": true, + "optional": true + }, + "ajv": { + "version": "4.11.8", + "bundled": true, + "optional": true, + "requires": { + "co": "4.6.0", + "json-stable-stringify": "1.0.1" + } + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true + }, + "aproba": { + "version": "1.1.1", + "bundled": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "optional": true, + "requires": { + "delegates": "1.0.0", + "readable-stream": "2.2.9" + } + }, + "asn1": { + "version": "0.2.3", + "bundled": true, + "optional": true + }, + "assert-plus": { + "version": "0.2.0", + "bundled": true, + "optional": true + }, + "asynckit": { + "version": "0.4.0", + "bundled": true, + "optional": true + }, + "aws-sign2": { + "version": "0.6.0", + "bundled": true, + "optional": true + }, + "aws4": { + "version": "1.6.0", + "bundled": true, + "optional": true + }, + "balanced-match": { + "version": "0.4.2", + "bundled": true + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "bundled": true, + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } + }, + "block-stream": { + "version": "0.0.9", + "bundled": true, + "requires": { + "inherits": "2.0.3" + } + }, + "boom": { + "version": "2.10.1", + "bundled": true, + "requires": { + "hoek": "2.16.3" + } + }, + "brace-expansion": { + "version": "1.1.7", + "bundled": true, + "requires": { + "balanced-match": "0.4.2", + "concat-map": "0.0.1" + } + }, + "buffer-shims": { + "version": "1.0.0", + "bundled": true + }, + "caseless": { + "version": "0.12.0", + "bundled": true, + "optional": true + }, + "co": { + "version": "4.6.0", + "bundled": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true + }, + "combined-stream": { + "version": "1.0.5", + "bundled": true, + "requires": { + "delayed-stream": "1.0.0" + } + }, + "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 + }, + "cryptiles": { + "version": "2.0.5", + "bundled": true, + "requires": { + "boom": "2.10.1" + } + }, + "dashdash": { + "version": "1.14.1", + "bundled": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "optional": true + } + } + }, + "debug": { + "version": "2.6.8", + "bundled": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.4.2", + "bundled": true, + "optional": true + }, + "delayed-stream": { + "version": "1.0.0", + "bundled": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "ecc-jsbn": { + "version": "0.1.1", + "bundled": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "extend": { + "version": "3.0.1", + "bundled": true, + "optional": true + }, + "extsprintf": { + "version": "1.0.2", + "bundled": true + }, + "forever-agent": { + "version": "0.6.1", + "bundled": true, + "optional": true + }, + "form-data": { + "version": "2.1.4", + "bundled": true, + "optional": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.5", + "mime-types": "2.1.15" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true + }, + "fstream": { + "version": "1.0.11", + "bundled": true, + "requires": { + "graceful-fs": "4.1.11", + "inherits": "2.0.3", + "mkdirp": "0.5.1", + "rimraf": "2.6.1" + } + }, + "fstream-ignore": { + "version": "1.0.5", + "bundled": true, + "optional": true, + "requires": { + "fstream": "1.0.11", + "inherits": "2.0.3", + "minimatch": "3.0.4" + } + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "optional": true, + "requires": { + "aproba": "1.1.1", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" + } + }, + "getpass": { + "version": "0.1.7", + "bundled": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "optional": true + } + } + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "graceful-fs": { + "version": "4.1.11", + "bundled": true + }, + "har-schema": { + "version": "1.0.5", + "bundled": true, + "optional": true + }, + "har-validator": { + "version": "4.2.1", + "bundled": true, + "optional": true, + "requires": { + "ajv": "4.11.8", + "har-schema": "1.0.5" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "optional": true + }, + "hawk": { + "version": "3.1.3", + "bundled": true, + "requires": { + "boom": "2.10.1", + "cryptiles": "2.0.5", + "hoek": "2.16.3", + "sntp": "1.0.9" + } + }, + "hoek": { + "version": "2.16.3", + "bundled": true + }, + "http-signature": { + "version": "1.1.1", + "bundled": true, + "optional": true, + "requires": { + "assert-plus": "0.2.0", + "jsprim": "1.4.0", + "sshpk": "1.13.0" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true + }, + "ini": { + "version": "1.3.4", + "bundled": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-typedarray": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true + }, + "isstream": { + "version": "0.1.2", + "bundled": true, + "optional": true + }, + "jodid25519": { + "version": "1.0.2", + "bundled": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "jsbn": { + "version": "0.1.1", + "bundled": true, + "optional": true + }, + "json-schema": { + "version": "0.2.3", + "bundled": true, + "optional": true + }, + "json-stable-stringify": { + "version": "1.0.1", + "bundled": true, + "optional": true, + "requires": { + "jsonify": "0.0.0" + } + }, + "json-stringify-safe": { + "version": "5.0.1", + "bundled": true, + "optional": true + }, + "jsonify": { + "version": "0.0.0", + "bundled": true, + "optional": true + }, + "jsprim": { + "version": "1.4.0", + "bundled": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.0.2", + "json-schema": "0.2.3", + "verror": "1.3.6" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "optional": true + } + } + }, + "mime-db": { + "version": "1.27.0", + "bundled": true + }, + "mime-types": { + "version": "2.1.15", + "bundled": true, + "requires": { + "mime-db": "1.27.0" + } + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "requires": { + "brace-expansion": "1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "optional": true + }, + "node-pre-gyp": { + "version": "0.6.39", + "bundled": true, + "optional": true, + "requires": { + "detect-libc": "1.0.2", + "hawk": "3.1.3", + "mkdirp": "0.5.1", + "nopt": "4.0.1", + "npmlog": "4.1.0", + "rc": "1.2.1", + "request": "2.81.0", + "rimraf": "2.6.1", + "semver": "5.3.0", + "tar": "2.2.1", + "tar-pack": "3.4.0" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "optional": true, + "requires": { + "abbrev": "1.1.0", + "osenv": "0.1.4" + } + }, + "npmlog": { + "version": "4.1.0", + "bundled": true, + "optional": true, + "requires": { + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true + }, + "oauth-sign": { + "version": "0.8.2", + "bundled": true, + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "osenv": { + "version": "0.1.4", + "bundled": true, + "optional": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true + }, + "performance-now": { + "version": "0.2.0", + "bundled": true, + "optional": true + }, + "process-nextick-args": { + "version": "1.0.7", + "bundled": true + }, + "punycode": { + "version": "1.4.1", + "bundled": true, + "optional": true + }, + "qs": { + "version": "6.4.0", + "bundled": true, + "optional": true + }, + "rc": { + "version": "1.2.1", + "bundled": true, + "optional": true, + "requires": { + "deep-extend": "0.4.2", + "ini": "1.3.4", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.2.9", + "bundled": true, + "requires": { + "buffer-shims": "1.0.0", + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "string_decoder": "1.0.1", + "util-deprecate": "1.0.2" + } + }, + "request": { + "version": "2.81.0", + "bundled": true, + "optional": true, + "requires": { + "aws-sign2": "0.6.0", + "aws4": "1.6.0", + "caseless": "0.12.0", + "combined-stream": "1.0.5", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.1.4", + "har-validator": "4.2.1", + "hawk": "3.1.3", + "http-signature": "1.1.1", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.15", + "oauth-sign": "0.8.2", + "performance-now": "0.2.0", + "qs": "6.4.0", + "safe-buffer": "5.0.1", + "stringstream": "0.0.5", + "tough-cookie": "2.3.2", + "tunnel-agent": "0.6.0", + "uuid": "3.0.1" + } + }, + "rimraf": { + "version": "2.6.1", + "bundled": true, + "requires": { + "glob": "7.1.2" + } + }, + "safe-buffer": { + "version": "5.0.1", + "bundled": true + }, + "semver": { + "version": "5.3.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 + }, + "sntp": { + "version": "1.0.9", + "bundled": true, + "requires": { + "hoek": "2.16.3" + } + }, + "sshpk": { + "version": "1.13.0", + "bundled": true, + "optional": true, + "requires": { + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jodid25519": "1.0.2", + "jsbn": "0.1.1", + "tweetnacl": "0.14.5" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "optional": true + } + } + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "string_decoder": { + "version": "1.0.1", + "bundled": true, + "requires": { + "safe-buffer": "5.0.1" + } + }, + "stringstream": { + "version": "0.0.5", + "bundled": true, + "optional": true + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "optional": true + }, + "tar": { + "version": "2.2.1", + "bundled": true, + "requires": { + "block-stream": "0.0.9", + "fstream": "1.0.11", + "inherits": "2.0.3" + } + }, + "tar-pack": { + "version": "3.4.0", + "bundled": true, + "optional": true, + "requires": { + "debug": "2.6.8", + "fstream": "1.0.11", + "fstream-ignore": "1.0.5", + "once": "1.4.0", + "readable-stream": "2.2.9", + "rimraf": "2.6.1", + "tar": "2.2.1", + "uid-number": "0.0.6" + } + }, + "tough-cookie": { + "version": "2.3.2", + "bundled": true, + "optional": true, + "requires": { + "punycode": "1.4.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "bundled": true, + "optional": true, + "requires": { + "safe-buffer": "5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "bundled": true, + "optional": true + }, + "uid-number": { + "version": "0.0.6", + "bundled": true, + "optional": true + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true + }, + "uuid": { + "version": "3.0.1", + "bundled": true, + "optional": true + }, + "verror": { + "version": "1.3.6", + "bundled": true, + "optional": true, + "requires": { + "extsprintf": "1.0.2" + } + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "optional": true, + "requires": { + "string-width": "1.0.2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true + } + } + }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -3258,14 +4020,6 @@ "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==" }, - "glogg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.1.tgz", - "integrity": "sha512-ynYqXLoluBKf9XGR1gA59yEJisIL7YHEH4xr3ZziHB5/yl4qWfaK8Js9jGe6gBGCSCKVqiyO30WnRZADvemUNw==", - "requires": { - "sparkles": "1.0.0" - } - }, "graceful-fs": { "version": "4.1.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", @@ -3276,46 +4030,6 @@ "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=" }, - "gulp-util": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz", - "integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=", - "requires": { - "array-differ": "1.0.0", - "array-uniq": "1.0.3", - "beeper": "1.1.1", - "chalk": "1.1.3", - "dateformat": "2.2.0", - "fancy-log": "1.3.2", - "gulplog": "1.0.0", - "has-gulplog": "0.1.0", - "lodash._reescape": "3.0.0", - "lodash._reevaluate": "3.0.0", - "lodash._reinterpolate": "3.0.0", - "lodash.template": "3.6.2", - "minimist": "1.2.0", - "multipipe": "0.1.2", - "object-assign": "3.0.0", - "replace-ext": "0.0.1", - "through2": "2.0.3", - "vinyl": "0.5.3" - }, - "dependencies": { - "object-assign": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", - "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=" - } - } - }, - "gulplog": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", - "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", - "requires": { - "glogg": "1.0.1" - } - }, "handlebars": { "version": "4.0.11", "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", @@ -3443,14 +4157,6 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, - "has-gulplog": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz", - "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=", - "requires": { - "sparkles": "1.0.0" - } - }, "has-unicode": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", @@ -3528,6 +4234,11 @@ "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==", "dev": true }, + "hoist-non-react-statics": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.0.tgz", + "integrity": "sha512-6Bl6XsDT1ntE0lHbIhr4Kp2PGcleGZ66qu5Jqk8lc0Xc/IeG6gVLmwUGs/K0Us+L8VWoKgj0uWdPMataOsm31w==" + }, "home-or-tmp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", @@ -5321,78 +6032,10 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==" }, - "lodash._basecopy": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", - "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=" - }, - "lodash._basetostring": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz", - "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=" - }, - "lodash._basevalues": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz", - "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=" - }, - "lodash._getnative": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", - "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=" - }, - "lodash._isiterateecall": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", - "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=" - }, - "lodash._reescape": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz", - "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=" - }, - "lodash._reevaluate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz", - "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=" - }, - "lodash._reinterpolate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" - }, - "lodash._root": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz", - "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=" - }, - "lodash.escape": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz", - "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=", - "requires": { - "lodash._root": "3.0.1" - } - }, - "lodash.isarguments": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", - "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=" - }, - "lodash.isarray": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", - "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=" - }, - "lodash.keys": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", - "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", - "requires": { - "lodash._getnative": "3.9.1", - "lodash.isarguments": "3.1.0", - "lodash.isarray": "3.0.4" - } + "lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=" }, "lodash.pad": { "version": "4.5.1", @@ -5409,42 +6052,12 @@ "resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.6.1.tgz", "integrity": "sha1-0uPuv/DZ05rVD1y9G1KnvOa7YRs=" }, - "lodash.restparam": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", - "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=" - }, "lodash.sortby": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", "dev": true }, - "lodash.template": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz", - "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=", - "requires": { - "lodash._basecopy": "3.0.1", - "lodash._basetostring": "3.0.1", - "lodash._basevalues": "3.0.0", - "lodash._isiterateecall": "3.0.9", - "lodash._reinterpolate": "3.0.0", - "lodash.escape": "3.2.0", - "lodash.keys": "3.1.2", - "lodash.restparam": "3.6.1", - "lodash.templatesettings": "3.1.1" - } - }, - "lodash.templatesettings": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz", - "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=", - "requires": { - "lodash._reinterpolate": "3.0.0", - "lodash.escape": "3.2.0" - } - }, "lodash.throttle": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", @@ -5822,6 +6435,19 @@ } } }, + "mobx": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/mobx/-/mobx-3.6.2.tgz", + "integrity": "sha512-Dq3boJFLpZEvuh5a/MbHLUIyN9XobKWIb0dBfkNOJffNkE3vtuY0C9kSDVpfH8BB0BPkVw8g22qCv7d05LEhKg==" + }, + "mobx-react": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/mobx-react/-/mobx-react-4.4.3.tgz", + "integrity": "sha1-uqnsQRZe41rnud8ZvKEBkPNvEX4=", + "requires": { + "hoist-non-react-statics": "2.5.0" + } + }, "morgan": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.0.tgz", @@ -5839,19 +6465,17 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, - "multipipe": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz", - "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=", - "requires": { - "duplexer2": "0.0.2" - } - }, "mute-stream": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" }, + "nan": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", + "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", + "optional": true + }, "nanomatch": { "version": "1.2.9", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz", @@ -6092,6 +6716,64 @@ "mimic-fn": "1.2.0" } }, + "opencollective": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/opencollective/-/opencollective-1.0.3.tgz", + "integrity": "sha1-ruY3K8KBRFg2kMPKja7PwSDdDvE=", + "requires": { + "babel-polyfill": "6.23.0", + "chalk": "1.1.3", + "inquirer": "3.0.6", + "minimist": "1.2.0", + "node-fetch": "1.6.3", + "opn": "4.0.2" + }, + "dependencies": { + "ansi-escapes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", + "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=" + }, + "inquirer": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.0.6.tgz", + "integrity": "sha1-4EqqnQW3o8ubD0B9BDdfBEcZA0c=", + "requires": { + "ansi-escapes": "1.4.0", + "chalk": "1.1.3", + "cli-cursor": "2.1.0", + "cli-width": "2.2.0", + "external-editor": "2.2.0", + "figures": "2.0.0", + "lodash": "4.17.5", + "mute-stream": "0.0.7", + "run-async": "2.3.0", + "rx": "4.1.0", + "string-width": "2.1.1", + "strip-ansi": "3.0.1", + "through": "2.3.8" + } + }, + "node-fetch": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.6.3.tgz", + "integrity": "sha1-3CNO3WSJmC1Y6PDbT2lQKavNjAQ=", + "requires": { + "encoding": "0.1.12", + "is-stream": "1.1.0" + } + }, + "opn": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/opn/-/opn-4.0.2.tgz", + "integrity": "sha1-erwi5kTf9jsKltWrfyeQwPAavJU=", + "requires": { + "object-assign": "4.1.1", + "pinkie-promise": "2.0.1" + } + } + } + }, "opn": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/opn/-/opn-3.0.3.tgz", @@ -6266,6 +6948,11 @@ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=" }, + "path-to-regexp": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.0.tgz", + "integrity": "sha512-zJcOPeBsraLjWXwUzFMPzH3QO2CmO1yRggtADPJjOTyCF5csQxfUGJL+CbyyRvIS09wOipi4F/fgRhdmVGSwxQ==" + }, "path-type": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", @@ -6300,14 +6987,12 @@ "pinkie": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" }, "pinkie-promise": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, "requires": { "pinkie": "2.0.4" } @@ -6346,6 +7031,47 @@ } } }, + "plugin-error": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz", + "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=", + "requires": { + "ansi-cyan": "0.1.1", + "ansi-red": "0.1.1", + "arr-diff": "1.1.0", + "arr-union": "2.1.0", + "extend-shallow": "1.1.4" + }, + "dependencies": { + "arr-diff": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz", + "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=", + "requires": { + "arr-flatten": "1.1.0", + "array-slice": "0.2.3" + } + }, + "arr-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz", + "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=" + }, + "extend-shallow": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz", + "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=", + "requires": { + "kind-of": "1.1.0" + } + }, + "kind-of": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", + "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=" + } + } + }, "pn": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", @@ -6551,7 +7277,7 @@ "eslint-plugin-react-native": "3.2.1", "event-target-shim": "1.1.1", "fbjs": "0.8.16", - "fbjs-scripts": "0.8.2", + "fbjs-scripts": "0.8.3", "fs-extra": "1.0.0", "glob": "7.1.2", "graceful-fs": "4.1.11", @@ -6588,6 +7314,73 @@ "yargs": "9.0.1" } }, + "react-native-dismiss-keyboard": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/react-native-dismiss-keyboard/-/react-native-dismiss-keyboard-1.0.0.tgz", + "integrity": "sha1-MohiQrPyMX4SHzrrmwpYXiuHm0k=" + }, + "react-native-drawer-layout": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/react-native-drawer-layout/-/react-native-drawer-layout-1.3.2.tgz", + "integrity": "sha512-fjO0scqbJUfNu2wuEpvywL7DYLXuCXJ2W/zYhWz986rdLytidbys1QGVvkaszHrb4Y7OqO96mTkgpOcP8KWevw==", + "requires": { + "react-native-dismiss-keyboard": "1.0.0" + } + }, + "react-native-drawer-layout-polyfill": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/react-native-drawer-layout-polyfill/-/react-native-drawer-layout-polyfill-1.3.2.tgz", + "integrity": "sha512-XzPhfLDJrYHru+e8+dFwhf0FtTeAp7JXPpFYezYV6P1nTeA1Tia/kDpFT+O2DWTrBKBEI8FGhZnThrroZmHIxg==", + "requires": { + "react-native-drawer-layout": "1.3.2" + } + }, + "react-native-router-flux": { + "version": "4.0.0-beta.28", + "resolved": "https://registry.npmjs.org/react-native-router-flux/-/react-native-router-flux-4.0.0-beta.28.tgz", + "integrity": "sha512-XMcmHFbtju/nhMlsW6aByN28qlAsMXMPXT1JSC4AVVeVVmRDbFhjafE7C2h/WMWKtgPd0lY/6aFEq5oTvLdedA==", + "requires": { + "lodash.isequal": "4.5.0", + "mobx": "3.6.2", + "mobx-react": "4.4.3", + "opencollective": "1.0.3", + "path-to-regexp": "2.2.0", + "prop-types": "15.6.1", + "react-navigation": "1.0.0-beta.22" + } + }, + "react-native-tab-view": { + "version": "0.0.70", + "resolved": "https://registry.npmjs.org/react-native-tab-view/-/react-native-tab-view-0.0.70.tgz", + "integrity": "sha512-VOTZs2UCamYrTyBtcxpn4Ko9RkWrq6rZGOY7AagHF/gcCUQBMSWADoplsBopSc5vXnHHeCSR458BkceEuSEaQA==", + "requires": { + "prop-types": "15.6.1" + } + }, + "react-navigation": { + "version": "1.0.0-beta.22", + "resolved": "https://registry.npmjs.org/react-navigation/-/react-navigation-1.0.0-beta.22.tgz", + "integrity": "sha512-mcrWnFqfSGWk4k8sulM919+lBjvsP5+LkIJ8KtYxTmW9z/j1VxGbxlnaMZpodtr1/ESIgRsKrYPPm4IkWkA9WA==", + "requires": { + "babel-plugin-transform-define": "1.3.0", + "clamp": "1.0.1", + "hoist-non-react-statics": "2.5.0", + "path-to-regexp": "1.7.0", + "prop-types": "15.6.1", + "react-native-drawer-layout-polyfill": "1.3.2", + "react-native-tab-view": "0.0.70" + }, + "dependencies": { + "path-to-regexp": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz", + "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=", + "requires": { + "isarray": "0.0.1" + } + } + } + }, "react-proxy": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/react-proxy/-/react-proxy-1.1.8.tgz", @@ -6643,14 +7436,24 @@ } }, "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { "core-util-is": "1.0.2", "inherits": "2.0.3", - "isarray": "0.0.1", - "string_decoder": "0.10.31" + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.1", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + } } }, "realpath-native": { @@ -6750,11 +7553,6 @@ "is-finite": "1.0.2" } }, - "replace-ext": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", - "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=" - }, "request": { "version": "2.85.0", "resolved": "https://registry.npmjs.org/request/-/request-2.85.0.tgz", @@ -6891,6 +7689,11 @@ "is-promise": "2.1.0" } }, + "rx": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz", + "integrity": "sha1-pfE/957zt0D+MKqAP7CfmIBdR4I=" + }, "rx-lite": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", @@ -6930,6 +7733,7 @@ "anymatch": "2.0.0", "exec-sh": "0.2.1", "fb-watchman": "2.0.0", + "fsevents": "1.1.3", "micromatch": "3.1.10", "minimist": "1.2.0", "walker": "1.0.7", @@ -7492,11 +8296,6 @@ "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" }, - "sparkles": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz", - "integrity": "sha1-Gsu/tZJDbRC76PeFt8xvgoFQEsM=" - }, "spdx-correct": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", @@ -7601,11 +8400,6 @@ "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz", "integrity": "sha1-kdX1Ew0c75bc+n9yaUUYh0HQnuQ=" }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - }, "string-length": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz", @@ -7657,6 +8451,14 @@ } } }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "5.1.1" + } + }, "stringstream": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", @@ -8093,35 +8895,6 @@ "requires": { "readable-stream": "2.3.6", "xtend": "4.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "requires": { - "core-util-is": "1.0.2", - "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.2" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "5.1.1" - } - } } }, "time-stamp": { @@ -8211,6 +8984,11 @@ "punycode": "2.1.0" } }, + "traverse": { + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz", + "integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=" + }, "trim-right": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", @@ -8437,16 +9215,6 @@ "extsprintf": "1.3.0" } }, - "vinyl": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz", - "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=", - "requires": { - "clone": "1.0.4", - "clone-stats": "0.0.1", - "replace-ext": "0.0.1" - } - }, "w3c-hr-time": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz", diff --git a/package.json b/package.json index 843cba6..4609915 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,8 @@ }, "dependencies": { "react": "16.3.1", - "react-native": "0.55.3" + "react-native": "^0.55.3", + "react-native-router-flux": "^4.0.0-beta.28" }, "devDependencies": { "babel-jest": "22.4.3", From ec7102e73b1d3eadad2a98216d825c7e45ec88ec Mon Sep 17 00:00:00 2001 From: Arjun Patel Date: Thu, 19 Apr 2018 04:06:31 -0700 Subject: [PATCH 2/4] fix bug affecting test on phsyical device --- app/screens/home.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/screens/home.js b/app/screens/home.js index 4a6a7a6..54ba104 100644 --- a/app/screens/home.js +++ b/app/screens/home.js @@ -23,10 +23,10 @@ type Props = {}; export default class Home extends Component { componentDidMount() { console.log('mounted'); - await AsyncStorage.getItem('longitude').then((lon) => { + AsyncStorage.getItem('longitude').then((lon) => { console.log(lon); }); - await AsyncStorage.getItem('latitude').then((lat) => { + AsyncStorage.getItem('latitude').then((lat) => { console.log(lat); }); } From b03f301aa5b067a1ce4b94e2f414b929dea39864 Mon Sep 17 00:00:00 2001 From: Arjun Patel Date: Sat, 21 Apr 2018 15:18:34 -0700 Subject: [PATCH 3/4] basic layout of main page - consists of the navbar, chat, and adspace components --- app/App.js | 6 ++-- app/screens/home.js | 12 +------- app/screens/loading.js | 10 +++---- app/screens/main.js | 60 +++++++++++++++++++++++++++++++++++++ app/screens/main/adspace.js | 29 ++++++++++++++++++ app/screens/main/chat.js | 29 ++++++++++++++++++ app/screens/main/navbar.js | 30 +++++++++++++++++++ 7 files changed, 156 insertions(+), 20 deletions(-) create mode 100644 app/screens/main.js create mode 100644 app/screens/main/adspace.js create mode 100644 app/screens/main/chat.js create mode 100644 app/screens/main/navbar.js diff --git a/app/App.js b/app/App.js index 3c38788..fc9e962 100644 --- a/app/App.js +++ b/app/App.js @@ -17,7 +17,7 @@ import { // Imported screens to route through import Home from './screens/home.js'; import Loading from './screens/loading.js'; - +import Main from './screens/main.js' type Props = {}; export default class App extends Component { render() { @@ -26,9 +26,7 @@ export default class App extends Component { - {/* - - */} + ); diff --git a/app/screens/home.js b/app/screens/home.js index 54ba104..6b31191 100644 --- a/app/screens/home.js +++ b/app/screens/home.js @@ -3,9 +3,9 @@ */ import React, { Component } from 'react'; import { + Dimensions, View, ImageBackground, - Dimensions, Text, TouchableOpacity, Permissions, @@ -21,16 +21,6 @@ const backgroundLink = 'https://cdn.shopify.com/s/files/1/2567/6484/products/Pol type Props = {}; export default class Home extends Component { - componentDidMount() { - console.log('mounted'); - AsyncStorage.getItem('longitude').then((lon) => { - console.log(lon); - }); - AsyncStorage.getItem('latitude').then((lat) => { - console.log(lat); - }); - } - connect() { Actions.loading(); } diff --git a/app/screens/loading.js b/app/screens/loading.js index edc88ab..5685539 100644 --- a/app/screens/loading.js +++ b/app/screens/loading.js @@ -3,8 +3,8 @@ */ import React, { Component } from 'react'; import { - View, Dimensions, + View, Image, Text, AsyncStorage @@ -26,9 +26,9 @@ export default class Loading extends Component { this.latitude = parseFloat(position.coords.latitude); this.longitude = parseFloat(position.coords.longitude); console.log(String(this.latitude) + ' ' + String(this.longitude)); - AsyncStorage.setItem('longitude', this.longitude); - AsyncStorage.setItem('latitude', this.latitude); - Actions.home(); + //AsyncStorage.setItem('longitude', this.longitude); + //AsyncStorage.setItem('latitude', this.latitude); + Actions.main(); }, (error) => console.log(error), // high accuracy might need slight adjusting with its values @@ -41,7 +41,7 @@ export default class Loading extends Component { render() { return ( - + Please wait to be connected... © Nexto diff --git a/app/screens/main.js b/app/screens/main.js new file mode 100644 index 0000000..f4d92f6 --- /dev/null +++ b/app/screens/main.js @@ -0,0 +1,60 @@ +/* + * Main screen with top Navbar, chat scroll view, + * and Ad space components + */ +import React, { Component } from 'react'; +import { + Dimensions, + View, + Text +} from 'react-native'; +import { + Actions +} from 'react-native-router-flux'; + +// imported components for different sections in main component +import Navbar from './main/navbar.js'; +import Chat from './main/chat.js'; +import AdSpace from './main/adspace.js'; + +const windowWidth = Dimensions.get('window').width; +const windowHeight = Dimensions.get('window').height; + +type Props = {}; +export default class Main extends Component { + render() { + console.log('in Main'); + + return ( + + + + + + + + + + + + ); + } +} + +const styles = { + container: { + flex: 18, + flexDirection: 'column', + justifyContent: 'space-between' + }, + navbar: { + flex: 2 + }, + chat: { + flex: 15, + backgroundColor: 'white' + }, + adspace: { + flex: 1 + } +} diff --git a/app/screens/main/adspace.js b/app/screens/main/adspace.js new file mode 100644 index 0000000..1a0d2b9 --- /dev/null +++ b/app/screens/main/adspace.js @@ -0,0 +1,29 @@ +/* + * AdSpace component within Main + */ +import React, { Component } from 'react'; +import { + Dimensions, + View, + Text, +} from 'react-native'; +import { + Actions +} from 'react-native-router-flux'; + +const windowWidth = Dimensions.get('window').width; +const windowHeight = Dimensions.get('window').height; + +type Props = {}; +export default class AdSpace extends Component { + render() { + return ( + + adspace + + ); + } +} + +const styles = { +} diff --git a/app/screens/main/chat.js b/app/screens/main/chat.js new file mode 100644 index 0000000..b388636 --- /dev/null +++ b/app/screens/main/chat.js @@ -0,0 +1,29 @@ +/* + * Chat component within Main + */ +import React, { Component } from 'react'; +import { + Dimensions, + View, + Text, +} from 'react-native'; +import { + Actions +} from 'react-native-router-flux'; + +const windowWidth = Dimensions.get('window').width; +const windowHeight = Dimensions.get('window').height; + +type Props = {}; +export default class Chat extends Component { + render() { + return ( + + chat + + ); + } +} + +const styles = { +} diff --git a/app/screens/main/navbar.js b/app/screens/main/navbar.js new file mode 100644 index 0000000..2529e44 --- /dev/null +++ b/app/screens/main/navbar.js @@ -0,0 +1,30 @@ +/* + * Navbar component within Main + */ +import React, { Component } from 'react'; +import { + Dimensions, + View, + Text, +} from 'react-native'; +import { + Actions +} from 'react-native-router-flux'; + +const windowWidth = Dimensions.get('window').width; +const windowHeight = Dimensions.get('window').height; + +type Props = {}; +export default class Navbar extends Component { + render() { + return ( + + navbar + + ); + } +} + +const styles = { + +} From 7ef574ca91a37dba32c2578ef901a5c7ddb76e80 Mon Sep 17 00:00:00 2001 From: Arjun Patel Date: Wed, 25 Apr 2018 16:04:04 -0700 Subject: [PATCH 4/4] more basic layout put --- app/assets/images/inboxIcon.jpg | Bin 0 -> 2762 bytes app/assets/images/menuIcon.png | Bin 0 -> 10450 bytes app/assets/images/sendIcon.png | Bin 0 -> 17831 bytes app/screens/main/adspace.js | 4 +++ app/screens/main/chat.js | 52 +++++++++++++++++++++++++++++++- app/screens/main/navbar.js | 51 +++++++++++++++++++++++++++++-- 6 files changed, 104 insertions(+), 3 deletions(-) create mode 100644 app/assets/images/inboxIcon.jpg create mode 100644 app/assets/images/menuIcon.png create mode 100644 app/assets/images/sendIcon.png diff --git a/app/assets/images/inboxIcon.jpg b/app/assets/images/inboxIcon.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9a49930a48bf75b0fb6f3057d2930dfec2d9ab2a GIT binary patch literal 2762 zcmdT`>06W65`P1MfFOxw6HwX0Vo{+QHVI)DA_hVN1TXt0ixCYfB1s^^6)_N5EfomM zEd@i-G^K(VBKVXgtt|mAsZfY;gMx(3K-stZa{q>Yx#!C{GiT1sJTt$UGY|28-iHtA z9|8d2FxJPD000p12mw@-!7VKH=@kGtRE+g>3rw$Cki5y)ojKko_kVjfU1Y z#)(t&Z(KE$)i1rtxu-?&VLmvP5mKkq_B7Eg`>-#iEnl{{hgm_N6K$`;&>}^CC;XfUJ+WkZ;LP8(E^lLH zN*~Uk#9ZXUMS%u+ENiZn&(1i~ZURIYp~TTx5`nAewCp(~lC@IHGK?L!l0f+{QR2Ch zGYt{2w1UnlH3U$(9XLdjc}1CPJZL!oO~w&NsdkiN9p`!>^GDk?Q^lEnz1hl^2QN>ORHs4mdvY5N=|G#ziN`|4xmj@;*R6OMKb-ILYy(iiz3?6y9iHo&obJvwg4FH}*2L7D zJr1%#_fKjIRDF1Gq;qhm@rJ{yJHc{I)ktT%xjq6`LiJFp*|oF-hL;qU`~)g-(O;p0 ziW^<>X-c&tFoTzkuR{`@SKV_1$2EZ-%t&{3{X|1V_W)B32$;|Lovnro8onAGzy)|C zGcL>Q^~ln|9r+MszWDn7^xUfj42s2O4=GG?OE6~-XSJp9+i>>ru_RPnxkXSMu&HA!>)nlb44{(%>H?h>oLk7tE7> zgdi$pws)`pvmM_ip-*k3-=0A_+pwIus(0WOWZ-G%Xy5G+RjCEOOn0r2~M6#9?t+`Sq#z5Jz5-UUP&h${wV#|>u=xD#zbojyawoNE9sNRrlO z7H;P!k0+lxmr<(1*yy`)VyxrXKF8)nqgnf-ME~g~ITp&OpLk1}U-2aGu>2%xg-G^S zemwO3?|Z!s0eRu%sWnGpvS>r~W&La4(x1=ZqC9T=b%48xp!t@Dy&4r$t#$I(!}erK zx(n*@+~lCqh2y|X74?6S|CF+VJ^Cj!WbR)+vDYbS^RrM7)G{O+?l63yuZkP)~sk0{0~7w zRZNn)f$e9`*kS{6W>1vd-{U@d5CuxaEWJI2zXZYn?I&zAe(9}u2mUKq$fS^VCcRp? zefp^B7we2FZF<5@K{ER7L5nb&eMw=q@Zz;TD<(L}!Rp3cmzmcp@f+>C5xd`aus=Bw3CK zZ;ijK^uK!aDmU!#95+Z!Q8|%M4ZAEfKal3Khyx#CT$%Oq3r$fI6|W;^fE{B3>=>Ql zZ4xKYt{bm@{Sk#}%EMhIw4)&o`SefAIj0S3+37kYmIa&vVbafZ2jjbf*mqmiQER^6(Udkqc3)i7SUi7SEAAjsb)2yK*R9KtfYdFI*n1N6;&NzkR(w^? zc2YW#Qw>zvZ=>;%qe{PB8b_d`tE4#tfzK!1$QLTtKz$B<^16CTZ#ycTbuX7JI*f__MTK0B-4HX@?a-) zSVS73jXl?IKY6)7O`4Mi*GC@2u!+LV;&3Mw=A|b}Z+d*5#FJR?Rp<@E?mbxfx3@Om z6iJQG&A7EZHh!*uht8zF=lAm7nT4z3;;Y7zo@(N)Rr4qzeF9 zlDWz~wo@99%skIGUW(oPfB?o;syiZWe^8R^FV4v(DtSuKuC>#-4O<>Eud*|*A4v#V zFvHe7VC2cikTC{STDYIvQS*%j3m9n^gEeaP8}Hsr*vjLM`|+jT!2EdC7S4_I){;yP zBBb3}U>%0o7;riJXorv^-oLmLp9w=r1a*a|v}y4Jz-jP89p};8FNI2$^^etq6d(E1D}}dFtOwTY=9?aX|L=yrTbkr@L5_rpwS(%nN=Fc z&9~NuO!m3eUCWCkraWBP4TdrdVfR}tGrii)Cmzf5R2b1W@Sn7MxEAj|@(VOYMnLY* zZgu5(E_+rb72Uokm1}}>Uyz2L4Fp~VCj-u1Y))ih&{>73bhUrcw4Y3B1C~c2fK~xG zZCwBWB~yTreFSiQqXN`MK>@st!vEd%v~tBvalOqzSXUq#C-}QYxC1>#ynRTeTa+-@ R+Qj>S#(MdAK6j7G{x6o|vl{>a literal 0 HcmV?d00001 diff --git a/app/assets/images/menuIcon.png b/app/assets/images/menuIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..ae9b91a1382a9946f89354c78c676aaf7b396ceb GIT binary patch literal 10450 zcmeI2cT^MKw#SnYAdnCO0#XDLP$>e^rAi1OO(gV=2!cvSK$<`R2}seXpwdC9p$HOs z5m6CA0jUa7e%R=sQk0_aJG|TqT~; zXJh4Og+L%|h6cLk5D4=C{fA%xEtQ`Xjlm!IIc*bd2&CpZa`y})*oOw1>k}YVeFx?t z5SSeCq@|v||4GpP=l16e{4ZzVYE0e{VA>L7e#!#U-U5$Kfj+`3zn7C4|IQePK{OykNgPCV&SA>(nximgHJa;)GrjHimQC&K*1x zr(0rv)Y=kvCD<#5KkH`g#k;q}!mk$i5~7lFi}sgZ=d>lNUvhRAH*sZ;I4u-Xc;Oz_ zz$PzL$t=~|@l=2xEvkkS0>MHIb+s)+$Cn;Mq2Q)Sl%Ee)5cDVN&+R{U21svP?u?aI zsgT~EB`@4ndBJ=0B)7@1hQA_v>Inw94d|$@PV)Kc`ZqF#gPeuwJVnP7X);&LpZaoz zNH=2AHch=-{LP5N@4hwO&+Gr?|46G(b?Y7SKXx|%z8il!z?(h2_JDt_Z)epmPuP1- zsMR6v@@h{}M$Ofp@EJ{u4Bo7!W_iDAor%R9jj)E10?)Om#q*PDs&C5^2a46UoZDQj z(5<$W*C(@AEl-?3R&q3IOxmU6m-Nfw+v^rLI@gAAhi{r5-_#@4dM_iU3_IH^^q z5L|1@*Yc>IVrk1umwz;>K>fVlKdcQBPk%CTg~c|RS%;Oi=ympj#UU4;?c!EJ=0i21 zr*4w!Cc<^}3*g%=yO$Zo3(xiR22dtb6I|h38^58I;#=!iZA9`LbCfjWQ>dcy@GEkz z6M_#jF4?gmJhn=y1R+xgR```~bCfCqTIzj~* z4M(Dlfmhyx7Z8r1-HHd4L7{I45*1z_JtB4Ro!_zk7~6f5Rq6)=Y4=p|QtACxJcBAO zxeOd^m&2&?6^{89mXN}q!;Op$FXv0-O(aN{N?^(p4n~V zb0jXA1?i`XDpCq~*5~bJj)|e9b}M(1VtbXRjPAFRE=ZZiYsbWoZqc?3H|JX(G-LF? zHFZMfHE8qbfOo_Du|@luk#Z=uZY0HgFZU|}Ub_G*+=%%~2-T-C8u*-wz|lO6?McHz z8|6pg^;9W*c**eoPEW`EJlHnV@QwYk+s-zm13yPkBj(q`?4VMw3znBHxUtu*7|H(1 zT0DTPOPF+Il}w-)Rm&e^UY@%N`|vfMNk=?63HISzGOG^u9GtPc#5f+8Qsfp3n#!}h zFkL>H(2LZ0S$K`ZDN^>zg6tJpryKjQC8ql6ys*an!+7UjBNWt|V;}ZGoDu5T#_E1R zzfpN~&S;%yp-c!$lRKksa$*~d?NRZ2hY#U>ZD_nnp6doI6bE<1)Pj6ABiM%!Jb(Zk z^y`ie051aULxW!GkA$|Jy|QN38I|^kqO5=)d@fMJsf>zvIKiYEbBk7~q-}jmJGF@u zC#IL-TUTsSpnQ&f!EW=($NSa}Sq{;suZIsye#~CoI`DO4TXZTf^3hgAKW^X%0aiFx z*oE=1(kG!Ts}|(oe4`v#=G8elc$1hY9z8YYhM3J(!6N&T;$+$6VIN$auH(Ah`JfkP z)@%@gCr*$K92j&%m@TG(qee1CbV%irunz?$H*okziIA{Rn;W=}ei7J*Gll@3)4>)1 z8FYO&06+s^Ykd|WD=LB)^5EiwE%9(**;}~zP--p%kMkLLgJkC*OoAvik~VW3nm4E; zpW%0jIa?PL2NXDr4iV?S`k zw*iT7O{4d?(7qw>k0ssif&AP%RLc1 z+TJS(g|j~k?|#g!NyeJ?A}Dcf;VA8JdP_2Z1$so8gNQ0kfvAS+0H6V|9d$zt9s$v( zw$9u6eVU&VGd9c%%i-q4w&^L6@y7$1<*UoOFmpF4koi}oa`0x+gZPW-EJ|czzYz;% zJdH=E`g9@Oz{fiI@%6cmzL1m2I9mrRV-k((V~_f6cb}laQX;1g{D>>8FxcrTE*8nH z1U08tNXR|)w>w2jLodkcerd~wNJJJq!RYyw=R)R#n$@^PnsDNHH3v!54Jjlmr7x13 zY`~wz#b{7eW)_dTJ$;DLz}+$qms$Tl6IK||Y7&Rb)zW1&cyGfJ}8|5?U{LLBW}HQuMhHU(QDX2e6*<{jY)j` zbGau{PvFuGNn*98s6FzTm!FkDzCn(DI!}+R+#x&h=h;(`XJ2B}(~6YyRq$rM zBbGcy4(q|Mph;h1H4`|4RYwHHbxrSd5;FLs2L-Y1S?IKwhtth|lI)m?!mVZE&wJ6O znt01}Tm)Le(Q{N7oBJuuDPFP5feVrNu}8@&-ja#k6N7oaj5di6YF?0pKV7@raF1Y) z+=)jZf@e&W;)lcgJvlHQH8#e$Hm5x6kBB$z3zV^CO2SV)Jy`u>_Z>;rrn#RkC(}sF zZ=xs9JfPef2``t0vX|FJ*=pew#3BzcYZR`wkDlrt=++B^3B7xECwQOy##1*=Mh%M5 zbfX8MYkSex8~W2CaI$2X(sHfE#FcS3tJo%I0t)yJ7X=_`-FV_Or8 z*xD2c=40~Dek)kw6H@Qa-kcC%^seabsFl%+aV5oXS1>-3X2z^eDA!)2DPHZMg2Mbu z2j?Y^DBxP;`t>Jkf_5w5u0e2yqqz??Ge zEy=UymzmI2$4RY}Yc4o!-4R_@sWq=5U>Ta7r}Ds}BTluY-yk9B+P9dnt01;_NjK2k zLEn)e&ih(Udx}|}3~|aNB{WQpn3huJ16zVvLb)7{syt;H37d#AO(W?m1sm%XaBllK zh%&(E9F}a%#aBzCCt~nh*E}V-MjIOqlS#xUkJKMC=}EUq>EcmHb#CsSCU+lojNwp5 zkhn)sITN(z<%*e=xZ7(@DZFl-Kr<_&V$@AxY}G_mYTVMc)_@SUet*db_t#8Xi=csv zhxut-NviMynsWA@pQUZLO8*3vq42fxYh2d+WF|x5!-)+qO0V2A=pdiDUALQ=A1Q5R zQR;*L*l|8=*|>uda(>y?OaNPH((ff*I2vi>MH-%Rws0`;T1py(%;$uJvJGyZJV!dP zyMQ+IG2_Etw@5(_JNk)Lg{1)hJNL@a!y>`7<D_To$12f6dFsBa_XG&ONYNcur@VS!XwTENK|T<)s1E~B_xs3Axk z*OeH>KkjEE+ip)&xboAMhd`!5iL(;>v_YmBkAYR z@G}Qs2y&x^5os`Y$Q3bS&Y9mD05a@YJY3ulpNboxP#_|U&~&=xL!5umTI(ja|N>`a!32DM@@yY zo;X`POf=DGL0fM#Ul_i3OLNYSYrao)I?y+w?Pp?t*0;8;i1tIaHP12kUOgX(5gF#^ z;e)lF(Id(4dH_WtCkjjZEm4mQu{Z%2f5MlHf)=MDh~x-h>Tc{DDL*cs0ilLa`vd5046*1~G`Kf9?L=j(*6$ z<}@+Vs_tO^vmXL!`5MfB=p;~`CUpOif&aErfZJ{Xx9xfZqgGeo+bp_ELqO93dEh{6 zY56Oq4jlRLwoTsHlXn3a13+Z~$eVCO$h(~&ab9)@QOT_UOPjHYKxs$GiQ-vCm*wDL zuTmg~Y^y=&5?@_|{1|B^qhs2S9mGeujq<`K#8t9y{9;p4TPm|o+HQ7vR89s1*KYln^d@JQaO#q^Wn1z}<&_D}c?} zm-oi5w99pJ7E(5R)WNQ_$F#)WI~*|A(!4EAp6&|)34*ZB%0?lyyn1*qC-m|4iR<)_G7Gx;R_;N6?qI%V5k!n_hQW+_#xH5tU}%@tK0#@&SRcdd`=b-tX) zwNtR^c(mB6>?%=kX#Mi#=gR>dTAqFAO*_N$g5?j|S8Js^rYl|sY4`~jj3^c>SB%^KFqG$jui;#q)JCO3BOre(O66^5YP&8%5>&`jemp46i$h{WIs9c zt0KT9sNYxV3QxVFa)41UN&S;p7ukx#eqgEQ7Wz}i^!0_EYd%)`=MVJ;+O*Umzn83( z2ln!_NYAF%?oq)ih&f8L^cJywpF&(X<8H&_47<83_na=NFt2p!?D$F?=JNU)Zc#(Y zygdtk*7&>23quE8+O|(H2XPrye|R2MWKmokkx(Z{EunNUYIm0-tAw+bo{%Ot)XFi?0c#?3?h_MUG9I;i4yPsiO^3)Dd+ zQ*$JdBaLfCvygeI^*JfaGacKPux0xjB%}*%R*67=E?(-=4u4+9WUwq<89&@NQpjXb zxk(!**jq%TGa0NVr3X-kJ7W7FR<;*x91Z3e!MiZPApn=dti)8B*gr?<6S(dPUYbMK z%ViFJE$)PjG!-|`#H&|BcZ*vn1XCSnl4N8gAq)p1))3u5d(V-}5DfJPcvlMYxfu%bAmsjQUe z>Hq}kbxnIkqQ*)IQo@p~l>S59WR(RiQ2Xfr z{L?W`<=O%ZWvEsSWp-Ia41enMob1!;z1D1q>Z=e*Io-ATOh{Pj5daByAyZ8{z2(C6 zlBkjd*}s7X@AffI#@(%y$6pGxM?FS^;^zcfnoP`zD1vt{C%Fe;dR~>`q2v)>*q#hX zy$YVFm?{<)%CsHOrjHN+^7(b{`b2`l=-6l#5SNDfBu+QEBIf2$}$}T-${?{{}#q7@9Dm zE(IPVg0EN#y6IM#^O*ZoRYa`yQ6n&rTY~;}0kNlLYTJ~{wW%$9{rI&}-HT*FZqS|^s z8b@V*#Y%Z{YjgkX_UkIh{N%%S%v*Ibqe0atsNlVwQ5vMo=dE+%%FX^~(5tCSb#0jG z@-9Y$MY&!i_gqG`4BlwptK0jjYc=d0FqRRah8AL~DI1E?cg}jh|P*P zp_i)V@cinI+6k;qa`Je7KL^KB;`GCGsCnosffZtzQ~v~Ce)vwyvb5#m+LPN%rS?PA zx_D}ivJ!q|>R}zREwG-cbad=C59fKl>a9B|sSpUGH~oJBl=11u&)3i>oe|S-1@hH; zb1s3;V=I34q@I)B_I3vDtA($C-ktB{Kd2ZowE(eFiFnybFcLVnjK)mAVB2B6us7@% zMtZY-x~7U^zm>lXo!xfq$HnD}jxr}+D1ZKtfR?V@WKR67J6T0ItW$d!0dl)Q7V8gG zv|l`l_pqZ)T!nJU5(eWtL(z}%fqk$uD-ubfcf38 z_dkyNHR#B(&##UjocXDtc21|@zy@=atZ_$M%eXtfK#^`ymZl2k_v?I(_JLddx&0^4K>Fqki5_(LfnQ^L2=4!b@cZ);wk+63 V7kAd3_Dtz>VW@XXw~F8r`(HRxX3GEo literal 0 HcmV?d00001 diff --git a/app/assets/images/sendIcon.png b/app/assets/images/sendIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..3ca41fadcb9cb5eca7bbb6b41ead432fd692717b GIT binary patch literal 17831 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 { } const styles = { + container: { + flex: 1, + backgroundColor: 'black' + } } diff --git a/app/screens/main/chat.js b/app/screens/main/chat.js index b388636..d44fdbd 100644 --- a/app/screens/main/chat.js +++ b/app/screens/main/chat.js @@ -6,6 +6,8 @@ import { Dimensions, View, Text, + TextInput, + Image } from 'react-native'; import { Actions @@ -19,11 +21,59 @@ export default class Chat extends Component { render() { return ( - chat + + + + + + cra + + + + + + + + ); } } const styles = { + container: { + flex: 1, + flexDirection: 'column', + justifyContent: 'flex-end', + backgroundColor: '#e8ebef' + }, + chatField: { + flex: 8 + }, + inputMsgField: { + flex: 1, + flexDirection: 'row', + alignItems: 'center', + justifyContent: 'space-between', + height: 50, + backgroundColor: 'white' + }, + iconCont: { + flex: 1, + alignItems: 'center', + justifyContent: 'center' + }, + inputCont: { + flex: 6, + alignSelf: 'flex-end' + }, + sendIcon: { + height: 30, + width: 30 + } } diff --git a/app/screens/main/navbar.js b/app/screens/main/navbar.js index 2529e44..ac41c28 100644 --- a/app/screens/main/navbar.js +++ b/app/screens/main/navbar.js @@ -6,6 +6,7 @@ import { Dimensions, View, Text, + Image } from 'react-native'; import { Actions @@ -19,12 +20,58 @@ export default class Navbar extends Component { render() { return ( - navbar + + + + + Main Chat + online + + + + ); } } const styles = { - + container: { + flex: 1, + flexDirection: 'row', + justifyContent: 'space-between', + backgroundColor: '#0e8f9e' + }, + iconCont: { + flex: 1, + alignItems: 'center', + justifyContent: 'center' + }, + menuIcon: { + height: 50, + width: 50 + }, + headerTxt: { + flex: 7, + justifyContent: 'center', + alignItems: 'center' + }, + head: { + fontSize: 20, + color: 'white' + }, + status: { + fontSize: 13, + color: 'white' + }, + inboxIcon: { + height: 40, + width: 40 + } }