From c5467401865b2ea3c5d3cd60e3b0fde870f4909f Mon Sep 17 00:00:00 2001 From: Gilmar Quinelato Date: Fri, 1 Sep 2017 16:17:53 -0300 Subject: [PATCH 1/8] Components moved to 'containers' or 'presentation' folders. Extracted some components from Message component to have less logic in component. --- .vscode/launch.json | 41 +++++ .../banner.js => containers/Banner.js} | 0 app/{components => containers}/Message.js | 42 ++---- app/{components => containers}/MessageBox.js | 0 app/containers/message/Avatar.js | 55 +++++++ app/containers/message/User.js | 55 +++++++ .../message/card.js | 46 +++--- .../KeyboardView.js | 0 app/{components => presentation}/RoomItem.js | 5 +- app/views/login.js | 2 +- app/views/room.js | 6 +- app/views/roomsList.js | 4 +- app/views/serverList.js | 2 +- app/views/serverNew.js | 2 +- yarn.lock | 142 ++++++++++++++++-- 15 files changed, 332 insertions(+), 70 deletions(-) create mode 100644 .vscode/launch.json rename app/{components/banner.js => containers/Banner.js} (100%) rename app/{components => containers}/Message.js (61%) rename app/{components => containers}/MessageBox.js (100%) create mode 100644 app/containers/message/Avatar.js create mode 100644 app/containers/message/User.js rename app/{components => containers}/message/card.js (93%) rename app/{components => presentation}/KeyboardView.js (100%) rename app/{components => presentation}/RoomItem.js (95%) diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 00000000..cad4eef1 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,41 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "Debug Android", + "program": "${workspaceRoot}/.vscode/launchReactNative.js", + "type": "reactnative", + "request": "launch", + "platform": "android", + "sourceMaps": true, + "outDir": "${workspaceRoot}/.vscode/.react" + }, + { + "name": "Debug iOS", + "program": "${workspaceRoot}/.vscode/launchReactNative.js", + "type": "reactnative", + "request": "launch", + "platform": "ios", + "target": "iPhone 6s", + "sourceMaps": true, + "outDir": "${workspaceRoot}/.vscode/.react" + }, + { + "name": "Attach to packager", + "program": "${workspaceRoot}/.vscode/launchReactNative.js", + "type": "reactnative", + "request": "attach", + "sourceMaps": true, + "outDir": "${workspaceRoot}/.vscode/.react" + }, + { + "name": "Debug in Exponent", + "program": "${workspaceRoot}/.vscode/launchReactNative.js", + "type": "reactnative", + "request": "launch", + "platform": "exponent", + "sourceMaps": true, + "outDir": "${workspaceRoot}/.vscode/.react" + } + ] +} diff --git a/app/components/banner.js b/app/containers/Banner.js similarity index 100% rename from app/components/banner.js rename to app/containers/Banner.js diff --git a/app/components/Message.js b/app/containers/Message.js similarity index 61% rename from app/components/Message.js rename to app/containers/Message.js index 6a2523fc..c8b8384e 100644 --- a/app/components/Message.js +++ b/app/containers/Message.js @@ -1,13 +1,12 @@ import React from 'react'; import PropTypes from 'prop-types'; -import { View, Text, StyleSheet } from 'react-native'; -import { CachedImage } from 'react-native-img-cache'; +import { View, StyleSheet } from 'react-native'; import { emojify } from 'react-emojione'; import Markdown from 'react-native-easy-markdown'; -import moment from 'moment'; -import avatarInitialsAndColor from '../utils/avatarInitialsAndColor'; import Card from './message/card'; +import Avatar from './message/Avatar'; +import User from './message/User'; const styles = StyleSheet.create({ content: { @@ -72,9 +71,11 @@ export default class Message extends React.PureComponent { baseUrl: PropTypes.string.isRequired, Message_TimeFormat: PropTypes.string.isRequired } + attachments() { return this.props.item.attachments.length ? : null; } + render() { const { item } = this.props; @@ -85,36 +86,15 @@ export default class Message extends React.PureComponent { const msg = emojify(item.msg, { output: 'unicode' }); - const username = item.alias || item.u.username; - - let { initials, color } = avatarInitialsAndColor(username); - - const avatar = item.avatar || `${ this.props.baseUrl }/avatar/${ item.u.username }`; - if (item.avatar) { - initials = ''; - color = 'transparent'; - } - - let aliasUsername; - if (item.alias) { - aliasUsername = @{item.u.username}; - } - - const time = moment(item.ts).format(this.props.Message_TimeFormat); - return ( - - {initials} - - + - - - {username} - - {aliasUsername}{time} - + {this.attachments()} {msg} diff --git a/app/components/MessageBox.js b/app/containers/MessageBox.js similarity index 100% rename from app/components/MessageBox.js rename to app/containers/MessageBox.js diff --git a/app/containers/message/Avatar.js b/app/containers/message/Avatar.js new file mode 100644 index 00000000..7405c940 --- /dev/null +++ b/app/containers/message/Avatar.js @@ -0,0 +1,55 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import { View, Text, StyleSheet } from 'react-native'; +import { CachedImage } from 'react-native-img-cache'; + +import avatarInitialsAndColor from '../../utils/avatarInitialsAndColor'; + +const styles = StyleSheet.create({ + avatarContainer: { + backgroundColor: '#eee', + width: 40, + height: 40, + marginRight: 10, + borderRadius: 5 + }, + avatar: { + width: 40, + height: 40, + borderRadius: 5, + position: 'absolute' + }, + avatarInitials: { + margin: 2, + textAlign: 'center', + lineHeight: 36, + fontSize: 22, + color: '#ffffff' + } +}); + +export default class Message extends React.PureComponent { + static propTypes = { + item: PropTypes.object.isRequired, + baseUrl: PropTypes.string + } + + render() { + const { item } = this.props; + + const username = item.alias || item.u.username; + + const { initials, color } = avatarInitialsAndColor(username); + + const avatar = item.avatar || `${ this.props.baseUrl }/avatar/${ item.u.username }`; + const avatarInitials = item.avatar ? '' : initials; + const avatarColor = item.avatar ? 'transparent' : color; + + return ( + + {avatarInitials} + + + ); + } +} diff --git a/app/containers/message/User.js b/app/containers/message/User.js new file mode 100644 index 00000000..c75d88a3 --- /dev/null +++ b/app/containers/message/User.js @@ -0,0 +1,55 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import { View, Text, StyleSheet } from 'react-native'; +import moment from 'moment'; + +const styles = StyleSheet.create({ + username: { + fontWeight: 'bold' + }, + usernameView: { + flexDirection: 'row', + alignItems: 'center', + marginBottom: 2 + }, + alias: { + fontSize: 10, + color: '#888', + paddingLeft: 5 + }, + time: { + fontSize: 10, + color: '#888', + paddingLeft: 5 + } +}); + +export default class Message extends React.PureComponent { + static propTypes = { + item: PropTypes.object.isRequired, + Message_TimeFormat: PropTypes.string.isRequired, + onPress: PropTypes.func + } + + render() { + const { item } = this.props; + + const extraStyle = {}; + if (item.temp) { + extraStyle.opacity = 0.3; + } + + const username = item.alias || item.u.username; + const aliasUsername = item.alias ? (@{item.u.username}) : null; + const time = moment(item.ts).format(this.props.Message_TimeFormat); + + return ( + + + {username} + + {aliasUsername}{time} + + ); + } +} diff --git a/app/components/message/card.js b/app/containers/message/card.js similarity index 93% rename from app/components/message/card.js rename to app/containers/message/card.js index c039c26d..0d71026f 100644 --- a/app/components/message/card.js +++ b/app/containers/message/card.js @@ -40,6 +40,7 @@ export default class Cards extends React.PureComponent { data: PropTypes.object.isRequired, base: PropTypes.string } + constructor() { super(); const user = Meteor.user(); @@ -48,6 +49,32 @@ export default class Cards extends React.PureComponent { this.setState({ img: `${ this.props.base }${ this.props.data.image_url }?rc_uid=${ user._id }&rc_token=${ token }` }); }); } + + getImage() { + return ( + this._onPressButton()}> + + + + + + {this.props.data.title} + {this.props.data.description} + + + + ); + } + + getOther() { + return ( + {this.props.data.title} + ); + } + _onPressButton() { Navigation.showModal({ screen: 'Photo', @@ -66,23 +93,8 @@ export default class Cards extends React.PureComponent { animationType: 'slide-up' // 'none' / 'slide-up' , appear animation for the modal (optional, default 'slide-up') }); } + render() { - return this.state.img ? ( - this._onPressButton()}> - - - - - - {this.props.data.title} - {this.props.data.description} - - - - ) : - {this.props.data.title}; + return this.state.img ? this.getImage() : this.getOther(); } } diff --git a/app/components/KeyboardView.js b/app/presentation/KeyboardView.js similarity index 100% rename from app/components/KeyboardView.js rename to app/presentation/KeyboardView.js diff --git a/app/components/RoomItem.js b/app/presentation/RoomItem.js similarity index 95% rename from app/components/RoomItem.js rename to app/presentation/RoomItem.js index 7737e03f..726a98cc 100644 --- a/app/components/RoomItem.js +++ b/app/presentation/RoomItem.js @@ -80,8 +80,9 @@ export default class RoomItem extends React.PureComponent { return null; } + const { initials, color } = avatarInitialsAndColor(name); + if (type === 'd') { - const { initials, color } = avatarInitialsAndColor(name); return ( {initials} @@ -90,8 +91,6 @@ export default class RoomItem extends React.PureComponent { ); } - const { color } = avatarInitialsAndColor(name); - return ( diff --git a/app/views/login.js b/app/views/login.js index dcb5cf98..c63e4890 100644 --- a/app/views/login.js +++ b/app/views/login.js @@ -8,7 +8,7 @@ import { connect } from 'react-redux'; import { bindActionCreators } from 'redux'; // import * as actions from '../actions'; import * as loginActions from '../actions/login'; -import KeyboardView from '../components/KeyboardView'; +import KeyboardView from '../presentation/KeyboardView'; // import { Keyboard } from 'react-native' const styles = StyleSheet.create({ diff --git a/app/views/room.js b/app/views/room.js index 2f0e0a29..b1aab7bd 100644 --- a/app/views/room.js +++ b/app/views/room.js @@ -10,9 +10,9 @@ import { messagesRequest } from '../actions/messages'; import realm from '../lib/realm'; import RocketChat from '../lib/rocketchat'; import debounce from '../utils/throttle'; -import Message from '../components/Message'; -import MessageBox from '../components/MessageBox'; -import KeyboardView from '../components/KeyboardView'; +import Message from '../containers/Message'; +import MessageBox from '../containers/MessageBox'; +import KeyboardView from '../presentation/KeyboardView'; const ds = new ListView.DataSource({ rowHasChanged: (r1, r2) => r1 !== r2 }); const styles = StyleSheet.create({ diff --git a/app/views/roomsList.js b/app/views/roomsList.js index 5eb9b824..d137a657 100644 --- a/app/views/roomsList.js +++ b/app/views/roomsList.js @@ -9,8 +9,8 @@ import * as actions from '../actions'; import * as server from '../actions/connect'; import realm from '../lib/realm'; import RocketChat from '../lib/rocketchat'; -import RoomItem from '../components/RoomItem'; -import Banner from '../components/banner'; +import RoomItem from '../presentation/RoomItem'; +import Banner from '../containers/Banner'; const styles = StyleSheet.create({ container: { diff --git a/app/views/serverList.js b/app/views/serverList.js index ec04b22c..497ac73c 100644 --- a/app/views/serverList.js +++ b/app/views/serverList.js @@ -9,7 +9,7 @@ import { connect } from 'react-redux'; import { setServer } from '../actions/server'; import realm from '../lib/realm'; import Fade from '../animations/fade'; -import Banner from '../components/banner'; +import Banner from '../containers/Banner'; const styles = StyleSheet.create({ view: { diff --git a/app/views/serverNew.js b/app/views/serverNew.js index e4eae9fd..faff9828 100644 --- a/app/views/serverNew.js +++ b/app/views/serverNew.js @@ -5,7 +5,7 @@ import { Text, TextInput, View, StyleSheet } from 'react-native'; import _ from 'underscore'; import realm from '../lib/realm'; -import KeyboardView from '../components/KeyboardView'; +import KeyboardView from '../presentation/KeyboardView'; const styles = StyleSheet.create({ view: { diff --git a/yarn.lock b/yarn.lock index bf786132..9cad8665 100644 --- a/yarn.lock +++ b/yarn.lock @@ -19,6 +19,15 @@ dependencies: "@storybook/addons" "^3.2.0" +"@storybook/addon-storyshots@^3.2.6": + version "3.2.8" + resolved "https://registry.yarnpkg.com/@storybook/addon-storyshots/-/addon-storyshots-3.2.8.tgz#f6e9aa6c99a9f437042da49123c0dc75fe51b90f" + dependencies: + babel-runtime "^6.23.0" + global "^4.3.2" + prop-types "^15.5.10" + read-pkg-up "^2.0.0" + "@storybook/addons@^3.2.0": version "3.2.0" resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-3.2.0.tgz#e1446cc5613af179701673276267cee71859bf41" @@ -214,7 +223,7 @@ amdefine@>=0.0.4: version "1.0.1" resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" -ansi-escapes@^1.4.0: +ansi-escapes@^1.1.0, ansi-escapes@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" @@ -278,6 +287,10 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" +argv@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/argv/-/argv-0.0.2.tgz#ecbd16f8949b157183711b1bda334f37840185ab" + aria-query@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-0.7.0.tgz#4af10a1e61573ddea0cf3b99b51c52c05b424d24" @@ -1072,7 +1085,15 @@ babel-plugin-transform-strict-mode@^6.24.1: babel-runtime "^6.22.0" babel-types "^6.24.1" -babel-polyfill@^6.20.0, babel-polyfill@^6.23.0: +babel-polyfill@6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.23.0.tgz#8364ca62df8eafb830499f699177466c3b03499d" + dependencies: + babel-runtime "^6.22.0" + core-js "^2.4.0" + regenerator-runtime "^0.10.0" + +babel-polyfill@^6.20.0, babel-polyfill@^6.23.0, babel-polyfill@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.26.0.tgz#379937abc67d7895970adc621f284cd966cf2153" dependencies: @@ -1684,7 +1705,7 @@ chain-function@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/chain-function/-/chain-function-1.0.0.tgz#0d4ab37e7e18ead0bdc47b920764118ce58733dc" -chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: +chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" dependencies: @@ -1794,6 +1815,14 @@ code-point-at@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" +codecov@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/codecov/-/codecov-2.3.0.tgz#ad25a2c6e0442d13740d9d4ddbb9a3e2714330f4" + dependencies: + argv "0.0.2" + request "2.81.0" + urlgrey "0.4.4" + color-convert@^1.3.0, color-convert@^1.9.0: version "1.9.0" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a" @@ -2819,7 +2848,7 @@ extend@~3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" -external-editor@^2.0.4: +external-editor@^2.0.1, external-editor@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.0.4.tgz#1ed9199da9cbfe2ef2f7a31b2fde8b0d12368972" dependencies: @@ -3495,6 +3524,24 @@ inline-style-prefixer@^3.0.6: bowser "^1.6.0" css-in-js-utils "^1.0.3" +inquirer@3.0.6: + version "3.0.6" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.0.6.tgz#e04aaa9d05b7a3cb9b0f407d04375f0447190347" + dependencies: + ansi-escapes "^1.1.0" + chalk "^1.0.0" + cli-cursor "^2.1.0" + cli-width "^2.0.0" + external-editor "^2.0.1" + figures "^2.0.0" + lodash "^4.3.0" + mute-stream "0.0.7" + run-async "^2.2.0" + rx "^4.1.0" + string-width "^2.0.0" + strip-ansi "^3.0.0" + through "^2.3.6" + inquirer@^3.0.6: version "3.2.1" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.2.1.tgz#06ceb0f540f45ca548c17d6840959878265fa175" @@ -4275,6 +4322,10 @@ lodash.isarray@^3.0.0: version "3.0.4" resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" +lodash.isequal@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" + lodash.keys@^3.0.0, lodash.keys@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" @@ -4557,7 +4608,7 @@ minimist@0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" -minimist@^1.1.0, minimist@^1.1.1, minimist@^1.2.0: +minimist@1.2.0, minimist@^1.1.0, minimist@^1.1.1, minimist@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" @@ -4585,10 +4636,20 @@ mkdirp@0.5.0: dependencies: minimist "0.0.8" +mobx-react@^4.2.1: + version "4.2.2" + resolved "https://registry.yarnpkg.com/mobx-react/-/mobx-react-4.2.2.tgz#db9cc3cafefbd830d0584c1149af5aae67829201" + dependencies: + hoist-non-react-statics "^1.2.0" + mobx@^2.3.4: version "2.7.0" resolved "https://registry.yarnpkg.com/mobx/-/mobx-2.7.0.tgz#cf3d82d18c0ca7f458d8f2a240817b3dc7e54a01" +mobx@^3.1.16: + version "3.2.2" + resolved "https://registry.yarnpkg.com/mobx/-/mobx-3.2.2.tgz#aa671459bededfd9880c948889a3f62bce09279c" + moment@^2.18.1: version "2.18.1" resolved "https://registry.yarnpkg.com/moment/-/moment-2.18.1.tgz#c36193dd3ce1c2eed2adb7c802dbbc77a81b1c0f" @@ -4648,6 +4709,13 @@ negotiator@0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" +node-fetch@1.6.3: + version "1.6.3" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.6.3.tgz#dc234edd6489982d58e8f0db4f695029abcd8c04" + dependencies: + encoding "^0.1.11" + is-stream "^1.0.1" + node-fetch@^1.0.1, node-fetch@^1.3.3, node-fetch@^1.6.3: version "1.7.2" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.2.tgz#c54e9aac57e432875233525f3c891c4159ffefd7" @@ -4825,6 +4893,24 @@ onetime@^2.0.0: dependencies: mimic-fn "^1.0.0" +opencollective@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/opencollective/-/opencollective-1.0.3.tgz#aee6372bc28144583690c3ca8daecfc120dd0ef1" + dependencies: + 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" + +opn@4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/opn/-/opn-4.0.2.tgz#7abc22e644dff63b0a96d5ab7f2790c0f01abc95" + dependencies: + object-assign "^4.0.1" + pinkie-promise "^2.0.0" + opn@^3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/opn/-/opn-3.0.3.tgz#b6d99e7399f78d65c3baaffef1fb288e9b85243a" @@ -5649,6 +5735,12 @@ react-native-autogrow-textinput@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/react-native-autogrow-textinput/-/react-native-autogrow-textinput-4.1.0.tgz#a7e5b17eb3c16ab08e31bbfb88d92488ed87f276" +react-native-button@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/react-native-button/-/react-native-button-2.1.0.tgz#a39e23292922afeea4f7be141dd43e18f1b51876" + dependencies: + prop-types "^15.5.10" + react-native-card-view@0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/react-native-card-view/-/react-native-card-view-0.0.3.tgz#8db9ac4a3f01d08f8bd9f79343082d87fdf09907" @@ -5704,6 +5796,14 @@ react-native-img-cache@^1.4.0: dependencies: crypto-js "^3.1.9-1" +react-native-loader@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/react-native-loader/-/react-native-loader-1.1.0.tgz#9e87e88d5b0a03a26b28591b23da73408a189e47" + +react-native-loading-spinner-overlay@^0.5.1: + version "0.5.2" + resolved "https://registry.yarnpkg.com/react-native-loading-spinner-overlay/-/react-native-loading-spinner-overlay-0.5.2.tgz#b7bcd277476d596615fd7feee601789f9bdc7acc" + react-native-meteor@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/react-native-meteor/-/react-native-meteor-1.1.0.tgz#55a91efe2d466d3a8cceb5b5419799aeedcd6756" @@ -5729,6 +5829,18 @@ react-native-optimized-flatlist@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/react-native-optimized-flatlist/-/react-native-optimized-flatlist-1.0.1.tgz#dbee82f208b48bef23c6cb26f1d5f3ac58e675b2" +react-native-router-flux@^4.0.0-beta.18: + version "4.0.0-beta.21" + resolved "https://registry.yarnpkg.com/react-native-router-flux/-/react-native-router-flux-4.0.0-beta.21.tgz#cdbb3cec5b18fab0ffdb8abf38ce790749f625d0" + dependencies: + lodash.isequal "^4.5.0" + mobx "^3.1.16" + mobx-react "^4.2.1" + opencollective "^1.0.3" + prop-types "^15.5.10" + react-native-button "^2.0.0" + react-navigation "^1.0.0-beta.11" + react-native-svg-image@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/react-native-svg-image/-/react-native-svg-image-1.1.4.tgz#4c7af4edb5ec5146e1e47c5d2af211dd0528415c" @@ -6064,9 +6176,9 @@ redux-logger@^3.0.6: dependencies: deep-diff "^0.3.5" -redux-thunk@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-2.2.0.tgz#e615a16e16b47a19a515766133d1e3e99b7852e5" +redux-saga@^0.15.6: + version "0.15.6" + resolved "https://registry.yarnpkg.com/redux-saga/-/redux-saga-0.15.6.tgz#8638dc522de6c6c0a496fe8b2b5466287ac2dc4d" redux@^3.6.0, redux@^3.7.2: version "3.7.2" @@ -6081,7 +6193,7 @@ regenerate@^1.2.1: version "1.3.2" resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260" -regenerator-runtime@^0.10.5: +regenerator-runtime@^0.10.0, regenerator-runtime@^0.10.5: version "0.10.5" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658" @@ -6156,7 +6268,7 @@ replace-ext@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924" -request@^2.78.0, request@^2.79.0, request@^2.81.0: +request@2.81.0, request@^2.78.0, request@^2.79.0, request@^2.81.0: version "2.81.0" resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" dependencies: @@ -6277,6 +6389,10 @@ rx-lite@*, rx-lite@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" +rx@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782" + safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" @@ -7001,6 +7117,10 @@ url@^0.11.0: punycode "1.3.2" querystring "0.2.0" +urlgrey@0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/urlgrey/-/urlgrey-0.4.4.tgz#892fe95960805e85519f1cd4389f2cb4cbb7652f" + util-deprecate@1.0.2, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" @@ -7417,4 +7537,4 @@ yauzl@2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.4.1.tgz#9528f442dab1b2284e58b4379bb194e22e0c4005" dependencies: - fd-slicer "~1.0.1" \ No newline at end of file + fd-slicer "~1.0.1" From e6e1c2595654fa939ad80fc68764e915ca10d4f9 Mon Sep 17 00:00:00 2001 From: Gilmar Quinelato Date: Fri, 1 Sep 2017 16:21:08 -0300 Subject: [PATCH 2/8] Removing duplicated code. --- app/containers/Message.js | 44 --------------------------------------- 1 file changed, 44 deletions(-) diff --git a/app/containers/Message.js b/app/containers/Message.js index c8b8384e..39bd6576 100644 --- a/app/containers/Message.js +++ b/app/containers/Message.js @@ -18,50 +18,6 @@ const styles = StyleSheet.create({ paddingBottom: 6, flexDirection: 'row', transform: [{ scaleY: -1 }] - }, - avatarContainer: { - backgroundColor: '#eee', - width: 40, - height: 40, - marginRight: 10, - borderRadius: 5 - }, - avatar: { - width: 40, - height: 40, - borderRadius: 5, - position: 'absolute' - }, - avatarInitials: { - margin: 2, - textAlign: 'center', - lineHeight: 36, - fontSize: 22, - color: '#ffffff' - }, - texts: { - flex: 1 - }, - msg: { - flex: 1 - }, - username: { - fontWeight: 'bold' - }, - usernameView: { - flexDirection: 'row', - alignItems: 'center', - marginBottom: 2 - }, - alias: { - fontSize: 10, - color: '#888', - paddingLeft: 5 - }, - time: { - fontSize: 10, - color: '#888', - paddingLeft: 5 } }); From 1ed35eaf5e6498e1b5057cbe275f051692dabd7e Mon Sep 17 00:00:00 2001 From: Gilmar Quinelato Date: Fri, 1 Sep 2017 16:32:07 -0300 Subject: [PATCH 3/8] Fix missing file. --- storybook/stories/Channels/DirectMessage.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/storybook/stories/Channels/DirectMessage.js b/storybook/stories/Channels/DirectMessage.js index 3aacd7c1..8ca1c0d0 100644 --- a/storybook/stories/Channels/DirectMessage.js +++ b/storybook/stories/Channels/DirectMessage.js @@ -1,7 +1,7 @@ import React from 'react'; import { ScrollView } from 'react-native'; -import RoomItem from '../../../app/components/RoomItem'; +import RoomItem from '../../../app/presentation/RoomItem'; export default ( From 9d8b239e49630e7bbb53fc1dd50efa9f1c623282 Mon Sep 17 00:00:00 2001 From: Gilmar Quinelato Date: Fri, 1 Sep 2017 16:40:55 -0300 Subject: [PATCH 4/8] Fix import file on test. --- __tests__/RoomItem.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/__tests__/RoomItem.js b/__tests__/RoomItem.js index 1244a443..fbc92f2d 100644 --- a/__tests__/RoomItem.js +++ b/__tests__/RoomItem.js @@ -1,6 +1,6 @@ import 'react-native'; import React from 'react'; -import RoomItem from '../app/components/RoomItem'; +import RoomItem from '../app/presentation/RoomItem'; // Note: test renderer must be required after react-native. import renderer from 'react-test-renderer'; From 6ac45fc62068ac825e7be6d71c0fb2e1f445504e Mon Sep 17 00:00:00 2001 From: Gilmar Quinelato Date: Fri, 1 Sep 2017 17:20:34 -0300 Subject: [PATCH 5/8] Fixing merge from 'develop'. --- app/containers/{message => }/Avatar.js | 49 ++++++---- app/containers/Message.js | 2 +- app/presentation/RoomItem.js | 4 +- storybook/stories/Avatar.js | 2 +- yarn.lock | 127 ++----------------------- 5 files changed, 45 insertions(+), 139 deletions(-) rename app/containers/{message => }/Avatar.js (50%) diff --git a/app/containers/message/Avatar.js b/app/containers/Avatar.js similarity index 50% rename from app/containers/message/Avatar.js rename to app/containers/Avatar.js index 8490cdfa..28622fde 100644 --- a/app/containers/message/Avatar.js +++ b/app/containers/Avatar.js @@ -2,7 +2,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import { StyleSheet, Text, View } from 'react-native'; import { CachedImage } from 'react-native-img-cache'; -import avatarInitialsAndColor from '../../utils/avatarInitialsAndColor'; +import avatarInitialsAndColor from '../utils/avatarInitialsAndColor'; const styles = StyleSheet.create({ iconContainer: { @@ -20,25 +20,38 @@ const styles = StyleSheet.create({ class Avatar extends React.PureComponent { render() { - const { text = '', size = 25, baseUrl = this.props.baseUrl, - borderRadius = 5, style, avatar } = this.props; + const { text = '', size = 25, baseUrl, borderRadius = 5, style, avatar } = this.props; const { initials, color } = avatarInitialsAndColor(`${ text }`); + + const iconContainerStyle = { + backgroundColor: color, + width: size, + height: size, + borderRadius + }; + + const avatarInitialsStyle = { + fontSize: size / 2 + }; + + const avatarStyle = { + width: size, + height: size + }; + + const uri = avatar || `${ baseUrl }/avatar/${ text }`; + + const image = (avatar || baseUrl) && ( + + ); + return ( - - {initials} - {(avatar || baseUrl) && } + + {initials} + {image} ); } } diff --git a/app/containers/Message.js b/app/containers/Message.js index 57f72ceb..2158244c 100644 --- a/app/containers/Message.js +++ b/app/containers/Message.js @@ -5,7 +5,7 @@ import { emojify } from 'react-emojione'; import Markdown from 'react-native-easy-markdown'; import Card from './message/Card'; -import Avatar from './message/Avatar'; +import Avatar from './Avatar'; import User from './message/User'; const styles = StyleSheet.create({ diff --git a/app/presentation/RoomItem.js b/app/presentation/RoomItem.js index a1766e1f..de65d424 100644 --- a/app/presentation/RoomItem.js +++ b/app/presentation/RoomItem.js @@ -2,7 +2,7 @@ import React from 'react'; import MaterialCommunityIcons from 'react-native-vector-icons/MaterialCommunityIcons'; import PropTypes from 'prop-types'; import { View, Text, StyleSheet, TouchableOpacity } from 'react-native'; -import Avatar from './avatar'; +import Avatar from '../containers/Avatar'; import avatarInitialsAndColor from '../utils/avatarInitialsAndColor'; const styles = StyleSheet.create({ @@ -79,7 +79,7 @@ export default class RoomItem extends React.PureComponent { return null; } - const { initials, color } = avatarInitialsAndColor(name); + const { color } = avatarInitialsAndColor(name); if (type === 'd') { return ( diff --git a/storybook/stories/Avatar.js b/storybook/stories/Avatar.js index 204a38bd..40850c51 100644 --- a/storybook/stories/Avatar.js +++ b/storybook/stories/Avatar.js @@ -1,7 +1,7 @@ import React from 'react'; import { ScrollView } from 'react-native'; -import Avatar from '../../app/components/avatar'; +import Avatar from '../../app/containers/Avatar'; export default ( diff --git a/yarn.lock b/yarn.lock index 9cad8665..3ee65ac6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -223,7 +223,7 @@ amdefine@>=0.0.4: version "1.0.1" resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" -ansi-escapes@^1.1.0, ansi-escapes@^1.4.0: +ansi-escapes@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" @@ -1085,14 +1085,6 @@ babel-plugin-transform-strict-mode@^6.24.1: babel-runtime "^6.22.0" babel-types "^6.24.1" -babel-polyfill@6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.23.0.tgz#8364ca62df8eafb830499f699177466c3b03499d" - dependencies: - babel-runtime "^6.22.0" - core-js "^2.4.0" - regenerator-runtime "^0.10.0" - babel-polyfill@^6.20.0, babel-polyfill@^6.23.0, babel-polyfill@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.26.0.tgz#379937abc67d7895970adc621f284cd966cf2153" @@ -1705,7 +1697,7 @@ chain-function@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/chain-function/-/chain-function-1.0.0.tgz#0d4ab37e7e18ead0bdc47b920764118ce58733dc" -chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: +chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" dependencies: @@ -2848,7 +2840,7 @@ extend@~3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" -external-editor@^2.0.1, external-editor@^2.0.4: +external-editor@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.0.4.tgz#1ed9199da9cbfe2ef2f7a31b2fde8b0d12368972" dependencies: @@ -3524,24 +3516,6 @@ inline-style-prefixer@^3.0.6: bowser "^1.6.0" css-in-js-utils "^1.0.3" -inquirer@3.0.6: - version "3.0.6" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.0.6.tgz#e04aaa9d05b7a3cb9b0f407d04375f0447190347" - dependencies: - ansi-escapes "^1.1.0" - chalk "^1.0.0" - cli-cursor "^2.1.0" - cli-width "^2.0.0" - external-editor "^2.0.1" - figures "^2.0.0" - lodash "^4.3.0" - mute-stream "0.0.7" - run-async "^2.2.0" - rx "^4.1.0" - string-width "^2.0.0" - strip-ansi "^3.0.0" - through "^2.3.6" - inquirer@^3.0.6: version "3.2.1" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.2.1.tgz#06ceb0f540f45ca548c17d6840959878265fa175" @@ -4322,10 +4296,6 @@ lodash.isarray@^3.0.0: version "3.0.4" resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" -lodash.isequal@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" - lodash.keys@^3.0.0, lodash.keys@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" @@ -4608,7 +4578,7 @@ minimist@0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" -minimist@1.2.0, minimist@^1.1.0, minimist@^1.1.1, minimist@^1.2.0: +minimist@^1.1.0, minimist@^1.1.1, minimist@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" @@ -4636,20 +4606,10 @@ mkdirp@0.5.0: dependencies: minimist "0.0.8" -mobx-react@^4.2.1: - version "4.2.2" - resolved "https://registry.yarnpkg.com/mobx-react/-/mobx-react-4.2.2.tgz#db9cc3cafefbd830d0584c1149af5aae67829201" - dependencies: - hoist-non-react-statics "^1.2.0" - mobx@^2.3.4: version "2.7.0" resolved "https://registry.yarnpkg.com/mobx/-/mobx-2.7.0.tgz#cf3d82d18c0ca7f458d8f2a240817b3dc7e54a01" -mobx@^3.1.16: - version "3.2.2" - resolved "https://registry.yarnpkg.com/mobx/-/mobx-3.2.2.tgz#aa671459bededfd9880c948889a3f62bce09279c" - moment@^2.18.1: version "2.18.1" resolved "https://registry.yarnpkg.com/moment/-/moment-2.18.1.tgz#c36193dd3ce1c2eed2adb7c802dbbc77a81b1c0f" @@ -4709,13 +4669,6 @@ negotiator@0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" -node-fetch@1.6.3: - version "1.6.3" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.6.3.tgz#dc234edd6489982d58e8f0db4f695029abcd8c04" - dependencies: - encoding "^0.1.11" - is-stream "^1.0.1" - node-fetch@^1.0.1, node-fetch@^1.3.3, node-fetch@^1.6.3: version "1.7.2" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.2.tgz#c54e9aac57e432875233525f3c891c4159ffefd7" @@ -4893,24 +4846,6 @@ onetime@^2.0.0: dependencies: mimic-fn "^1.0.0" -opencollective@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/opencollective/-/opencollective-1.0.3.tgz#aee6372bc28144583690c3ca8daecfc120dd0ef1" - dependencies: - 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" - -opn@4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/opn/-/opn-4.0.2.tgz#7abc22e644dff63b0a96d5ab7f2790c0f01abc95" - dependencies: - object-assign "^4.0.1" - pinkie-promise "^2.0.0" - opn@^3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/opn/-/opn-3.0.3.tgz#b6d99e7399f78d65c3baaffef1fb288e9b85243a" @@ -5721,23 +5656,9 @@ react-native-action-button@^2.7.2: dependencies: prop-types "^15.5.10" -react-native-auto-grow-textinput@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/react-native-auto-grow-textinput/-/react-native-auto-grow-textinput-1.2.0.tgz#575f2e0fc2c49dbd4fa7fd91ba9f82bdf3409b0c" - -react-native-autogrow-input@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/react-native-autogrow-input/-/react-native-autogrow-input-0.2.1.tgz#4b0fb440b570efdedfde32666036db666d3ac4ec" - dependencies: - prop-types "^15.5.10" - -react-native-autogrow-textinput@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/react-native-autogrow-textinput/-/react-native-autogrow-textinput-4.1.0.tgz#a7e5b17eb3c16ab08e31bbfb88d92488ed87f276" - -react-native-button@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/react-native-button/-/react-native-button-2.1.0.tgz#a39e23292922afeea4f7be141dd43e18f1b51876" +react-native-animatable@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/react-native-animatable/-/react-native-animatable-1.2.3.tgz#d0f0bd694833b934f3aaa1275739228b786ecb4b" dependencies: prop-types "^15.5.10" @@ -5749,10 +5670,6 @@ react-native-compat@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/react-native-compat/-/react-native-compat-0.0.2.tgz#5d7642f3d53ad324a025893be3c66d16a01cda23" -react-native-console-time-polyfill@0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/react-native-console-time-polyfill/-/react-native-console-time-polyfill-0.0.6.tgz#7823d86fe83439c74480d1b124a92b1a78571889" - react-native-dismiss-keyboard@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/react-native-dismiss-keyboard/-/react-native-dismiss-keyboard-1.0.0.tgz#32886242b3f2317e121f3aeb9b0a585e2b879b49" @@ -5782,11 +5699,7 @@ react-native-fetch-blob@^0.10.8: base-64 "0.1.0" glob "7.0.6" -react-native-form-generator@^0.9.9: - version "0.9.9" - resolved "https://registry.yarnpkg.com/react-native-form-generator/-/react-native-form-generator-0.9.9.tgz#68aae26d1e8dc3e30073ccd7bb298fbdfdce1bca" - -react-native-image-picker@^0.26.3: +react-native-image-picker@^0.26.4: version "0.26.4" resolved "https://registry.yarnpkg.com/react-native-image-picker/-/react-native-image-picker-0.26.4.tgz#e53b0564bef44cb3c96ff81594e1e874daa1f0b3" @@ -5796,11 +5709,7 @@ react-native-img-cache@^1.4.0: dependencies: crypto-js "^3.1.9-1" -react-native-loader@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/react-native-loader/-/react-native-loader-1.1.0.tgz#9e87e88d5b0a03a26b28591b23da73408a189e47" - -react-native-loading-spinner-overlay@^0.5.1: +react-native-loading-spinner-overlay@^0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/react-native-loading-spinner-overlay/-/react-native-loading-spinner-overlay-0.5.2.tgz#b7bcd277476d596615fd7feee601789f9bdc7acc" @@ -5829,18 +5738,6 @@ react-native-optimized-flatlist@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/react-native-optimized-flatlist/-/react-native-optimized-flatlist-1.0.1.tgz#dbee82f208b48bef23c6cb26f1d5f3ac58e675b2" -react-native-router-flux@^4.0.0-beta.18: - version "4.0.0-beta.21" - resolved "https://registry.yarnpkg.com/react-native-router-flux/-/react-native-router-flux-4.0.0-beta.21.tgz#cdbb3cec5b18fab0ffdb8abf38ce790749f625d0" - dependencies: - lodash.isequal "^4.5.0" - mobx "^3.1.16" - mobx-react "^4.2.1" - opencollective "^1.0.3" - prop-types "^15.5.10" - react-native-button "^2.0.0" - react-navigation "^1.0.0-beta.11" - react-native-svg-image@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/react-native-svg-image/-/react-native-svg-image-1.1.4.tgz#4c7af4edb5ec5146e1e47c5d2af211dd0528415c" @@ -6193,7 +6090,7 @@ regenerate@^1.2.1: version "1.3.2" resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260" -regenerator-runtime@^0.10.0, regenerator-runtime@^0.10.5: +regenerator-runtime@^0.10.5: version "0.10.5" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658" @@ -6389,10 +6286,6 @@ rx-lite@*, rx-lite@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" -rx@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782" - safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" From 0e3c364196bedb4b4d40db539a0ff2d7a5cbd359 Mon Sep 17 00:00:00 2001 From: Gilmar Quinelato Date: Fri, 1 Sep 2017 18:24:11 -0300 Subject: [PATCH 6/8] Force Travis to run on right commit. --- app/containers/Avatar.js | 1 - 1 file changed, 1 deletion(-) diff --git a/app/containers/Avatar.js b/app/containers/Avatar.js index 28622fde..fb7c19f5 100644 --- a/app/containers/Avatar.js +++ b/app/containers/Avatar.js @@ -40,7 +40,6 @@ class Avatar extends React.PureComponent { }; const uri = avatar || `${ baseUrl }/avatar/${ text }`; - const image = (avatar || baseUrl) && ( Date: Sat, 2 Sep 2017 14:21:05 -0300 Subject: [PATCH 7/8] Rename card.js to Card.js --- app/containers/message/{card.js => Card.js} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename app/containers/message/{card.js => Card.js} (100%) diff --git a/app/containers/message/card.js b/app/containers/message/Card.js similarity index 100% rename from app/containers/message/card.js rename to app/containers/message/Card.js From 7985c349d9967326a8ce2d027b3b3ceccb87744b Mon Sep 17 00:00:00 2001 From: Gilmar Quinelato Date: Mon, 4 Sep 2017 14:15:18 -0300 Subject: [PATCH 8/8] Removing and ignoring .vscode folder --- .gitignore | 2 ++ .vscode/launch.json | 41 ----------------------------------------- 2 files changed, 2 insertions(+), 41 deletions(-) delete mode 100644 .vscode/launch.json diff --git a/.gitignore b/.gitignore index 5b8a7f05..3762b246 100644 --- a/.gitignore +++ b/.gitignore @@ -55,3 +55,5 @@ fastlane/Preview.html fastlane/screenshots coverage + +.vscode/ diff --git a/.vscode/launch.json b/.vscode/launch.json deleted file mode 100644 index cad4eef1..00000000 --- a/.vscode/launch.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "version": "0.2.0", - "configurations": [ - { - "name": "Debug Android", - "program": "${workspaceRoot}/.vscode/launchReactNative.js", - "type": "reactnative", - "request": "launch", - "platform": "android", - "sourceMaps": true, - "outDir": "${workspaceRoot}/.vscode/.react" - }, - { - "name": "Debug iOS", - "program": "${workspaceRoot}/.vscode/launchReactNative.js", - "type": "reactnative", - "request": "launch", - "platform": "ios", - "target": "iPhone 6s", - "sourceMaps": true, - "outDir": "${workspaceRoot}/.vscode/.react" - }, - { - "name": "Attach to packager", - "program": "${workspaceRoot}/.vscode/launchReactNative.js", - "type": "reactnative", - "request": "attach", - "sourceMaps": true, - "outDir": "${workspaceRoot}/.vscode/.react" - }, - { - "name": "Debug in Exponent", - "program": "${workspaceRoot}/.vscode/launchReactNative.js", - "type": "reactnative", - "request": "launch", - "platform": "exponent", - "sourceMaps": true, - "outDir": "${workspaceRoot}/.vscode/.react" - } - ] -}